Makefile: Tweak indentation.
[gnulib.git] / ChangeLog
1 2011-11-13  Bruno Haible  <bruno@clisp.org>
2
3         Makefile: Tweak indentation.
4         * Makefile: Use tab as first character in every line that contains rule
5         commands.
6
7 2011-11-13  Bruno Haible  <bruno@clisp.org>
8
9         Syntax check for copyright statements.
10         * check-copyright: New file.
11         * Makefile (sc_check_copyright): New rule.
12
13 2011-11-13  Simon Josefsson  <simon@josefsson.org>
14
15         * build-aux/git-version-gen: Add --prefix to configure the tag
16         match string.
17
18 2011-11-13  Simon Josefsson  <simon@josefsson.org>
19
20         * build-aux/git-version-gen: Add --help and --version.
21
22 2011-11-12  Jim Meyering  <meyering@redhat.com>
23
24         revamp the other test-exclude?.sh scripts to use init.sh, too
25         * tests/test-exclude1.sh: Use init.sh.
26         * tests/test-exclude2.sh: Likewise.
27         * tests/test-exclude3.sh: Likewise.
28         * tests/test-exclude4.sh: Likewise.
29         * tests/test-exclude5.sh: Likewise.
30         * tests/test-exclude6.sh: Likewise.
31         * tests/test-exclude7.sh: Likewise.
32         * tests/test-exclude8.sh: Likewise.
33         * modules/exclude-tests (Files): List init.sh.
34
35         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
36         These shell scripts ignored failure of the binary test-exclude,
37         so making the latter return 77 didn't cause them to be skipped.
38         * tests/test-exclude5.sh: Exit with test-exclude's error status
39         when that program fails.  Revamp to use init.sh.
40         * tests/test-exclude2.sh: Likewise.
41
42         test-exclude: fix a typo
43         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
44
45 2011-11-11  Bruno Haible  <bruno@clisp.org>
46
47         obstack: Fix compilation error on MSVC 9.
48         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
49
50 2011-11-11  Jim Meyering  <meyering@redhat.com>
51
52         test-exclude: skip tests rather than failing on deficient systems
53         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
54         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
55         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
56         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
57
58 2011-11-10  Bruno Haible  <bruno@clisp.org>
59
60         ptsname_r test: Avoid gcc warning on glibc systems.
61         * tests/test-ptsname_r.c (null_ptr): New function.
62         (test_errors): Use it.
63
64 2011-11-10  Bruno Haible  <bruno@clisp.org>
65
66         ptsname_r: Avoid compilation error on OSF/1 5.1.
67         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
68         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
69         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
70         function is not declared or incompatibly declared.
71         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
72         * modules/ptsname_r (Depends-on, configure.ac): Update.
73         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
74
75 2011-11-10  Bruno Haible  <bruno@clisp.org>
76
77         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
78         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
79         When cross-compiling, guess yes on all platforms except AIX.
80         Reported by Ludovic Courtès <ludo@gnu.org>.
81
82 2011-11-09  Bruno Haible  <bruno@clisp.org>
83
84         ptsname_r tests: Fix bugs.
85         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
86         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
87
88 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
89
90         fstatat: work with cross-compilation
91         Problem reported by Ludovic Courtès in
92         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
93         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
94         "cross-compiling" and assume the bug is present.  Replace
95         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
96         an inverted sense, to be more conservative about our assumptions.
97         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
98
99 2011-11-09  Bruno Haible  <bruno@clisp.org>
100
101         Improve MODULES.html output.
102         * modules/mkfifoat (Description): Use the word "function".
103         * modules/readlinkat (Description): Likewise.
104         * modules/symlinkat (Description): Likewise.
105
106 2011-11-09  Eric Blake  <eblake@redhat.com>
107
108         ptsname_r-tests: new test module
109         * modules/ptsname_r-tests: New module.
110         * tests/test-ptsname_r.c: New file.
111
112         ptsname_r: new module
113         * modules/ptsname_r: New module.
114         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
115         * lib/ptsname.c (__ptsname_r): Split...
116         * lib/ptsname_r.c: ...into new file.
117         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
118         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
119         * modules/stdlib (Makefile.am): Substitute witnesses.
120         * lib/stdlib.in.h (ptsname_r): Declare it.
121         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
122         * MODULES.html.sh (Misc): Likewise.
123         * modules/ptsname (Depends-on): Alter dependency.
124         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
125
126 2011-11-09  Jim Meyering  <meyering@redhat.com>
127
128         announce-gen: be more concise when there's only one URL+tarball
129         * build-aux/announce-gen (get_tool_versions): When you distribute
130         only one type of tarball, combine the first two "Here are..."
131         sections and make the key-checking grammar independent of
132         how many tarballs there are.
133
134 2011-11-09  Eric Blake  <eblake@redhat.com>
135
136         openpty: provide a stub on mingw
137         * lib/pty.in.h (includes): Provide forward declarations.
138         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
139
140         raise: fix mingw handling of SIGPIPE
141         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
142
143 2011-11-08  Bruno Haible  <bruno@clisp.org>
144
145         More conditional dependencies.
146         * modules/faccessat (Depends-on): Add conditions.
147         * modules/fchmodat (Depends-on): Likewise.
148         * modules/fchownat (Depends-on): Likewise.
149         * modules/fstatat (Depends-on): Likewise.
150         * modules/mkfifoat (Depends-on): Likewise.
151         * modules/readlinkat (Depends-on): Likewise.
152         * modules/symlinkat (Depends-on): Likewise.
153         * modules/unlinkat (Depends-on): Likewise.
154         * modules/utimensat (Depends-on): Likewise.
155         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
156         * modules/linkat (Depends-on): Refine the conditions.
157         * modules/renameat (Depends-on): Likewise.
158
159 2011-11-08  Bruno Haible  <bruno@clisp.org>
160
161         faccessat: Move AC_LIBOBJ invocation to module description.
162         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
163         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
164         invocation from here...
165         * modules/faccessat (configure.ac): ... to here. Invoke
166         gl_PREREQ_FACCESSAT.
167
168 2011-11-08  Bruno Haible  <bruno@clisp.org>
169
170         faccessat: Simplify autoconf macro.
171         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
172         gl_FUNC_EUIDACCESS.
173
174 2011-11-08  Bruno Haible  <bruno@clisp.org>
175
176         renameat: Fix dependencies.
177         * modules/renameat (Depends-on): Add stdbool.
178
179 2011-11-08  Bruno Haible  <bruno@clisp.org>
180
181         mkfifoat: Fix module description.
182         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
183         not gl_UNISTD_MODULE_INDICATOR.
184
185 2011-11-08  Bruno Haible  <bruno@clisp.org>
186
187         fstatat: Remove unused dependency.
188         * modules/fstatat (Depends-on): Remove fstat.
189
190 2011-11-08  Simon Josefsson  <simon@josefsson.org>
191
192         GNUmakefile: behave when Makefile is missing.
193         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
194
195 2011-11-08  Bruno Haible  <bruno@clisp.org>
196
197         openat: Conditionalize dependencies.
198         * lib/openat.c: Reduce the scope of some #includes.
199         * modules/openat (Depends-on): Add conditions.
200
201 2011-11-07  Jim Meyering  <meyering@redhat.com>
202
203         maint.mk: extract GPG key ID without using a temporary file
204         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
205         without using a temporary file.  Based on a suggestion from Werner Koch
206         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
207
208 2011-11-07  Eric Blake  <eblake@redhat.com>
209
210         grantpt: fix typo
211         * lib/stdlib.in.h (grantpt): Check correct function.
212
213         maint.mk: silence new syntax check
214         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
215
216 2011-11-06  Bruno Haible  <bruno@clisp.org>
217
218         Doc about floating-point and math API.
219         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
220         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
221
222 2011-11-06  Bruno Haible  <bruno@clisp.org>
223
224         stdalign tests: Skip the test when compiled by Sun C.
225         * tests/test-stdalign.c (main): Skip the test on Sun C.
226
227 2011-11-06  Bruno Haible  <bruno@clisp.org>
228
229         ansi-c++-opt: Complete the 2011-06-05 change.
230         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
231         does not support namespaces, set the variable to "no", not to ":".
232
233 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
234
235         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
236
237 2011-11-06  Bruno Haible  <bruno@clisp.org>
238
239         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
240         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
241         (minus_zerol) [HP-UX]: New macro.
242         (unary_minus) [HP-UX]: New function.
243         (copysignl) [HP-UX]: Use unary_minus function.
244
245 2011-11-06  Bruno Haible  <bruno@clisp.org>
246
247         ldexp, ldexpf, ldexpl: Enhance tests.
248         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
249         and tests/test-ldexpl.c.
250         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
251         LDEXP, MIN_EXP, MAX_EXP): New macros.
252         Include test-ldexp.h.
253         (main): Just call test_function.
254         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
255         infinity.h, nan.h.
256         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
257         MAX_EXP): New macros.
258         Include test-ldexp.h.
259         (x, y): Remove variables.
260         (main): Just call test_function.
261         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
262         infinity.h, nan.h.
263         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
264         MAX_EXP): New macros.
265         Include test-ldexp.h.
266         (x, y): Remove variables.
267         (main): Just call test_function.
268         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
269         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
270         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
271         (Depends-on): Add isnand-nolibm, signbit, float.
272         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
273         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
274         (Depends-on): Add isnanf-nolibm, signbit, float.
275
276 2011-11-06  Bruno Haible  <bruno@clisp.org>
277
278         math tests: Cosmetics.
279         * tests/test-math-c++.cc: Reorder declarations.
280
281 2011-11-05  Bruno Haible  <bruno@clisp.org>
282
283         fma*: Simplify test.
284         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
285         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
286
287         Tests for module 'fmal'.
288         * modules/fmal-tests: New file.
289         * tests/test-fmal1.c: New file.
290         * tests/test-fmal2.c: New file.
291
292         New module 'fmal'.
293         * lib/math.in.h (fmal): New declaration.
294         * lib/fmal.c: New file.
295         * m4/fmal.m4: New file.
296         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
297         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
298         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
299         REPLACE_FMAL.
300         * modules/fmal: New file.
301         * doc/posix-functions/fmal.texi: Mention the new module and the various
302         bugs.
303
304         Tests for module 'fmaf'.
305         * modules/fmaf-tests: New file.
306         * tests/test-fmaf1.c: New file.
307         * tests/test-fmaf2.c: New file.
308
309         New module 'fmaf'.
310         * lib/math.in.h (fmaf): New declaration.
311         * lib/fmaf.c: New file.
312         * m4/fmaf.m4: New file.
313         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
314         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
315         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
316         REPLACE_FMAF.
317         * modules/fmaf: New file.
318         * doc/posix-functions/fmaf.texi: Mention the new module and the various
319         bugs.
320
321         Tests for module 'fma'.
322         * modules/fma-tests: New file.
323         * tests/test-fma1.c: New file.
324         * tests/test-fma1.h: New file.
325         * tests/test-fma2.c: New file.
326         * tests/test-fma2.h: New file.
327
328         New module 'fma'.
329         * lib/math.in.h (fma): New declaration.
330         * lib/fma.c: New file.
331         * m4/fma.m4: New file.
332         * m4/fegetround.m4: New file.
333         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
334         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
335         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
336         REPLACE_FMA.
337         * modules/fma: New file.
338         * doc/posix-functions/fma.texi: Mention the new module and the various
339         bugs.
340
341         Extend gl_MATHFUNC.
342         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
343         Support 'void' as argument type.
344         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
345
346 2011-11-05  Jim Meyering  <meyering@redhat.com>
347
348         maint.mk: also prohibit inclusion of dirent.h without use
349         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
350
351 2011-11-05  Bruno Haible  <bruno@clisp.org>
352
353         ldexpl tests: Avoid test failure on MSVC 9.
354         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
355         value. Needed in order to enforce the conversion from a value greater
356         than LDBL_MAX to Infinity.
357
358 2011-11-05  Bruno Haible  <bruno@clisp.org>
359
360         New modules 'at-internal', 'openat-h', split off from module 'openat'.
361         * modules/at-internal: New file, extracted from modules/openat.
362         * modules/openat-h: New file.
363         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
364         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
365         * modules/openat (Description): Add reference to POSIX function.
366         (Files): Remove lib/openat.h, lib/openat-proc.c.
367         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
368         intprops, unistd.
369         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
370         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
371         gl_FCNTL_MODULE_INDICATOR.
372         (Include): Remove unistd.h, openat.h.
373         * modules/areadlinkat (Files): Add lib/at-func.c.
374         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
375         openat-die, openat-h, save-cwd.
376         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
377         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
378         openat-die, openat-h, save-cwd, unistd.
379         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
380         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
381         openat-h, save-cwd. Remove fcntl-h, openat.
382         * modules/fchmodat (Files): Remove lib/openat.h.
383         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
384         openat, stdbool, unistd.
385         * modules/fchownat (Files): Remove lib/openat.h.
386         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
387         openat, stdbool, sys_stat.
388         * modules/fdopendir (Files): Remove lib/openat-priv.h,
389         lib/openat-proc.c.
390         (Depends-on): Add at-internal.
391         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
392         * modules/fstatat (Files): Remove lib/openat.h.
393         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
394         stdbool, unistd.
395         * modules/fts (Depends-on): Add openat-h.
396         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
397         openat.
398         * modules/mkdirat (Files): Remove lib/openat.h.
399         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
400         openat, stdbool, sys_stat.
401         * modules/mkfifoat (Files): Add lib/at-func.c.
402         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
403         openat-h, save-cwd. Remove fcntl-h, openat.
404         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
405         * modules/readlinkat (Files): Add lib/at-func.c.
406         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
407         openat-h, save-cwd. Remove fcntl-h, openat.
408         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
409         openat.
410         * modules/selinux-at (Files): Add lib/at-func.c.
411         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
412         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
413         * modules/symlinkat (Files): Add lib/at-func.c.
414         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
415         openat-h, save-cwd. Remove fcntl-h, openat.
416         * modules/unlinkat (Files): Remove lib/openat.h.
417         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
418         stdbool.
419         * modules/utimensat (Files): Add lib/at-func.c.
420         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
421         openat-die, openat-h, save-cwd.
422         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
423         * modules/fdutimensat-tests (Depends-on): Add openat.
424         * modules/fstatat-tests (Depends-on): Add openat-h.
425         * modules/readlinkat-tests (Depends-on): Add openat.
426         * modules/symlinkat-tests (Depends-on): Add openat.
427
428 2011-11-05  Bruno Haible  <bruno@clisp.org>
429
430         openat: Include <stdbool.h>.
431         * lib/openat.c: Include <stdbool.h>.
432
433 2011-11-04  Bruno Haible  <bruno@clisp.org>
434
435         fchownat, renameat, unlinkat: Fix dependencies.
436         * modules/fchownat (Depends-on): Add fstatat.
437         * modules/renameat (Depends-on): Likewise.
438         * modules/unlinkat (Depends-on): Likewise.
439
440 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
441
442         openat: remove direct dependency on dirent
443         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
444         and hasn't been needed ever since fdopendir was split into its own
445         module on 2009-08-31.
446         * modules/openat (Depends-on): Remove dirent.
447
448 2011-11-04  Bruno Haible  <bruno@clisp.org>
449
450         renameat: Optimize code size.
451         * modules/renameat (configure.ac): Don't compile at-func2.c if
452         REPLACE_RENAMEAT is 1.
453
454 2011-11-04  Bruno Haible  <bruno@clisp.org>
455
456         openat tests: Fix file list.
457         * modules/openat-tests (Files): Add tests/test-open.h.
458
459 2011-11-04  Bruno Haible  <bruno@clisp.org>
460
461         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
462         * modules/fchmodat (Depends-on): Add openat-die.
463         * modules/fchownat (Depends-on): Likewise.
464         * modules/linkat (Depends-on): Likewise.
465         * modules/renameat (Depends-on): Likewise.
466         * modules/openat (Depends-on): Add dirent.
467
468 2011-11-04  Jim Meyering  <meyering@redhat.com>
469
470         at-func*.c: fix comments
471         * lib/at-func2.c: Correct/improve first-line comment.
472         * lib/at-func.c: Correct grammar in first-line comment.
473
474 2011-11-04  Bruno Haible  <bruno@clisp.org>
475
476         New module 'mkdirat', split off from module 'openat'.
477         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
478         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
479         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
480         * modules/mkdirat: New file, extracted from modules/openat.
481         * modules/openat (Files): Remove lib/mkdirat.c.
482         (Depends-on): Remove mkdir.
483         (configure.ac): Remove AC_LIBOBJ of mkdirat.
484         (Include): Remove <sys/stat.h>.
485         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
486         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
487         tests/test-mkdir.h.
488         (Depends-on): Remove ignore-value.
489         (Makefile.am): Remove rules for test-mkdirat.
490         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
491         of module 'openat'.
492         * NEWS: Mention the change.
493
494 2011-11-04  Bruno Haible  <bruno@clisp.org>
495
496         closedir: Avoid warning on mingw.
497         * lib/closedir.c: Include <unistd.h>.
498
499 2011-11-04  Bruno Haible  <bruno@clisp.org>
500
501         New module 'fstatat', split off from module 'openat'.
502         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
503         defined.
504         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
505         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
506         gl_FUNC_FSTATAT.
507         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
508         * modules/fstatat: New file, extracted from modules/openat.
509         * modules/openat (Files): Remove lib/fstatat.c.
510         (Depends-on): Remove lstat.
511         (configure.ac): Remove AC_LIBOBJ of fstatat.
512         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
513         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
514         tests/test-lstat.h, tests/test-stat.h.
515         (Depends-on): Remove getcwd-lgpl.
516         (Makefile.am): Remove rules for test-fstatat.
517         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
518         of module 'openat'.
519         * NEWS: Mention the change.
520         * modules/getcwd (Depends-on): Add fstatat.
521         * modules/linkat (Depends-on): Likewise.
522         * modules/mkfifoat-tests (Depends-on): Likewise.
523         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
524
525 2011-11-03  Bruno Haible  <bruno@clisp.org>
526
527         New module 'unlinkat', split off from module 'openat'.
528         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
529         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
530         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
531         * modules/unlinkat: New file, extracted from modules/openat. Correct
532         the dependency conditions.
533         * modules/openat (Files): Remove lib/unlinkat.c.
534         (Depends-on): Remove rmdir, unlink.
535         (configure.ac): Remove AC_LIBOBJ of unlinkat.
536         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
537         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
538         tests/test-rmdir.h, tests/test-unlink.h.
539         (Depends-on): Remove unlinkdir.
540         (Makefile.am): Remove rules for test-unlinkat.
541         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
542         of module 'openat'.
543         * NEWS: Mention the change.
544         * modules/linkat-tests (Depends-on): Add unlinkat.
545         * modules/mkfifoat-tests (Depends-on): Likewise.
546         * modules/readlinkat-tests (Depends-on): Likewise.
547
548 2011-11-02  Bruno Haible  <bruno@clisp.org>
549
550         New module 'fchmodat', split off from module 'openat'.
551         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
552         defined.
553         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
554         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
555         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
556         * modules/fchmodat: New file, extracted from modules/openat.
557         * modules/openat (Files): Remove lib/fchmodat.c.
558         (configure.ac): Remove AC_LIBOBJ of fchmodat.
559         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
560         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
561         (Makefile.am): Remove rules for test-fchmodat.
562         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
563         of module 'openat'.
564         * NEWS: Mention the change.
565
566 2011-11-02  Jim Meyering  <meyering@redhat.com>
567
568         putenv: indent #definition of "environ" to placate cppi
569         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
570
571         gitlog-to-changelog: provide a ChangeLog-repair mechanism
572         Git logs are often treated as immutable, because editing them
573         changes the SHA1 checksums of all descendants.  Thus, errors in
574         git logs tend to stay there forever.  However, when we generate
575         a ChangeLog file -- typically for distribution -- from that git log,
576         we can actually make corrections in the generated file.  The key
577         lies in recording in machine-readable/applicable form the desired
578         corrections.  See --help for description and an example.
579         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
580         (usage): Describe it; alphabetize option descriptions.
581         (main): Honor the new option, carefully.
582
583 2011-11-01  Jim Meyering  <meyering@redhat.com>
584
585         gitlog-to-changelog: avoid an infloop
586         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
587         that ends up being empty.
588
589 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
590
591         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
592         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
593         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
594         contains (possibly-quoted) backslashes.  This should avoid
595         all-too-common shell bugs if COMPLICATED contains backslashes in
596         the "wrong" places.  Reported by David Evans in
597         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
598         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
599         because we want ASCII ranges.  Is there some reason we don't use
600         the C locale everywhere in this script?
601         (func_module, top level): Avoid unwanted pathname expansion when
602         $repo_url_prefix or $repo_url_suffix_repl contain shell
603         metacharacters like '?' and '*'.
604
605 2011-11-01  Bruno Haible  <bruno@clisp.org>
606
607         fchownat: Improve description.
608         * modules/fchownat (Description): Add link to function.
609
610 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
611
612         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
613         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
614         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
615         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
616
617 2011-11-01  Bruno Haible  <bruno@clisp.org>
618
619         alignof: Avoid collision with stdalign module.
620         * lib/alignof.h (alignof): Remove macro.
621         * NEWS: Mention the change.
622         Reported by Paul Eggert.
623
624 2011-11-01  Bruno Haible  <bruno@clisp.org>
625
626         New module 'fchownat', split off from module 'openat'.
627         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
628         defined.
629         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
630         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
631         invoke gl_FUNC_FCHOWNAT.
632         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
633         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
634         * modules/fchownat: New file, extracted from modules/openat.
635         * modules/openat (Files): Remove lib/fchownat.c.
636         (Depends-on): Remove lchown.
637         (configure.ac): Remove AC_LIBOBJ of fchownat.
638         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
639         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
640         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
641         (Depends-on): Remove mgetgroups, usleep, stat-time.
642         (configure.ac): Remove test for getegid.
643         (Makefile.am): Remove rules for test-fchownat.
644         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
645         of module 'openat'.
646         * NEWS: Mention the change.
647
648 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
649
650         stdalign: port better to MSVC and to Sun C 5.11
651         This fixes some of the problems reported by Bruno Haible in
652         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
653         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
654         shortcomings of MSVC and of Sun C 5.11.
655         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
656         around __declspec arg.
657         * modules/stdalign-tests (Files): Add tests/macros.h.
658         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
659         Include macros.h, for ASSERT.
660         (DECLARE_ALIGNED): Remove.
661         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
662         to catch bug), and to 1 if not (simplifies the rest of the code).
663         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
664         (CHECK_AUTO): Remove.
665         (CHECK_ALIGNED): Check only the alignment of the static vars,
666         since auto var alignment isn't supported by Sun C 5.11.
667         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
668         ASSERT failures are easier to diagnose.
669
670 2011-10-31  Bruno Haible  <bruno@clisp.org>
671
672         doc about some IRIX 5.3 problems.
673         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
674         on IRIX 5.3.
675         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
676         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
677         5.3.
678         * doc/posix-functions/grantpt.texi: Likewise.
679         * doc/posix-functions/unlockpt.texi: Likewise.
680         * doc/posix-functions/lgamma.texi: Likewise.
681         * doc/posix-functions/nextafter.texi: Likewise.
682         * doc/posix-functions/remainder.texi: Likewise.
683         * doc/posix-functions/select.texi: Mention misplaced declaration on
684         IRIX 5.3.
685         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
686
687 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
688
689         gitlog-to-changelog: fix git-log invocation.
690         git-log mishandles date strings before 1970-01-01 UTC, and there is
691         no use to specify --since=1970-01-01 by default anyway.
692         * build-aux/gitlog-to-changelog: By default, when no --since option
693         was given, do not specify explicit --since option to git-log.
694
695 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
696
697         gitlog-to-changelog: new option --append-dot.
698         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
699         first non-blank line of each commit message terminated with a dot.
700
701 2011-10-30  Bruno Haible  <bruno@clisp.org>
702
703         ffsl, ffsll: Avoid compilation error due to 'restrict'.
704         * lib/ffsl.h: Include <config.h>.
705         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
706
707 2011-10-30  Jim Meyering  <meyering@redhat.com>
708
709         GNUmakefile: reenable "make syntax-check" for most projects
710         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
711         build-aux variable", "syntax-check" would do nothing but succeed with
712         the "No version control files detected..." diagnostic (unless you
713         happened to override _build-aux via cfg.mk).
714         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
715         to precede inclusion of maint.mk.  Otherwise, these variables would
716         be used undefined in any project that does not override the default.
717
718 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
719
720         gitlog-to-changelog: treat a message with only blank lines as empty.
721         * build-aux/gitlog-to-changelog: Move the code that removes leading and
722         trailing blank lines before the code that issues a warning about an
723         empty commit message.
724
725 2011-10-30  Jim Meyering  <meyering@redhat.com>
726
727         test-parse-datetime.c: avoid new DST-related false positive test failure
728         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
729         based on the time/date we'll convert, not the current time.
730         Otherwise, the moment we cross a DST boundary like today's in
731         Europe, (CEST to CET), that offset ends up being one hour off.
732
733 2011-10-27  Bruno Haible  <bruno@clisp.org>
734
735         fstat: Tweak documentation.
736         * modules/fstat (Description): More precise description.
737
738 2011-10-27  Bruno Haible  <bruno@clisp.org>
739
740         Update documentation regarding 'largefile' module.
741         * doc/posix-functions/fstat.texi: Tweak wording.
742         * doc/posix-functions/opendir.texi: Mention that the module fixes the
743         problems with huge directories and/or small ino_t types.
744         * doc/posix-functions/readdir.texi: Likewise.
745         * doc/posix-functions/rewinddir.texi: Likewise.
746
747 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
748
749         maint.mk: don't maintain a second build-aux variable.
750         * maint.mk (build_aux): Removed.  The maintainer-makefile module
751         depends on GNUmakefile, which already maintains a cfg.mk
752         overridable $(_build-aux) for projects with a non-standard
753         build-aux directory location, although without the $(srcdir)
754         prefix.  Use that variable consistently instead of introducing a
755         second one.  Adjust all call sites.
756
757 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
758
759         Add stdalign module and use it in other modules.
760         This is based on a previous proposal by Bruno Haible
761         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
762
763         stdalign: new module
764         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
765         * modules/stdalign: New files.
766         * MODULES.html.sh (c1x_core_properties): Add stdalign.
767         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
768
769         stdalign-tests: new module
770         * modules/stdalign-tests, tests/test-stdalign.c: New files.
771
772         argp: use stdalign
773         * lib/argp-parse.c: Include <stdalign.h>.
774         (alignof): Remove.
775         * modules/argp (Depends-on): Add stdalign.
776
777         crypto libraries: use stdalign
778         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
779         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
780         Do not include <stdlib.h> twice, in md4.c.
781         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
782         because we are accessing a pointer's bit-pattern, not a size.
783         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
784         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
785         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
786         * modules/crypto/sha512: Likewise.
787
788         sys_socket: use stdalign, not alignof
789         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
790         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
791
792 2011-10-27  Bruno Haible  <bruno@clisp.org>
793
794         raise test: Avoid a test failure on Linux/MIPS.
795         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
796         because 99 is a valid signal on Linux/MIPS.
797
798 2011-10-27  Bruno Haible  <bruno@clisp.org>
799
800         nonblocking tests: Fix test failure on Linux/MIPS.
801         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
802         Set to 270000.
803
804 2011-10-27  Bruno Haible  <bruno@clisp.org>
805
806         utimensat: Work around problem on Linux/hppa.
807         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
808         values.
809         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
810
811 2011-10-25  Jim Meyering  <meyering@redhat.com>
812
813         maint.mk: fix a bug in sc_prohibit_stddef_without_use
814         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
815         after symbols like NULL, size_t, etc.
816         Reported by Alfred M. Szmidt.
817
818         maint.mk: exempt ENODATA from a syntax-check rule
819         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
820         from the sc_prohibit_always-defined_macros syntax-check rule.
821         Add a comment.  See this for more details:
822         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
823
824 2011-10-23  Jim Meyering  <meyering@redhat.com>
825
826         fts: close parent dir FD before returning from post-traversal fts_read
827         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
828         unlink A, even though an FD open on A remained.  This is suboptimal
829         (holding a file descriptor open longer than needed), but otherwise not
830         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
831         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
832         that represents a real problem: it causes the removal of A to fail
833         with e.g., "rm: cannot remove `A': Device or resource busy"
834
835         fts visits each directory twice and keeps a cache (fts_fd_ring) of
836         directory file descriptors.  After completing the final, FTS_DP,
837         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
838         cache, but then proceeded to add a new FD to it via the subsequent
839         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
840         final file descriptor would be closed only via fts_close's call to
841         fd_ring_clear.  Now, it is usually closed earlier, via the final
842         FTS_DP-returning fts_read call.
843         * lib/fts.c (restore_initial_cwd): New function, converted from
844         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
845         Update callers.
846         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
847         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
848
849 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
850             Bruno Haible  <bruno@clisp.org>
851             Jim Meyering  <jim@meyering.net>
852
853         readme-release: improve safety of release prep instructions.
854         * README-release: Don't git pull all branches when only master
855         is needed for the release process.
856         Run make maintainer-clean before changing trees and merging.
857         Don't try to run ./configure right after git pull in case files
858         that influence the bootstrap process have changed, move the
859         ./configure step to after running ./bootstrap.
860         Don't bootstrap "one last time"... it's the first time!
861
862 2011-10-22  Bruno Haible  <bruno@clisp.org>
863
864         errno, strerror-override: Support for MSVC 10.
865         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
866         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
867         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
868         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
869         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
870         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
871         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
872         Assign values compatible with MSVC 10.
873         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
874         New macros.
875         (GNULIB_defined_EWINSOCK): New macro.
876         * lib/strerror-override.c (strerror_override): Update accordingly.
877         * lib/strerror-override.h: Likewise.
878         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
879         longer equal to the corresponding errno value.
880         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
881
882 2011-10-22  Bruno Haible  <bruno@clisp.org>
883
884         perror: Recognize when test program crashes.
885         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
886         strerror, set gl_cv_func_perror_works to no.
887         Reported by Daniel Richard G. <skunk@iskunk.org>.
888
889         perror: Fix indentation.
890         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
891
892 2011-10-22  Bruno Haible  <bruno@clisp.org>
893
894         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
895         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
896         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
897         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
898         functions, not as a macro.
899         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
900         macros.
901         (isfinite, isinf, isnan, signbit): Check overloaded functions and
902         absence of macro.
903         Suggested by Eric Blake.
904         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
905
906 2011-10-21  Bruno Haible  <bruno@clisp.org>
907
908         relocatable-prog-wrapper: Don't leave object files behind.
909         * build-aux/install-reloc: Re-synchronize list of .o files to be
910         removed with list of compilation units.
911
912 2011-10-20  Bruno Haible  <bruno@clisp.org>
913
914         openpty, posix_openpt: Remove code duplication.
915         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
916         * lib/openpty.c: Include <stdlib.h>.
917         (openpty): Use posix_openpt on all platforms except IRIX.
918         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
919
920 2011-10-20  Bruno Haible  <bruno@clisp.org>
921
922         unlockpt: Detect invalid argument.
923         * lib/unlockpt.c: Include <fcntl.h>.
924         (unlockpt): Check whether fd is valid, using fcntl().
925         * modules/unlockpt (Depends-on): Add fcntl-h.
926
927 2011-10-20  Bruno Haible  <bruno@clisp.org>
928
929         openpty: Avoid compilation error on AIX 6.1.
930         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
931
932 2011-10-20  Bruno Haible  <bruno@clisp.org>
933
934         posix_openpt: Support for OpenBSD.
935         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
936         (posix_openpt) [OpenBSD]: New code.
937         * lib/grantpt.c: Include <fcntl.h>.
938         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
939         * modules/grantpt (Depends-on): Add fcntl-h.
940
941 2011-10-20  Bruno Haible  <bruno@clisp.org>
942
943         posix_openpt test: Coding style.
944         * tests/test-posix_openpt.c: Use GNU coding style.
945
946 2011-10-20  Bruno Haible  <bruno@clisp.org>
947
948         grantpt: Support --avoid=pt_chown.
949         * modules/grantpt (Files): Add lib/pty-private.h.
950
951 2011-10-20  Bruno Haible  <bruno@clisp.org>
952
953         posix_openpt: Fix autoconf macro.
954         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
955         unneeded check for _getpty.
956
957 2011-10-20  Bruno Haible  <bruno@clisp.org>
958
959         openpty: Update comments.
960         * lib/openpty.c: Add comments about Minix.
961
962 2011-10-19  Eric Blake  <eblake@redhat.com>
963
964         openpty: relax license
965         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
966
967         pt_chown: use configmake to simplify build
968         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
969
970         ptsname and others: relax license
971         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
972         * modules/unlockpt (License): Likewise.
973         * modules/pt_chown (License): Likewise.
974         * modules/ptsname (License): Likewise.
975         * modules/ttyname_r (License): Likewise.
976
977 2011-10-19  Jim Meyering  <meyering@redhat.com>
978
979         posix_openpt: remove spurious #endif
980         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
981
982 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
983
984         maint.mk: Respect $(build_aux) in web-manual rule.
985         * top/maint.mk (web-manual): Find gen-announce script in user's
986         $(build_aux) directory instead of hard-coding 'build-aux'.
987
988 2011-10-19  Bruno Haible  <bruno@clisp.org>
989
990         posix_openpt: Fix compilation error.
991         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
992         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
993         Mention the openpty module as an alternative.
994
995 2011-10-19  Bruno Haible  <bruno@clisp.org>
996
997         Support for old NeXTstep 3.3 frexp().
998         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
999         execution time of the test to 5 seconds.
1000         Reported by Daniel Richard G. <skunk@iskunk.org>.
1001
1002 2011-10-19  Bruno Haible  <bruno@clisp.org>
1003
1004         Support for old NeXTstep 3.3 sed.
1005         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
1006         part, use /.../, not \|...|. Escape periods in the header file name.
1007         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
1008         Reported by Daniel Richard G. <skunk@iskunk.org>.
1009
1010 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
1011
1012         Support for old NeXTstep 3.3 gcc.
1013         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
1014         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
1015         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
1016         * lib/spawn.in.h (_Restrict_arr_): Likewise.
1017         * lib/regex.h (_Restrict_arr_): Likewise.
1018         * lib/regex_internal.h (re_token_t): Likewise.
1019         * lib/regexec.c (check_node_accept_bytes): Likewise.
1020         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
1021
1022 2011-10-18  Eric Blake  <eblake@redhat.com>
1023
1024         posix_openpt: new module
1025         * modules/posix_openpt: New module.
1026         * m4/posix_openpt.m4: New file.
1027         * lib/posix_openpt.c: Likewise.
1028         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
1029         (gl_STDLIB_H_DEFAULTS): Set defaults.
1030         * modules/stdlib (Makefile.am): Substitute macros.
1031         * lib/stdlib.in.h (posix_openpt): Declare.
1032         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
1033         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
1034         * modules/posix_openpt-tests: New test module.
1035         * tests/test-posix_openpt.c: New test.
1036
1037 2011-10-15  Bruno Haible  <bruno@clisp.org>
1038
1039         xstrtoll: Fix compilation failure.
1040         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
1041         from lib/strtol.c.
1042         * doc/posix-headers/limits.texi: Mention missing numerical limits on
1043         some platforms.
1044         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
1045
1046 2011-10-15  Bruno Haible  <bruno@clisp.org>
1047
1048         vasnprintf: Optimize bit search operation.
1049         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
1050         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
1051         gl_DOUBLE_EXPONENT_LOCATION.
1052         * modules/vasnprintf (Files): Add m4/exponentd.m4.
1053         * modules/unistdio/u8-vasnprintf (Files): Likewise.
1054         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
1055         * modules/unistdio/u16-vasnprintf (Files): Likewise.
1056         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
1057         * modules/unistdio/u32-vasnprintf (Files): Likewise.
1058         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
1059         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
1060         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
1061
1062 2011-10-15  Bruno Haible  <bruno@clisp.org>
1063
1064         vasnprintf: Fix comments.
1065         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
1066
1067 2011-10-14  Bruno Haible  <bruno@clisp.org>
1068
1069         Tests for module 'integer_length_ll'.
1070         * modules/integer_length_ll-tests: New file.
1071         * tests/test-integer_length_ll.c: New file.
1072
1073         New module 'integer_length_ll'.
1074         * lib/integer_length_ll.c: New file.
1075         * modules/integer_length_ll: New file.
1076
1077 2011-10-14  Bruno Haible  <bruno@clisp.org>
1078
1079         Tests for module 'integer_length_l'.
1080         * modules/integer_length_l-tests: New file.
1081         * tests/test-integer_length_l.c: New file.
1082
1083         New module 'integer_length_l'.
1084         * lib/integer_length_l.c: New file.
1085         * modules/integer_length_l: New file.
1086
1087 2011-10-14  Bruno Haible  <bruno@clisp.org>
1088
1089         Tests for module 'integer_length'.
1090         * modules/integer_length-tests: New file.
1091         * tests/test-integer_length.c: New file.
1092
1093         New module 'integer_length'.
1094         * lib/integer_length.h: New file.
1095         * lib/integer_length.c: New file.
1096         * modules/integer_length: New file.
1097
1098 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
1099
1100         popen: Fix dependency conditions.
1101         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
1102
1103 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
1104
1105         perror: Fix autoconf test.
1106         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
1107         <stdlib.h> and <string.h>.
1108
1109 2011-10-14  Bruno Haible  <bruno@clisp.org>
1110
1111         ffsl: Optimize on 64-bit platforms.
1112         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
1113         unrolling.
1114
1115 2011-10-13  Bruno Haible  <bruno@clisp.org>
1116
1117         ffsl: Optimize on 32-bit platforms.
1118         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
1119         use ffs() without a loop.
1120
1121         ffsl, ffsll: Optimize for GCC.
1122         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
1123         * lib/ffsl.c (GCC_BUILTIN): New macro.
1124         * lib/ffsll.c (GCC_BUILTIN): Likewise.
1125
1126 2011-10-13  Bruno Haible  <bruno@clisp.org>
1127
1128         ffs, bcopy, memset: Support symbol renaming via config.h.
1129         * lib/ffs.c: Include <config.h>.
1130         * lib/bcopy.c: Likewise.
1131         * lib/memset.c: Likewise.
1132
1133 2011-10-10  Bruno Haible  <bruno@clisp.org>
1134
1135         atanl: Simplify for platforms where 'long double' == 'double'.
1136         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
1137         alternative implementation.
1138         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1139         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1140         * modules/atanl (Depends-on): Add atan. Update conditions.
1141
1142 2011-10-10  Bruno Haible  <bruno@clisp.org>
1143
1144         acosl: Simplify for platforms where 'long double' == 'double'.
1145         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
1146         alternative implementation.
1147         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1148         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1149         * modules/acosl (Depends-on): Add acos. Update conditions.
1150
1151 2011-10-10  Bruno Haible  <bruno@clisp.org>
1152
1153         asinl: Simplify for platforms where 'long double' == 'double'.
1154         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
1155         alternative implementation.
1156         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1157         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1158         * modules/asinl (Depends-on): Add asin. Update conditions.
1159
1160 2011-10-10  Bruno Haible  <bruno@clisp.org>
1161
1162         tanl: Simplify for platforms where 'long double' == 'double'.
1163         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
1164         implementation.
1165         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1166         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1167         * modules/tanl (Depends-on): Add tan. Update conditions.
1168         (configure.ac): Don't compile trigl.c if
1169         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1170
1171 2011-10-10  Bruno Haible  <bruno@clisp.org>
1172
1173         cosl: Simplify for platforms where 'long double' == 'double'.
1174         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
1175         implementation.
1176         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1177         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1178         * modules/cosl (Depends-on): Add cos. Update conditions.
1179         (configure.ac): Don't compile sincosl.c and trigl.c if
1180         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1181
1182 2011-10-10  Bruno Haible  <bruno@clisp.org>
1183
1184         sinl: Simplify for platforms where 'long double' == 'double'.
1185         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
1186         implementation.
1187         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1188         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1189         * modules/sinl (Depends-on): Add sin. Update conditions.
1190         (configure.ac): Don't compile sincosl.c and trigl.c if
1191         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1192
1193 2011-10-10  Bruno Haible  <bruno@clisp.org>
1194
1195         logl: Simplify for platforms where 'long double' == 'double'.
1196         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
1197         implementation.
1198         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1199         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1200         * modules/logl (Depends-on): Add log. Update conditions.
1201
1202 2011-10-10  Bruno Haible  <bruno@clisp.org>
1203
1204         expl: Simplify for platforms where 'long double' == 'double'.
1205         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
1206         implementation.
1207         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1208         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1209         * modules/expl (Depends-on): Add exp. Update conditions.
1210
1211 2011-10-10  Bruno Haible  <bruno@clisp.org>
1212
1213         sqrtl: Simplify for platforms where 'long double' == 'double'.
1214         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
1215         alternative implementation.
1216         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1217         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1218         * modules/sqrtl (Depends-on): Update conditions.
1219
1220 2011-10-10  Bruno Haible  <bruno@clisp.org>
1221
1222         ldexpl: Simplify for platforms where 'long double' == 'double'.
1223         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
1224         alternative implementation.
1225         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1226         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1227         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
1228
1229 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
1230
1231         ffsll: set correct witness
1232         * modules/ffsll (configure.ac): Fix typo.
1233
1234 2011-10-10  Bruno Haible  <bruno@clisp.org>
1235
1236         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
1237         * lib/printf-frexpl.c: Include <config.h>.
1238         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1239         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
1240         second time.
1241         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
1242         gl_LONG_DOUBLE_VS_DOUBLE.
1243         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
1244         conditions.
1245
1246 2011-10-10  Bruno Haible  <bruno@clisp.org>
1247
1248         frexpl: Simplify for platforms where 'long double' == 'double'.
1249         * lib/frexpl.c: Include <config.h>.
1250         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1251         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
1252         time.
1253         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1254         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1255         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
1256         * modules/frexpl (Depends-on): Add frexp. Update conditions.
1257         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
1258         conditions.
1259
1260 2011-10-10  Jim Meyering  <meyering@redhat.com>
1261
1262         test-renameat: don't leave behind a temporary file
1263         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
1264           ERROR: files left in build directory after distclean:
1265           ./gltests/test-renameat.too
1266           make[1]: *** [distcleancheck] Error 1
1267         Reported by Tom G. Christensen.
1268
1269 2011-10-09  Bruno Haible  <bruno@clisp.org>
1270
1271         rint: Determine RINT_LIBM correctly on AIX 7.
1272         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
1273         directly, not only through a function pointer. Also accept an optional
1274         4th argument with extra code.
1275         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
1276         rintf() call by gcc when optimizing.
1277
1278         mathfunc.m4: Refactor.
1279         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
1280         m4 variable.
1281
1282 2011-10-09  Bruno Haible  <bruno@clisp.org>
1283
1284         rintl: Simplify for platforms where 'long double' == 'double'.
1285         * lib/rintl.c: Include <config.h>.
1286         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1287         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
1288         time.
1289         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1290         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1291         * modules/rintl (Depends-on): Add rint. Update conditions.
1292
1293 2011-10-09  Bruno Haible  <bruno@clisp.org>
1294
1295         roundl: Simplify for platforms where 'long double' == 'double'.
1296         * lib/roundl.c: Include <config.h>.
1297         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1298         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
1299         time.
1300         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1301         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1302         * modules/roundl (Depends-on): Add round. Update conditions.
1303
1304 2011-10-09  Bruno Haible  <bruno@clisp.org>
1305
1306         truncl: Simplify for platforms where 'long double' == 'double'.
1307         * lib/truncl.c: Include <config.h>.
1308         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1309         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
1310         time.
1311         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1312         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1313         * modules/truncl (Depends-on): Add trunc. Update conditions.
1314
1315 2011-10-09  Bruno Haible  <bruno@clisp.org>
1316
1317         ceill: Simplify for platforms where 'long double' == 'double'.
1318         * lib/ceill.c: Include <config.h>.
1319         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1320         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
1321         time.
1322         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1323         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1324         * modules/ceill (Depends-on): Add ceil. Update conditions.
1325
1326 2011-10-09  Bruno Haible  <bruno@clisp.org>
1327
1328         floorl: Simplify for platforms where 'long double' == 'double'.
1329         * lib/floorl.c: Include <config.h>.
1330         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1331         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
1332         time.
1333         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1334         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1335         * modules/floorl (Depends-on): Add floor. Update conditions.
1336
1337 2011-10-09  Bruno Haible  <bruno@clisp.org>
1338
1339         rint: Fix ordering constraints.
1340         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
1341         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
1342         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
1343
1344 2011-10-09  Bruno Haible  <bruno@clisp.org>
1345
1346         copysignl: Simplify for platforms where 'long double' == 'double'.
1347         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
1348         alternative.
1349         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1350         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1351         * modules/copysignl (Depends-on): Add copysign. Update conditions.
1352
1353 2011-10-09  Bruno Haible  <bruno@clisp.org>
1354
1355         Tests for module 'rintl'.
1356         * modules/rintl-tests: New file.
1357         * tests/test-rintl.c: New file.
1358
1359         New module 'rintl'.
1360         * lib/math.in.h (rintl): New declaration.
1361         * lib/rintl.c: New file.
1362         * m4/rintl.m4: New file.
1363         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
1364         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
1365         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
1366         * modules/rintl: New file.
1367         * tests/test-math-c++.cc: Check the declaration of rintl.
1368         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
1369         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
1370         * doc/posix-functions/rintl.texi: Mention the new module.
1371
1372 2011-10-09  Bruno Haible  <bruno@clisp.org>
1373
1374         Tests for module 'rintf'.
1375         * modules/rintf-tests: New file.
1376         * tests/test-rintf.c: New file.
1377
1378         New module 'rintf'.
1379         * lib/math.in.h (rintf): New declaration.
1380         * lib/rintf.c: New file.
1381         * m4/rintf.m4: New file.
1382         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
1383         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
1384         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
1385         * modules/rintf: New file.
1386         * tests/test-math-c++.cc: Check the declaration of rintf.
1387         * doc/posix-functions/rintf.texi: Mention the new module.
1388
1389 2011-10-09  Bruno Haible  <bruno@clisp.org>
1390
1391         rint: Support for MSVC.
1392         * lib/math.in.h (rint): New declaration.
1393         * lib/rint.c: New file.
1394         * m4/rint.m4: New file.
1395         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
1396         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
1397         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
1398         * modules/rint (Description): Fix.
1399         (Files): Add lib/rint.c, m4/rint.m4.
1400         (Depends-on): Add math.
1401         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
1402         gl_MATH_MODULE_INDICATOR.
1403         * tests/test-math-c++.cc: Check the declaration of rint.
1404         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
1405         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
1406         * doc/posix-functions/rint.texi: Mention the replacement provided by
1407         the module.
1408
1409         rint tests: More tests.
1410         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
1411         minus-zero.h, infinity.h, nan.h.
1412         (main): Skip the test if the current rounding mode is not standard. Add
1413         tests for negative numbers, minus zero, infinity, NaN.
1414         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
1415         tests/nan.h.
1416         (Depends-on): Add isnand-nolibm.
1417
1418 2011-10-09  Bruno Haible  <bruno@clisp.org>
1419
1420         Tests for module 'copysignl'.
1421         * modules/copysignl-tests: New file.
1422         * tests/test-copysignl.c: New file.
1423
1424         New module 'copysignl'.
1425         * lib/math.in.h (copysignl): New declaration.
1426         * lib/copysignl.c: New file.
1427         * m4/copysignl.m4: New file.
1428         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
1429         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
1430         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
1431         HAVE_COPYSIGNL.
1432         * modules/copysignl: New file.
1433         * tests/test-math-c++.cc: Check the declaration of copysignl.
1434         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
1435         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
1436         * doc/posix-functions/copysignl.texi: Mention the new module.
1437
1438 2011-10-09  Bruno Haible  <bruno@clisp.org>
1439
1440         Tests for module 'copysignf'.
1441         * modules/copysignf-tests: New file.
1442         * tests/test-copysignf.c: New file.
1443
1444         New module 'copysignf'.
1445         * lib/math.in.h (copysignf): New declaration.
1446         * lib/copysignf.c: New file.
1447         * m4/copysignf.m4: New file.
1448         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
1449         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
1450         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
1451         HAVE_COPYSIGNF.
1452         * modules/copysignf: New file.
1453         * tests/test-math-c++.cc: Check the declaration of copysignf.
1454         * doc/posix-functions/copysignf.texi: Mention the new module.
1455
1456 2011-10-09  Bruno Haible  <bruno@clisp.org>
1457
1458         Ensure that HAVE_* variables are set to 1 before they are set to 0.
1459         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
1460         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
1461         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
1462         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
1463         gl_SIGNAL_H_DEFAULTS.
1464
1465 2011-10-09  Bruno Haible  <bruno@clisp.org>
1466
1467         poll: Make macro safer.
1468         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
1469         ac_cv_header_poll_h is not set.
1470
1471 2011-10-09  Bruno Haible  <bruno@clisp.org>
1472
1473         copysign: Provide replacement.
1474         * lib/math.in.h (copysign): New declaration.
1475         * lib/copysign.c: New file.
1476         * m4/copysign.m4: New file.
1477         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
1478         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
1479         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
1480         HAVE_COPYSIGN.
1481         * modules/copysign (Description): Clarify.
1482         (Files): Add lib/copysign.c, m4/copysign.m4.
1483         (Depends-on): Add math, signbit.
1484         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
1485         gl_MATH_MODULE_INDICATOR.
1486         * tests/test-math-c++.cc: Check the declaration of copysign.
1487         * doc/posix-functions/copysign.texi: Mention the effects of the module
1488         on Minix and MSVC.
1489
1490 2011-10-09  Bruno Haible  <bruno@clisp.org>
1491
1492         isinf: Ensure macro on AIX 5.1.
1493         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
1494         macro.
1495         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
1496
1497 2011-10-09  Bruno Haible  <bruno@clisp.org>
1498
1499         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
1500         * modules/snprintf-posix-tests (configure.ac): Require
1501         gl_LONG_DOUBLE_VS_DOUBLE.
1502         * modules/sprintf-posix-tests (configure.ac): Likewise.
1503         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
1504         * modules/vasprintf-posix-tests (configure.ac): Likewise.
1505         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
1506         * modules/vsprintf-posix-tests (configure.ac): Likewise.
1507         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
1508         tests on platforms where 'long double' is the same as 'double'.
1509         * tests/test-sprintf-posix.h (test_function): Likewise.
1510         * tests/test-vasnprintf-posix.c (test_function): Likewise.
1511         * tests/test-vasprintf-posix.c (test_function): Likewise.
1512
1513         *printf: Fix for platforms where 'long double' == 'double'.
1514         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
1515         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
1516         * modules/dprintf-posix (Files): Add m4/math_h.m4.
1517         * modules/fprintf-posix (Files): Likewise.
1518         * modules/obstack-printf-posix (Files): Likewise.
1519         * modules/snprintf-posix (Files): Likewise.
1520         * modules/sprintf-posix (Files): Likewise.
1521         * modules/vasnprintf (Files): Likewise.
1522         * modules/vasnprintf-posix (Files): Likewise.
1523         * modules/vasprintf-posix (Files): Likewise.
1524         * modules/vdprintf-posix (Files): Likewise.
1525         * modules/vfprintf-posix (Files): Likewise.
1526         * modules/vsnprintf-posix (Files): Likewise.
1527         * modules/vsprintf-posix (Files): Likewise.
1528         * modules/unistdio/u8-vasnprintf (Files): Likewise.
1529         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
1530         * modules/unistdio/u16-vasnprintf (Files): Likewise.
1531         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
1532         * modules/unistdio/u32-vasnprintf (Files): Likewise.
1533         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
1534         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
1535
1536         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
1537         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
1538         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1539         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
1540         'long double'.
1541         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
1542
1543         isinf: Fix for platforms where 'long double' == 'double'.
1544         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
1545         Don't blindly assume 80-bit 'long double'.
1546
1547         isfinite: Fix for platforms where 'long double' == 'double'.
1548         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
1549         Don't blindly assume 80-bit 'long double'.
1550
1551         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
1552         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
1553         * modules/isfinite-tests (configure.ac): Require
1554         gl_LONG_DOUBLE_VS_DOUBLE.
1555         * modules/isinf-tests (configure.ac): Likewise.
1556         * modules/isnan-tests (configure.ac): Likewise.
1557         * modules/isnanl-tests (configure.ac): Likewise.
1558         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
1559         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
1560         tests on platforms where 'long double' is the same as 'double'.
1561         * tests/test-isinf.c (test_isinfl): Likewise.
1562         * tests/test-isnan.c (test_long_double): Likewise.
1563         * tests/test-isnanl.h (main): Likewise.
1564
1565 2011-10-08  Bruno Haible  <bruno@clisp.org>
1566
1567         Tests for module 'tanhf'.
1568         * modules/tanhf-tests: New file.
1569         * tests/test-tanhf.c: New file.
1570
1571         New module 'tanhf'.
1572         * lib/math.in.h (tanhf): New declaration.
1573         * lib/tanhf.c: New file.
1574         * m4/tanhf.m4: New file.
1575         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
1576         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
1577         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
1578         * modules/tanhf: New file.
1579         * tests/test-math-c++.cc: Check the declaration of tanhf.
1580         * doc/posix-functions/tanhf.texi: Mention the new module.
1581
1582         tanh: Use a .m4 file.
1583         * m4/tanh.m4: New file.
1584         * modules/tanh (Files): Add it.
1585         (configure.ac): Just invoke gl_FUNC_TANH.
1586
1587 2011-10-08  Bruno Haible  <bruno@clisp.org>
1588
1589         Tests for module 'coshf'.
1590         * modules/coshf-tests: New file.
1591         * tests/test-coshf.c: New file.
1592
1593         New module 'coshf'.
1594         * lib/math.in.h (coshf): New declaration.
1595         * lib/coshf.c: New file.
1596         * m4/coshf.m4: New file.
1597         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
1598         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
1599         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
1600         * modules/coshf: New file.
1601         * tests/test-math-c++.cc: Check the declaration of coshf.
1602         * doc/posix-functions/coshf.texi: Mention the new module.
1603
1604         cosh: Use a .m4 file.
1605         * m4/cosh.m4: New file.
1606         * modules/cosh (Files): Add it.
1607         (configure.ac): Just invoke gl_FUNC_COSH.
1608
1609 2011-10-08  Bruno Haible  <bruno@clisp.org>
1610
1611         Tests for module 'sinhf'.
1612         * modules/sinhf-tests: New file.
1613         * tests/test-sinhf.c: New file.
1614
1615         New module 'sinhf'.
1616         * lib/math.in.h (sinhf): New declaration.
1617         * lib/sinhf.c: New file.
1618         * m4/sinhf.m4: New file.
1619         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
1620         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
1621         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
1622         * modules/sinhf: New file.
1623         * tests/test-math-c++.cc: Check the declaration of sinhf.
1624         * doc/posix-functions/sinhf.texi: Mention the new module.
1625
1626         sinh: Use a .m4 file.
1627         * m4/sinh.m4: New file.
1628         * modules/sinh (Files): Add it.
1629         (configure.ac): Just invoke gl_FUNC_SINH.
1630
1631 2011-10-08  Bruno Haible  <bruno@clisp.org>
1632
1633         Tests for module 'atan2f'.
1634         * modules/atan2f-tests: New file.
1635         * tests/test-atan2f.c: New file.
1636
1637         New module 'atan2f'.
1638         * lib/math.in.h (atan2f): New declaration.
1639         * lib/atan2f.c: New file.
1640         * m4/atan2f.m4: New file.
1641         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
1642         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
1643         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
1644         * modules/atan2f: New file.
1645         * tests/test-math-c++.cc: Check the declaration of atan2f.
1646         * doc/posix-functions/atan2f.texi: Mention the new module.
1647
1648         atan2: Use a .m4 file.
1649         * m4/atan2.m4: New file.
1650         * modules/atan2 (Files): Add it.
1651         (configure.ac): Just invoke gl_FUNC_ATAN2.
1652
1653 2011-10-08  Bruno Haible  <bruno@clisp.org>
1654
1655         Tests for module 'atanf'.
1656         * modules/atanf-tests: New file.
1657         * tests/test-atanf.c: New file.
1658
1659         New module 'atanf'.
1660         * lib/math.in.h (atanf): New declaration.
1661         * lib/atanf.c: New file.
1662         * m4/atanf.m4: New file.
1663         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
1664         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
1665         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
1666         * modules/atanf: New file.
1667         * tests/test-math-c++.cc: Check the declaration of atanf.
1668         * doc/posix-functions/atanf.texi: Mention the new module.
1669
1670         atan: Use a .m4 file.
1671         * m4/atan.m4: New file.
1672         * modules/atan (Files): Add it.
1673         (configure.ac): Just invoke gl_FUNC_ATAN.
1674
1675 2011-10-08  Bruno Haible  <bruno@clisp.org>
1676
1677         Tests for module 'acosf'.
1678         * modules/acosf-tests: New file.
1679         * tests/test-acosf.c: New file.
1680
1681         New module 'acosf'.
1682         * lib/math.in.h (acosf): New declaration.
1683         * lib/acosf.c: New file.
1684         * m4/acosf.m4: New file.
1685         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
1686         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
1687         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
1688         * modules/acosf: New file.
1689         * tests/test-math-c++.cc: Check the declaration of acosf.
1690         * doc/posix-functions/acosf.texi: Mention the new module.
1691
1692         acos: Use a .m4 file.
1693         * m4/acos.m4: New file.
1694         * modules/acos (Files): Add it.
1695         (configure.ac): Just invoke gl_FUNC_ACOS.
1696
1697 2011-10-08  Bruno Haible  <bruno@clisp.org>
1698
1699         Tests for module 'asinf'.
1700         * modules/asinf-tests: New file.
1701         * tests/test-asinf.c: New file.
1702
1703         New module 'asinf'.
1704         * lib/math.in.h (asinf): New declaration.
1705         * lib/asinf.c: New file.
1706         * m4/asinf.m4: New file.
1707         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
1708         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
1709         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
1710         * modules/asinf: New file.
1711         * tests/test-math-c++.cc: Check the declaration of asinf.
1712         * doc/posix-functions/asinf.texi: Mention the new module.
1713
1714         asin: Use a .m4 file.
1715         * m4/asin.m4: New file.
1716         * modules/asin (Files): Add it.
1717         (configure.ac): Just invoke gl_FUNC_ASIN.
1718
1719 2011-10-08  Bruno Haible  <bruno@clisp.org>
1720
1721         Tests for module 'tanf'.
1722         * modules/tanf-tests: New file.
1723         * tests/test-tanf.c: New file.
1724
1725         New module 'tanf'.
1726         * lib/math.in.h (tanf): New declaration.
1727         * lib/tanf.c: New file.
1728         * m4/tanf.m4: New file.
1729         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
1730         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
1731         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
1732         * modules/tanf: New file.
1733         * tests/test-math-c++.cc: Check the declaration of tanf.
1734         * doc/posix-functions/tanf.texi: Mention the new module.
1735
1736         tan: Use a .m4 file.
1737         * m4/tan.m4: New file.
1738         * modules/tan (Files): Add it.
1739         (configure.ac): Just invoke gl_FUNC_TAN.
1740
1741 2011-10-08  Bruno Haible  <bruno@clisp.org>
1742
1743         Tests for module 'cosf'.
1744         * modules/cosf-tests: New file.
1745         * tests/test-cosf.c: New file.
1746
1747         New module 'cosf'.
1748         * lib/math.in.h (cosf): New declaration.
1749         * lib/cosf.c: New file.
1750         * m4/cosf.m4: New file.
1751         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
1752         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
1753         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
1754         * modules/cosf: New file.
1755         * tests/test-math-c++.cc: Check the declaration of cosf.
1756         * doc/posix-functions/cosf.texi: Mention the new module.
1757
1758         cos: Use a .m4 file.
1759         * m4/cos.m4: New file.
1760         * modules/cos (Files): Add it.
1761         (configure.ac): Just invoke gl_FUNC_COS.
1762
1763 2011-10-08  Bruno Haible  <bruno@clisp.org>
1764
1765         Tests for module 'sinf'.
1766         * modules/sinf-tests: New file.
1767         * tests/test-sinf.c: New file.
1768
1769         New module 'sinf'.
1770         * lib/math.in.h (sinf): New declaration.
1771         * lib/sinf.c: New file.
1772         * m4/sinf.m4: New file.
1773         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
1774         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
1775         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
1776         * modules/sinf: New file.
1777         * tests/test-math-c++.cc: Check the declaration of sinf.
1778         * doc/posix-functions/sinf.texi: Mention the new module.
1779
1780         sin: Use a .m4 file.
1781         * m4/sin.m4: New file.
1782         * modules/sin (Files): Add it.
1783         (configure.ac): Just invoke gl_FUNC_SIN.
1784
1785 2011-10-08  Bruno Haible  <bruno@clisp.org>
1786
1787         Tests for module 'powf'.
1788         * modules/powf-tests: New file.
1789         * tests/test-powf.c: New file.
1790
1791         New module 'powf'.
1792         * lib/math.in.h (powf): New declaration.
1793         * lib/powf.c: New file.
1794         * m4/powf.m4: New file.
1795         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
1796         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
1797         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
1798         * modules/powf: New file.
1799         * tests/test-math-c++.cc: Check the declaration of powf.
1800         * doc/posix-functions/powf.texi: Mention the new module.
1801
1802         pow: Use a .m4 file.
1803         * m4/pow.m4: New file.
1804         * modules/pow (Files): Add it.
1805         (configure.ac): Just invoke gl_FUNC_POW.
1806
1807 2011-10-08  Bruno Haible  <bruno@clisp.org>
1808
1809         Tests for module 'log10f'.
1810         * modules/log10f-tests: New file.
1811         * tests/test-log10f.c: New file.
1812
1813         New module 'log10f'.
1814         * lib/math.in.h (log10f): New declaration.
1815         * lib/log10f.c: New file.
1816         * m4/log10f.m4: New file.
1817         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
1818         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
1819         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
1820         * modules/log10f: New file.
1821         * tests/test-math-c++.cc: Check the declaration of log10f.
1822         * doc/posix-functions/log10f.texi: Mention the new module.
1823
1824         log10: Use a .m4 file.
1825         * m4/log10.m4: New file.
1826         * modules/log10 (Files): Add it.
1827         (configure.ac): Just invoke gl_FUNC_LOG10.
1828
1829 2011-10-08  Bruno Haible  <bruno@clisp.org>
1830
1831         Tests for module 'logf'.
1832         * modules/logf-tests: New file.
1833         * tests/test-logf.c: New file.
1834
1835         New module 'logf'.
1836         * lib/math.in.h (logf): New declaration.
1837         * lib/logf.c: New file.
1838         * m4/logf.m4: New file.
1839         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
1840         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
1841         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
1842         * modules/logf: New file.
1843         * tests/test-math-c++.cc: Check the declaration of logf.
1844         * doc/posix-functions/logf.texi: Mention the new module.
1845
1846         log: Use a .m4 file.
1847         * m4/log.m4: New file.
1848         * modules/log (Files): Add it.
1849         (configure.ac): Just invoke gl_FUNC_LOG.
1850
1851 2011-10-08  Bruno Haible  <bruno@clisp.org>
1852
1853         Tests for module 'expf'.
1854         * modules/expf-tests: New file.
1855         * tests/test-expf.c: New file.
1856
1857         New module 'expf'.
1858         * lib/math.in.h (expf): New declaration.
1859         * lib/expf.c: New file.
1860         * m4/expf.m4: New file.
1861         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
1862         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
1863         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
1864         * modules/expf: New file.
1865         * tests/test-math-c++.cc: Check the declaration of expf.
1866         * doc/posix-functions/expf.texi: Mention the new module.
1867
1868         exp: Use a .m4 file.
1869         * m4/exp.m4: New file.
1870         * modules/exp (Files): Add it.
1871         (configure.ac): Just invoke gl_FUNC_EXP.
1872
1873 2011-10-08  Bruno Haible  <bruno@clisp.org>
1874
1875         Tests for module 'sqrtf'.
1876         * modules/sqrtf-tests: New file.
1877         * tests/test-sqrtf.c: New file.
1878
1879         New module 'sqrtf'.
1880         * lib/math.in.h (sqrtf): New declaration.
1881         * lib/sqrtf.c: New file.
1882         * m4/sqrtf.m4: New file.
1883         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
1884         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
1885         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
1886         * modules/sqrtf: New file.
1887         * tests/test-math-c++.cc: Check the declaration of sqrtf.
1888         * doc/posix-functions/sqrtf.texi: Mention the new module.
1889
1890 2011-10-08  Bruno Haible  <bruno@clisp.org>
1891
1892         Tests: Avoid link failures w.r.t. libintl.
1893         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
1894         $(LIBINTL).
1895         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
1896         $(LIBINTL).
1897         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
1898         against $(LIBINTL).
1899         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
1900         $(LIBINTL).
1901         * modules/openat-tests (Makefile.am): Link test-fchmodat against
1902         $(LIBINTL).
1903         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
1904
1905 2011-10-08  Bruno Haible  <bruno@clisp.org>
1906
1907         pow tests: Defeat compiler optimizations.
1908         * tests/test-pow.c (main): Assign arguments to x and y before use.
1909
1910 2011-10-08  Bruno Haible  <bruno@clisp.org>
1911
1912         gnulib-tool: Improve last commit.
1913         * gnulib-tool (func_modules_transitive_closure): Simplify code.
1914         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
1915         ignore dependencies that are not among the modules list.
1916
1917 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
1918
1919         gnulib-tool: don't follow dependencies to avoided modules
1920         This fixes a bug that is related to the previous one.
1921         * gnulib-tool (func_modules_transitive_closure)
1922         (func_emit_autoconf_snippets):
1923         Check whether a dependency is acceptable before using it.
1924         (--extract-dependencies): Report an error if --avoid is also used,
1925         since this combination of options is not yet supported.
1926
1927         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
1928         Problem reported by Peter Dyballa in
1929         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
1930         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
1931         when echoing "$condition".
1932
1933 2011-10-07  Bruno Haible  <bruno@clisp.org>
1934
1935         Fix documentation about math functions on MacOS X.
1936         * doc/posix-functions/exp2.texi: Don't say the function is missing on
1937         MacOS X 10.5.
1938         * doc/posix-functions/fdim.texi: Likewise.
1939         * doc/posix-functions/feclearexcept.texi: Likewise.
1940         * doc/posix-functions/fegetenv.texi: Likewise.
1941         * doc/posix-functions/fegetround.texi: Likewise.
1942         * doc/posix-functions/feholdexcept.texi: Likewise.
1943         * doc/posix-functions/feraiseexcept.texi: Likewise.
1944         * doc/posix-functions/fesetenv.texi: Likewise.
1945         * doc/posix-functions/fesetround.texi: Likewise.
1946         * doc/posix-functions/fetestexcept.texi: Likewise.
1947         * doc/posix-functions/feupdateenv.texi: Likewise.
1948         * doc/posix-functions/fmax.texi: Likewise.
1949         * doc/posix-functions/fmin.texi: Likewise.
1950         * doc/posix-functions/log2.texi: Likewise.
1951         * doc/posix-functions/modff.texi: Likewise.
1952         * doc/posix-functions/nan.texi: Likewise.
1953         * doc/posix-functions/nanf.texi: Likewise.
1954         * doc/posix-functions/nextafterf.texi: Likewise.
1955         * doc/posix-functions/remquo.texi: Likewise.
1956
1957 2011-10-07  Bruno Haible  <bruno@clisp.org>
1958
1959         modff: Drop assumption about library that defines modff.
1960         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
1961         AC_CHECK_FUNCS.
1962         * modules/modff (Files): Add m4/mathfunc.m4.
1963
1964 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
1965
1966         raise tests: Avoid a GCC warning.
1967         * tests/test-raise.c (handler): Use _Noreturn.
1968
1969 2011-10-07  Bruno Haible  <bruno@clisp.org>
1970
1971         Tests for module 'ldexpf'.
1972         * modules/ldexpf-tests: New file.
1973         * tests/test-ldexpf.c: New file.
1974
1975         New module 'ldexpf'.
1976         * lib/math.in.h (ldexpf): New declaration.
1977         * lib/ldexpf.c: New file.
1978         * m4/ldexpf.m4: New file.
1979         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
1980         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
1981         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
1982         * modules/ldexpf: New file.
1983         * tests/test-math-c++.cc: Check the declaration of ldexpf.
1984         * doc/posix-functions/ldexpf.texi: Mention the new module.
1985
1986 2011-10-06  Bruno Haible  <bruno@clisp.org>
1987
1988         frexpf: Work around problems on IRIX and mingw.
1989         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
1990         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
1991         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
1992         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
1993         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
1994         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
1995         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
1996
1997 2011-10-06  Bruno Haible  <bruno@clisp.org>
1998
1999         fabsf: Drop assumption about library that defines fabsf.
2000         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
2001         AC_CHECK_FUNCS.
2002         * modules/fabsf (Files): Add m4/mathfunc.m4.
2003
2004 2011-10-06  Bruno Haible  <bruno@clisp.org>
2005
2006         frexpf: Drop assumption about library that defines frexpf.
2007         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
2008         'int *', 'float *', 'long double *', 'float', 'long double'.
2009         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
2010         AC_CHECK_FUNCS.
2011         * modules/frexpf (Files): Add m4/mathfunc.m4.
2012
2013         Tests for module 'frexpf'.
2014         * modules/frexpf-tests: New file.
2015         * tests/test-frexpf.c: New file.
2016
2017         New module 'frexpf'.
2018         * lib/math.in.h (frexpf): New declaration.
2019         * lib/frexpf.c: New file.
2020         * m4/frexpf.m4: New file.
2021         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
2022         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
2023         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
2024         * modules/frexpf: New file.
2025         * tests/test-math-c++.cc: Check the declaration of frexpf.
2026         * doc/posix-functions/frexpf.texi: Mention the new module.
2027
2028 2011-10-06  Bruno Haible  <bruno@clisp.org>
2029
2030         math: Sort function declarations of math.in.h.
2031         * lib/math.in.h (frexp, logb): Move declarations.
2032
2033 2011-10-05  Bruno Haible  <bruno@clisp.org>
2034
2035         Tests for module 'modff'.
2036         * modules/modff-tests: New file.
2037         * tests/test-modff.c: New file.
2038
2039         New module 'modff'.
2040         * lib/math.in.h (modff): New declaration.
2041         * lib/modff.c: New file.
2042         * m4/modff.m4: New file.
2043         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
2044         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
2045         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
2046         * modules/modff: New file.
2047         * tests/test-math-c++.cc: Check the declaration of modff.
2048         * doc/posix-functions/modff.texi: Mention the new module.
2049
2050         modf tests: Make test sharper.
2051         * tests/test-modf.c (main): Strengthen upper bound.
2052
2053         modf: Use a .m4 file.
2054         * m4/modf.m4: New file.
2055         * modules/modf (Files): Add it.
2056         (configure.ac): Just invoke gl_FUNC_MODF.
2057
2058 2011-10-05  Bruno Haible  <bruno@clisp.org>
2059
2060         Tests for module 'fmodf'.
2061         * modules/fmodf-tests: New file.
2062         * tests/test-fmodf.c: New file.
2063
2064         New module 'fmodf'.
2065         * lib/math.in.h (fmodf): New declaration.
2066         * lib/fmodf.c: New file.
2067         * m4/fmodf.m4: New file.
2068         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
2069         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
2070         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
2071         * modules/fmodf: New file.
2072         * tests/test-math-c++.cc: Check the declaration of fmodf.
2073         * doc/posix-functions/fmodf.texi: Mention the new module.
2074
2075         fmod: Use a .m4 file.
2076         * m4/fmod.m4: New file.
2077         * modules/fmod (Files): Add it.
2078         (configure.ac): Just invoke gl_FUNC_FMOD.
2079
2080 2011-10-05  Bruno Haible  <bruno@clisp.org>
2081
2082         Tests for module 'fabsf'.
2083         * modules/fabsf-tests: New file.
2084         * tests/test-fabsf.c: New file.
2085
2086         New module 'fabsf'.
2087         * lib/math.in.h (fabsf): New declaration.
2088         * lib/fabsf.c: New file.
2089         * m4/fabsf.m4: New file.
2090         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
2091         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
2092         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
2093         * modules/fabsf: New file.
2094         * tests/test-math-c++.cc: Check the declaration of fabsf.
2095         * doc/posix-functions/fabsf.texi: Mention the new module.
2096
2097         fabs: Use a .m4 file.
2098         * m4/fabs.m4: New file.
2099         * modules/fabs (Files): Add it.
2100         (configure.ac): Just invoke gl_FUNC_FABS.
2101
2102 2011-10-05  Jim Meyering  <meyering@redhat.com>
2103
2104         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
2105         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
2106         ls -lL regression introduced in coreutils-8.12, it does so at the
2107         cost of an additional stat call in the common case.  Besides, now
2108         that the kernel change that prompted commit 95f7c57f has been reverted
2109         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
2110         we have no use for commit 95f7c57f, "file-has-acl: use
2111         acl_extended_file_nofollow if available".
2112
2113 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
2114
2115         file-has-acl: revert unintended change in behavior of ls -L
2116         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
2117         derived from...
2118         (file_has_acl): ...code here.  Call it.
2119         This problem was introduced with 2011-07-22 commit 95f7c57f,
2120         "file-has-acl: use acl_extended_file_nofollow if available".
2121         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
2122
2123 2011-10-03  Bruno Haible  <bruno@clisp.org>
2124
2125         poll: Avoid link errors on MSVC.
2126         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
2127         * modules/poll (Depends-on): Add sockets.
2128         (Link): New section.
2129         * NEWS: Mention the change.
2130         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
2131         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
2132         $(LIB_POLL) instead of $(LIBSOCKET).
2133
2134 2011-10-03  Bruno Haible  <bruno@clisp.org>
2135
2136         sys_select tests: Fix link error on MSVC 9.
2137         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
2138         with $(LIB_SELECT) instead of $(LIBSOCKET).
2139
2140 2011-10-03  Bruno Haible  <bruno@clisp.org>
2141
2142         sys_select: Fix compilation error on mingw.
2143         * lib/sys_select.in.h: On native Windows, include <io.h>.
2144
2145 2011-10-03  Bruno Haible  <bruno@clisp.org>
2146
2147         wmemset: Support for MSVC.
2148         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
2149         whether wmemset() exists.
2150
2151 2011-10-03  Bruno Haible  <bruno@clisp.org>
2152
2153         wmemmove: Support for MSVC.
2154         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
2155         whether wmemmove() exists.
2156
2157 2011-10-03  Bruno Haible  <bruno@clisp.org>
2158
2159         wmemcpy: Support for MSVC.
2160         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
2161         whether wmemcpy() exists.
2162
2163 2011-10-03  Bruno Haible  <bruno@clisp.org>
2164
2165         wmemcmp: Support for MSVC.
2166         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
2167         whether wmemcmp() exists.
2168
2169 2011-10-03  Bruno Haible  <bruno@clisp.org>
2170
2171         wmemchr: Support for MSVC.
2172         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
2173         whether wmemchr() exists.
2174
2175 2011-10-03  Bruno Haible  <bruno@clisp.org>
2176
2177         glthread/*, strsignal: Support for MSVC.
2178         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
2179         including <winsock.h> on MSVC 9.
2180         * lib/glthread/lock.h: Likewise.
2181         * lib/glthread/thread.h: Likewise.
2182         * lib/glthread/tls.h: Likewise.
2183         * lib/glthread/yield.h: Likewise.
2184         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
2185         if HAVE_UNISTD_H is false.
2186         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
2187
2188 2011-10-03  Bruno Haible  <bruno@clisp.org>
2189
2190         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
2191         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
2192         Set to 100000.
2193
2194 2011-10-03  Bruno Haible  <bruno@clisp.org>
2195
2196         acl: Fix specification.
2197         * lib/file-has-acl.c (file_has_acl): Fix specification.
2198
2199 2011-10-03  Bruno Haible  <bruno@clisp.org>
2200
2201         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
2202         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
2203         (compute_curr_prefix, shared_library_fullname,
2204         find_shared_library_fullname, get_shared_library_fullname, relocate):
2205         Use it together with PIC && INSTALLDIR.
2206         Reported by <jojelino@gmail.com>
2207         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
2208
2209 2011-10-01  Jim Meyering  <meyering@redhat.com>
2210
2211         maint.mk: adjust a release-related rule not to require use of gzip
2212         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
2213         Instead, check each file in $(DIST_ARCHIVES).  This is better for
2214         projects that build only .tar.xz files.  Also fix an erroneous test.
2215
2216         test-linkat: don't leave behind a temporary file
2217         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
2218         Otherwise, coreutils' "make distcheck" would fail with this:
2219           Only in /c/cu/tests/torture/coreutils/test/\
2220             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
2221           make[2]: *** [my-distcheck] Error 1
2222
2223         float, math: add omitted file
2224         * lib/itold.c: Add file, required for yesterday's float change.
2225
2226 2011-10-01  Bruno Haible  <bruno@clisp.org>
2227
2228         isinf: Fix for OpenBSD/x86.
2229         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
2230         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
2231         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
2232
2233 2011-10-01  Bruno Haible  <bruno@clisp.org>
2234
2235         isfinite: Fix syntax error in configure test.
2236         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
2237
2238         isfinite: Fix typo.
2239         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
2240         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
2241
2242 2011-10-01  Bruno Haible  <bruno@clisp.org>
2243
2244         nonblocking tests: Fix test failure on Linux/IA-64.
2245         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
2246         Set to 270000.
2247
2248 2011-10-01  Bruno Haible  <bruno@clisp.org>
2249
2250         mkfifoat tests: Fix a test failure on mingw.
2251         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
2252         with error ENOSYS.
2253
2254 2011-09-30  Bruno Haible  <bruno@clisp.org>
2255
2256         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
2257         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
2258         'long double'. Set REPLACE_ITOLD.
2259         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
2260         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
2261         * lib/itold.c: New file.
2262         * modules/float (Files): Add lib/itold.c.
2263         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
2264         (Makefile.am): Substitute REPLACE_ITOLD.
2265         * modules/math (Depends-on): Add float.
2266         (Makefile.am): Substitute REPLACE_ITOLD.
2267         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
2268         * doc/posix-headers/math.texi: Likewise.
2269         * doc/posix-functions/logl.texi: Likewise.
2270
2271 2011-09-30  Bruno Haible  <bruno@clisp.org>
2272
2273         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
2274         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
2275         Set to 140000.
2276
2277 2011-09-30  Bruno Haible  <bruno@clisp.org>
2278
2279         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
2280         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
2281         invocation, say "right after AC_PROG_CC_STDC", not "right after
2282         AC_PROG_CC".
2283         Reported by Gary V. Vaughan <gary@gnu.org>.
2284
2285 2011-09-30  Bruno Haible  <bruno@clisp.org>
2286
2287         Centralize C99 requirement.
2288         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
2289         * modules/stdarg (configure.ac-early): Invoke it instead of
2290         AC_PROG_CC_STDC.
2291         Reported by Gary V. Vaughan and Paul Eggert.
2292
2293 2011-09-29  Bruno Haible  <bruno@clisp.org>
2294
2295         float: Fix LDBL_MAX value on Linux/PowerPC.
2296         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
2297         on Linux/PowerPC.
2298         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
2299         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
2300         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
2301         platform.
2302         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
2303
2304 2011-09-29  Bruno Haible  <bruno@clisp.org>
2305
2306         doc: Improve doc about gl_EARLY.
2307         * doc/gnulib-tool.texi (Initial import): Mention where to place an
2308         AC_PROG_CC_STDC invocation.
2309         Reported by Gary V. Vaughan <gary@gnu.org>.
2310
2311 2011-09-28  Bruno Haible  <bruno@clisp.org>
2312
2313         fgetc, fputc, fread, fwrite tests: Fix link error.
2314         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
2315         on non-MSVC platforms.
2316         * tests/test-fputc.c (main): Likewise.
2317         * tests/test-fread.c (main): Likewise.
2318         * tests/test-fwrite.c (main): Likewise.
2319         Reported by Jim Meyering.
2320
2321 2011-09-27  Bruno Haible  <bruno@clisp.org>
2322
2323         fputc, fwrite tests: Avoid test failure on MSVC.
2324         * tests/test-fgetc.c: Include msvc-inval.h.
2325         (main): Invoke gl_msvc_inval_ensure_handler.
2326         * tests/test-fputc.c: Include msvc-inval.h.
2327         (main): Invoke gl_msvc_inval_ensure_handler.
2328         * tests/test-fread.c: Include msvc-inval.h.
2329         (main): Invoke gl_msvc_inval_ensure_handler.
2330         * tests/test-fwrite.c: Include msvc-inval.h.
2331         (main): Invoke gl_msvc_inval_ensure_handler.
2332         * modules/fgetc-tests (Depends-on): Add msvc-inval.
2333         * modules/fputc-tests (Depends-on): Likewise.
2334         * modules/fread-tests (Depends-on): Likewise.
2335         * modules/fwrite-tests (Depends-on): Likewise.
2336
2337 2011-09-27  Bruno Haible  <bruno@clisp.org>
2338
2339         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
2340         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
2341         (raise): Remove older, duplicated declaration.
2342         (_gl_raise_SIGPIPE): New declaration.
2343         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
2344         (rpl_raise): Remove function.
2345         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
2346         a gnulib-defined SIGPIPE here.
2347         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
2348         'sigprocmask' has detected missing signal-blocking and the module
2349         'sigpipe' is enabled.
2350         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
2351
2352 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
2353
2354         base64-tests: avoid memory leak
2355         * tests/test-base64.c (main): Plug memory leak.
2356
2357         base32: new module
2358         * modules/base32: New module.
2359         * lib/base32.c: New file.
2360         * lib/base32.h: Likewise.
2361         * m4/base32.m4: Likewise.
2362         * modules/base32-tests: New test.
2363         * tests/test-base32.c: Likewise.
2364         * MODULES.html.sh (Misc): Mention it.
2365
2366 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
2367
2368         gnulib: use more-standard license notice wording
2369         * gnulib-tool (func_emit_copyright_notice): When emitting a
2370         license notice into a file, use the standard wording as suggested
2371         by the current information for GNU maintainers, except say "file"
2372         rather than "program".  The new wording gives a license version
2373         number, which addresses an issue raised by Glenn Morris in
2374         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
2375         * m4/onceonly.m4: Use that same wording here, too.
2376
2377         dup2: minor simplification
2378         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
2379         as lib/dup2.c no longer uses 'inline'.
2380
2381 2011-09-25  Bruno Haible  <bruno@clisp.org>
2382
2383         strings: Fix compilation error on MSVC.
2384         * lib/strings.in.h: Include <stddef.h> for size_t.
2385
2386 2011-09-25  Bruno Haible  <bruno@clisp.org>
2387
2388         fflush et al.: Document limitation on MSVC.
2389         * doc/posix-functions/fflush.texi: Document possible crash in handling
2390         mode other than DEFAULT_HANDLING.
2391         * doc/posix-functions/fgetc.texi: Likewise.
2392         * doc/posix-functions/fputc.texi: Likewise.
2393         * doc/posix-functions/fread.texi: Likewise.
2394         * doc/posix-functions/fwrite.texi: Likewise.
2395
2396 2011-09-25  Bruno Haible  <bruno@clisp.org>
2397
2398         msvc-inval: Allow three invalid parameter handling modes.
2399         * lib/msvc-inval.h: Don't include <stdlib.h> here.
2400         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
2401         macros.
2402         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
2403         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
2404         SANE_LIBRARY_HANDLING as a no-op.
2405         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
2406         <stdlib.h>.
2407         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
2408
2409 2011-09-25  Bruno Haible  <bruno@clisp.org>
2410
2411         msvc-inval: Make handler multithread-safe.
2412         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
2413         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
2414         declarations.
2415         (gl_msvc_inval_current): New declaration.
2416         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
2417         Operate on the structure returned by gl_msvc_inval_current().
2418         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
2419         Remove varaiables.
2420         (tls_index, tls_initialized): New variables.
2421         (not_per_thread): New variable.
2422         (gl_msvc_inval_current): New function.
2423         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
2424         returned by gl_msvc_inval_current().
2425
2426 2011-09-25  Bruno Haible  <bruno@clisp.org>
2427
2428         msvc-inval: Install handler globally.
2429         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
2430         !_MSC_VER.
2431         (gl_msvc_invalid_parameter_handler): Remove declaration.
2432         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
2433         declarations.
2434         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
2435         Install the handler globally, don't uninstall it.
2436         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
2437         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
2438         currently valid, call RaiseException instead.
2439         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
2440         for !_MSC_VER.
2441
2442 2011-09-25  Bruno Haible  <bruno@clisp.org>
2443
2444         strerror_r-posix: Fix for MSVC 9.
2445         * lib/strerror_r.c (local_snprintf): New function.
2446         (snprintf): Define to local_snprintf, not to _snprintf.
2447
2448 2011-09-25  Bruno Haible  <bruno@clisp.org>
2449
2450         ftruncate: Support for MSVC 9.
2451         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
2452         (chsize_nothrow): New function.
2453         (chsize): Redefine as a macro.
2454         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
2455         * modules/ftruncate (Depends-on): Add msvc-inval.
2456
2457 2011-09-25  Bruno Haible  <bruno@clisp.org>
2458
2459         New module 'fstat'.
2460         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
2461         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
2462         * lib/fchdir.c (rpl_fstat): Remove function.
2463         * m4/fstat.m4: New file.
2464         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
2465         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
2466         declared.
2467         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
2468         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
2469         * modules/fstat: New file.
2470         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
2471         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
2472         is set.
2473         * doc/posix-functions/fstat.texi: Mention the new module and the
2474         problem on MSVC.
2475         * NEWS: Mention the change.
2476         * modules/acl (Depends-on): Add fstat.
2477         * modules/chdir-safer (Depends-on): Likewise.
2478         * modules/chown (Depends-on): Likewise.
2479         * modules/copy-file (Depends-on): Likewise.
2480         * modules/fchdir (Depends-on): Likewise.
2481         * modules/fdopendir (Depends-on): Likewise.
2482         * modules/fopen (Depends-on): Likewise.
2483         * modules/fts (Depends-on): Likewise.
2484         * modules/getcwd (Depends-on): Likewise.
2485         * modules/isapipe (Depends-on): Likewise.
2486         * modules/linkat (Depends-on): Likewise.
2487         * modules/lseek (Depends-on): Likewise.
2488         * modules/mkdir-p (Depends-on): Likewise.
2489         * modules/open (Depends-on): Likewise.
2490         * modules/openat (Depends-on): Likewise.
2491         * modules/read-file (Depends-on): Likewise.
2492         * modules/renameat (Depends-on): Likewise.
2493         * modules/utimens (Depends-on): Likewise.
2494
2495 2011-09-25  Bruno Haible  <bruno@clisp.org>
2496
2497         linkat: Fix compilation on MSVC 9.
2498         * lib/linkat.c: Don't include <stdint.h>.
2499
2500 2011-09-25  Bruno Haible  <bruno@clisp.org>
2501
2502         fclose: Support for MSVC 9.
2503         * lib/fclose.c: Include msvc-inval.h.
2504         (fclose_nothrow): New function.
2505         (rpl_fclose): Use it.
2506         * modules/fclose (Depends-on): Add msvc-inval.
2507         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
2508
2509 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
2510
2511         dup2: minor simplifications
2512         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
2513         that it's a performance win.
2514         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
2515         ! defined __CYGWIN__)" to "ifdef F_GETFL".
2516
2517 2011-09-24  Jim Meyering  <meyering@redhat.com>
2518
2519         test-futimens: avoid a warning from gcc -Wshadow
2520         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
2521         to avoid a shadowing warning.
2522
2523 2011-09-24  Bruno Haible  <bruno@clisp.org>
2524
2525         fdopen: Support for MSVC 9.
2526         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
2527         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
2528         * lib/fdopen.c: Include msvc-inval.h.
2529         (fdopen_nothrow): New function.
2530         (rpl_fdopen): Use it.
2531         * modules/fdopen (Depends-on): Add msvc-inval.
2532         * modules/fclose-tests (Depends-on): Add fdopen.
2533         * modules/fflush-tests (Depends-on): Likewise.
2534         * modules/fgetc-tests (Depends-on): Likewise.
2535         * modules/fputc-tests (Depends-on): Likewise.
2536         * modules/fread-tests (Depends-on): Likewise.
2537         * modules/freopen-tests (Depends-on): Likewise.
2538         * modules/fseeko-tests (Depends-on): Likewise.
2539         * modules/ftello-tests (Depends-on): Likewise.
2540         * modules/fwrite-tests  (Depends-on): Likewise.
2541         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
2542
2543 2011-09-24  Bruno Haible  <bruno@clisp.org>
2544
2545         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
2546         * modules/fgetc-tests (Depends-on): Add unistd.
2547         * modules/fputc-tests (Depends-on): Likewise.
2548         * modules/fread-tests (Depends-on): Likewise.
2549         * modules/fwrite-tests (Depends-on): Likewise.
2550
2551 2011-09-24  Bruno Haible  <bruno@clisp.org>
2552
2553         dup: Simplify autoconf test.
2554         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
2555         on gl_MSVC_INVAL's result.
2556
2557 2011-09-24  Bruno Haible  <bruno@clisp.org>
2558
2559         Tests for function fwrite().
2560         * modules/fwrite-tests: New file.
2561         * tests/test-fwrite.c: New file.
2562         * modules/stdio-tests (Depends-on): Add fwrite-tests.
2563
2564         Tests for function fread().
2565         * modules/fread-tests: New file.
2566         * tests/test-fread.c: New file.
2567         * modules/stdio-tests (Depends-on): Add fread-tests.
2568
2569         Activate fputc tests.
2570         * modules/stdio-tests (Depends-on): Add fputc-tests.
2571
2572         Enhance fgetc, fputc tests.
2573         * tests/test-fgetc.c (main): Also test the stream's error indicator.
2574         * tests/test-fputc.c (main): Likewise.
2575
2576 2011-09-24  Bruno Haible  <bruno@clisp.org>
2577
2578         write: Support for MSVC 9.
2579         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
2580         is not 1.
2581         * lib/write.c (write_nothrow): New function.
2582         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
2583         not 1. Use write_nothrow.
2584         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
2585         invalid parameter handler.
2586         (gl_PREREQ_WRITE): New macro.
2587         * modules/write (Depends-on): Add msvc-inval.
2588         (configure.ac): Invoke gl_PREREQ_WRITE.
2589         * doc/posix-functions/write.texi: Mention the problem on MSVC.
2590
2591 2011-09-24  Bruno Haible  <bruno@clisp.org>
2592
2593         read: Fix last commit.
2594         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
2595
2596 2011-09-24  Bruno Haible  <bruno@clisp.org>
2597
2598         dup2: Fix last commit.
2599         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
2600         (rpl_dup2): Disable fcntl workaround on native Windows.
2601
2602         sigprocmask: Make code safer.
2603         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
2604         section that changes macro definitions for this compilation unit.
2605
2606 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
2607
2608         dup2: clarify by coalescing Windows-specific material
2609         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
2610         "msvc-nothrow.h"' to the Windows-specific section, so that the
2611         Emacs source need not contain these include files.
2612         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
2613         Windows-specific fixes into this function rather than just the
2614         nothrow fix, as this shortens and clarifies the code.  Always
2615         define as a function, as that's a bit cleaner than having it be
2616         sometimes a function and sometimes a macro.
2617         (rpl_dup2): Move the Windows-specific stuff out of here and into
2618         ms_windows_dup2.  Don't protect the Haiku-related fix with
2619         "#if !defined __linux__", as the same code also works around
2620         a Linux kernel bug, and it doesn't add any system calls on any
2621         platform.  Add comment about FreeBSD 6.1.
2622
2623         sigprocmask: move #include directive
2624         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
2625         Windows-specific section, so that the Emacs source need not
2626         contain msvc-inval.h.
2627
2628 2011-09-23  Bruno Haible  <bruno@clisp.org>
2629
2630         read: Support for MSVC 9.
2631         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
2632         is not 1.
2633         * lib/read.c (read_nothrow): New function.
2634         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
2635         read_nothrow.
2636         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
2637         invalid parameter handler.
2638         (gl_PREREQ_READ): New macro.
2639         * modules/read (Depends-on): Add msvc-inval.
2640         (configure.ac): Invoke gl_PREREQ_READ.
2641         * doc/posix-functions/read.texi: Mention the problem on MSVC.
2642
2643 2011-09-23  Bruno Haible  <bruno@clisp.org>
2644
2645         close: Support for MSVC 9.
2646         * lib/close.c: Include <errno.h>, msvc-inval.h.
2647         (close_nothrow): New function.
2648         (rpl_close): Use it.
2649         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
2650         invalid parameter handler.
2651         * modules/close (Depends-on): Add msvc-inval.
2652         * modules/dup2-tests (Depends-on): Add close.
2653         * modules/dup3-tests (Depends-on): Likewise.
2654         * modules/fcntl-tests (Depends-on): Likewise.
2655         * modules/spawn-pipe-tests (Depends-on): Likewise.
2656         * modules/unistd-safer-tests (Depends-on): Likewise.
2657         * doc/posix-functions/close.texi: Mention the problem on MSVC.
2658
2659 2011-09-23  Bruno Haible  <bruno@clisp.org>
2660
2661         New module 'dup'.
2662         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
2663         Allow replacement.
2664         * lib/dup.c: New file.
2665         * lib/fchdir.c (rpl_dup): Remove function.
2666         * m4/dup.m4: New file.
2667         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
2668         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
2669         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
2670         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
2671         * modules/dup: New file.
2672         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
2673         'dup' module is in use.
2674         * modules/fdopendir (Depends-on): Add dup.
2675         * modules/fdutimensat-tests (Depends-on): Likewise.
2676         * modules/fts (Depends-on): Likewise.
2677         * modules/futimens-tests (Depends-on): Likewise.
2678         * modules/posix_spawnp-tests (Depends-on): Likewise.
2679         * modules/unistd-safer-tests (Depends-on): Likewise.
2680         * modules/utimens-tests (Depends-on): Likewise.
2681         * doc/posix-functions/dup.texi: Mention the new module and the problem
2682         on MSVC.
2683
2684 2011-09-23  Bruno Haible  <bruno@clisp.org>
2685
2686         getdtablesize: Support for MSVC 9.
2687         * lib/getdtablesize.c: Include msvc-inval.h.
2688         (_setmaxstdio_nothrow): New function.
2689         (_setmaxstdio): Redefine it.
2690         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
2691         * modules/getdtablesize (Depends-on): Add msvc-inval.
2692         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
2693
2694 2011-09-23  Bruno Haible  <bruno@clisp.org>
2695
2696         signal-h: Rename from signal.
2697         * modules/signal-h: Renamed from modules/signal.
2698         * modules/pthread_sigmask (Depends-on): Update.
2699         * modules/raise (Depends-on): Likewise.
2700         * modules/sigaction (Depends-on): Likewise.
2701         * modules/sigpipe (Depends-on): Likewise.
2702         * modules/sigprocmask (Depends-on): Likewise.
2703         * modules/sys_select (Depends-on): Likewise.
2704         * modules/signal-h-tests: Renamed from modules/signal-tests.
2705         (Files, Depends-on, Makefile.am): Update.
2706         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
2707         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
2708         (Files, Makefile.am): Update.
2709         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
2710         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
2711         * modules/signal: New placeholder file.
2712         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
2713         * doc/posix-headers/signal.texi: Update.
2714         * NEWS: Mention the change.
2715
2716 2011-09-23  Bruno Haible  <bruno@clisp.org>
2717
2718         sigprocmask: Avoid crashes through signal() on MSVC 9.
2719         * lib/sigprocmask.c: Include msvc-inval.h.
2720         (signal_nothrow): New function.
2721         (signal): Redefine it.
2722         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
2723         * modules/sigprocmask (Depends-on): Add msvc-inval.
2724         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
2725
2726 2011-09-23  Bruno Haible  <bruno@clisp.org>
2727
2728         Tests for module 'raise'.
2729         * modules/raise-tests: New file.
2730         * tests/test-raise.c: New file.
2731
2732         raise: Support for MSVC.
2733         * lib/signal.in.h (raise): New declaration.
2734         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
2735         for native Windows platforms.
2736         * m4/raise.m4: New file.
2737         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
2738         HAVE_RAISE, REPLACE_RAISE.
2739         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
2740         REPLACE_RAISE.
2741         * modules/raise (Status, Notice): Remove fields.
2742         (Files): Add m4/raise.m4.
2743         (Depends-on): Add signal, msvc-inval.
2744         (configure.ac): Use the common idioms.
2745         (Maintainer): Add me.
2746         * tests/test-signal-c++.cc: Check the signature of raise.
2747         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
2748
2749 2011-09-23  Bruno Haible  <bruno@clisp.org>
2750
2751         pipe2: Fix compilation on pre-C99 compilers.
2752         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
2753
2754 2011-09-23  Bruno Haible  <bruno@clisp.org>
2755
2756         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
2757         * lib/msvc-nothrow.h: New file.
2758         * lib/msvc-nothrow.c: New file.
2759         * m4/msvc-nothrow.m4: New file.
2760         * modules/msvc-nothrow: New file.
2761         * lib/dup2.c: Include msvc-nothrow.h.
2762         (rpl_dup2): No need to protect _get_osfhandle call here.
2763         * lib/accept4.c: Include msvc-nothrow.h.
2764         * lib/error.c: Likewise.
2765         * lib/fcntl.c: Likewise.
2766         * lib/lseek.c: Likewise.
2767         * lib/nonblocking.c: Likewise.
2768         * lib/poll.c: Likewise.
2769         * lib/read.c: Likewise.
2770         * lib/select.c: Likewise.
2771         * lib/sockets.h: Likewise.
2772         * lib/sockets.c: Likewise.
2773         * lib/stdio-read.c: Likewise.
2774         * lib/stdio-write.c: Likewise.
2775         * lib/write.c: Likewise.
2776         * lib/w32sock.h: Likewise.
2777         * lib/w32spawn.h: Likewise.
2778         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
2779         * lib/fsync.c: Likewise.
2780         * lib/isapipe.c: Likewise.
2781         * modules/dup2 (Depends-on): Add msvc-nothrow.
2782         * modules/accept4 (Depends-on): Likewise.
2783         * modules/error (Depends-on): Likewise.
2784         * modules/fcntl (Depends-on): Likewise.
2785         * modules/lseek (Depends-on): Likewise.
2786         * modules/nonblocking (Depends-on): Likewise.
2787         * modules/poll (Depends-on): Likewise.
2788         * modules/read (Depends-on): Likewise.
2789         * modules/select (Depends-on): Likewise.
2790         * modules/sockets (Depends-on): Likewise.
2791         * modules/sigpipe (Depends-on): Likewise.
2792         * modules/write (Depends-on): Likewise.
2793         * modules/accept (Depends-on): Likewise.
2794         * modules/bind (Depends-on): Likewise.
2795         * modules/connect (Depends-on): Likewise.
2796         * modules/gethostname (Depends-on): Likewise.
2797         * modules/getpeername (Depends-on): Likewise.
2798         * modules/getsockname (Depends-on): Likewise.
2799         * modules/getsockopt (Depends-on): Likewise.
2800         * modules/ioctl (Depends-on): Likewise.
2801         * modules/listen (Depends-on): Likewise.
2802         * modules/recv (Depends-on): Likewise.
2803         * modules/recvfrom (Depends-on): Likewise.
2804         * modules/send (Depends-on): Likewise.
2805         * modules/sendto (Depends-on): Likewise.
2806         * modules/setsockopt (Depends-on): Likewise.
2807         * modules/shutdown (Depends-on): Likewise.
2808         * modules/socket (Depends-on): Likewise.
2809         * modules/execute (Depends-on): Likewise.
2810         * modules/spawn-pipe (Depends-on): Likewise.
2811         * modules/flock (Depends-on): Likewise.
2812         * modules/fsync (Depends-on): Likewise.
2813         * modules/isapipe (Depends-on): Likewise.
2814         * tests/test-cloexec.c: Include msvc-nothrow.h.
2815         * tests/test-dup-safer.c: Likewise.
2816         * tests/test-dup2.c: Likewise.
2817         * tests/test-dup3.c: Likewise.
2818         * tests/test-fcntl.c: Likewise.
2819         * tests/test-pipe.c: Likewise.
2820         * tests/test-pipe2.c: Likewise.
2821         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
2822         * modules/unistd-safer-tests (Depends-on): Likewise.
2823         * modules/dup2-tests (Depends-on): Likewise.
2824         * modules/dup3-tests (Depends-on): Likewise.
2825         * modules/fcntl-tests (Depends-on): Likewise.
2826         * modules/pipe-posix-tests (Depends-on): Likewise.
2827         * modules/pipe2-tests (Depends-on): Likewise.
2828
2829 2011-09-23  Bruno Haible  <bruno@clisp.org>
2830
2831         dup2: Make code more maintainable.
2832         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
2833         (rpl_dup2): Use it.
2834         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
2835         * modules/dup2 (configure.ac): Invoke it.
2836         Reported by Paul Eggert.
2837
2838 2011-09-23  Bruno Haible  <bruno@clisp.org>
2839
2840         msvc-inval: Fix compilation error.
2841         * lib/msvc-inval.h: Include <excpt.h>.
2842
2843 2011-09-23  Bruno Haible  <bruno@clisp.org>
2844
2845         mkdir: Tweak for MSVC 9.
2846         * lib/sys_stat.in.h: Update comments.
2847         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
2848
2849         Tests for module 'chdir'.
2850         * modules/chdir-tests: New file.
2851         * tests/test-chdir.c: New file.
2852
2853         New module 'chdir'.
2854         * modules/chdir: New file.
2855         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
2856         (chdir): New declaration.
2857         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
2858         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
2859         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
2860         * tests/test-unistd-c++.cc: Check signature of chdir.
2861         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
2862         * modules/chdir-long (Depends-on): Add chdir.
2863         * modules/fchdir (Depends-on): Likewise.
2864         * modules/rename (Depends-on): Likewise.
2865         * modules/savewd (Depends-on): Likewise.
2866
2867         rmdir: Support for mingw, MSVC 9.
2868         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
2869         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
2870
2871         getcwd: Tweak for MSVC 9.
2872         * lib/unistd.in.h: Update comments.
2873         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
2874
2875 2011-09-22  Bruno Haible  <bruno@clisp.org>
2876
2877         strerror_r-posix: Avoid a link error on MSVC.
2878         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
2879         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
2880
2881 2011-09-22  Bruno Haible  <bruno@clisp.org>
2882
2883         select: Avoid link errors on MSVC.
2884         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
2885         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
2886         * modules/pselect (Link): Likewise.
2887         * NEWS: Mention the change.
2888         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
2889         test-select-stdin against $(LIB_SELECT).
2890         * modules/pselect-tests (Makefile.am): Link test-pselect against
2891         $(LIB_SELECT).
2892
2893 2011-09-22  Bruno Haible  <bruno@clisp.org>
2894
2895         select: Avoid compilation error on MSVC.
2896         * lib/select.c: Don't include <stdbool.h>.
2897
2898 2011-09-21  Bruno Haible  <bruno@clisp.org>
2899
2900         Consolidate all uses of PATH_MAX in *.m4 files.
2901         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
2902         macros.
2903         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
2904         and gl_PATHMAX_SNIPPET.
2905         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
2906         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
2907         * modules/chdir-long (Files): Add m4/pathmax.m4.
2908         * modules/getcwd (Files): Likewise.
2909
2910 2011-09-21  Bruno Haible  <bruno@clisp.org>
2911
2912         ftruncate: Un-deprecate, concentrate on Win32 support.
2913         * modules/ftruncate (Status, Notice): Remove sections.
2914         (Depends-on): Add largefile.
2915         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
2916         non-mingw platforms.
2917         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
2918         include <io.h>.
2919         * modules/perror-tests (Depends-on): Add ftruncate.
2920         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
2921         'ftruncate' module.
2922
2923 2011-09-21  Bruno Haible  <bruno@clisp.org>
2924
2925         Add dependencies to new dirent related modules.
2926         * modules/opendir (Depends-on): Add closedir.
2927         * modules/getcwd (Depends-on): Add opendir, closedir.
2928         * modules/dirent-safer-tests (Depends-on): Likewise.
2929         * modules/fdopendir-tests (Depends-on): Likewise.
2930         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
2931         * modules/renameat-tests (Depends-on): Likewise.
2932
2933 2011-09-21  Bruno Haible  <bruno@clisp.org>
2934
2935         opendir: Avoid compilation error on mingw.
2936         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
2937         * modules/opendir (Depends-on): Add unistd.
2938
2939 2011-09-21  Bruno Haible  <bruno@clisp.org>
2940
2941         ftruncate tests: Avoid a test failure on mingw.
2942         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
2943
2944 2011-09-21  Bruno Haible  <bruno@clisp.org>
2945
2946         select tests: Avoid test failures on OSF/1 5.1 and mingw.
2947         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
2948         native Windows.
2949
2950 2011-09-21  Bruno Haible  <bruno@clisp.org>
2951
2952         New module 'fdopen'.
2953         * lib/stdio.in.h (fdopen): New declaration.
2954         * lib/fdopen.c: New file.
2955         * m4/fdopen.m4: New file.
2956         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
2957         REPLACE_FDOPEN.
2958         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
2959         REPLACE_FDOPEN.
2960         * modules/fdopen: New file.
2961         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
2962         * tests/test-stdio-c++.cc: Check signature of fdopen.
2963         * doc/posix-functions/fdopen.texi: Mention the new module.
2964
2965 2011-09-21  Bruno Haible  <bruno@clisp.org>
2966
2967         unlockpt tests: Avoid test failure on NetBSD 5.1.
2968         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
2969         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
2970
2971 2011-09-21  Bruno Haible  <bruno@clisp.org>
2972
2973         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
2974         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
2975         * tests/test-getlogin_r.c (main): Likewise.
2976
2977 2011-09-20  Bruno Haible  <bruno@clisp.org>
2978
2979         time tests: Don't require pid_t.
2980         * doc/posix-headers/time.texi: Revert last change.
2981         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
2982         * tests/test-time.c: Comment out the check for pid_t.
2983
2984 2011-09-20  Bruno Haible  <bruno@clisp.org>
2985
2986         fsync tests: Avoid a test failure on mingw.
2987         * tests/test-fsync.c (main): Allow a failure with EIO.
2988
2989 2011-09-20  Bruno Haible  <bruno@clisp.org>
2990
2991         euidaccess: Update comments.
2992         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
2993
2994 2011-09-20  Bruno Haible  <bruno@clisp.org>
2995
2996         Ensure EBADF returns for socket functions on mingw.
2997         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
2998         descriptor is invalid.
2999         * lib/bind.c (rpl_bind): Likewise.
3000         * lib/connect.c (rpl_connect): Likewise.
3001         * lib/getpeername.c (rpl_getpeername): Likewise.
3002         * lib/getsockname.c (rpl_getsockname): Likewise.
3003         * lib/getsockopt.c (rpl_getsockopt): Likewise.
3004         * lib/listen.c (rpl_listen): Likewise.
3005         * lib/recv.c (rpl_recv): Likewise.
3006         * lib/recvfrom.c (rpl_recvfrom): Likewise.
3007         * lib/send.c (rpl_send): Likewise.
3008         * lib/sendto.c (rpl_sendto): Likewise.
3009         * lib/setsockopt.c (rpl_setsockopt): Likewise.
3010         * lib/shutdown.c (rpl_shutdown): Likewise.
3011
3012 2011-09-20  Bruno Haible  <bruno@clisp.org>
3013
3014         select tests: EBADF tests.
3015         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
3016         test_bad_fd): New functions.
3017         (test_function): Invoke also test_bad_fd.
3018
3019 2011-09-20  Bruno Haible  <bruno@clisp.org>
3020
3021         Tests for module 'posix_spawn_file_actions_addopen.
3022         * modules/posix_spawn_file_actions_addopen-tests: New file.
3023         * tests/test-posix_spawn_file_actions_addopen.c: New file.
3024
3025         Tests for module 'posix_spawn_file_actions_adddup2'.
3026         * modules/posix_spawn_file_actions_adddup2-tests: New file.
3027         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
3028
3029         Tests for module 'posix_spawn_file_actions_addclose'.
3030         * modules/posix_spawn_file_actions_addclose-tests: New file.
3031         * tests/test-posix_spawn_file_actions_addclose.c: New file.
3032
3033 2011-09-20  Bruno Haible  <bruno@clisp.org>
3034
3035         Tests for module 'unlockpt'.
3036         * modules/unlockpt-tests: New file.
3037         * tests/test-unlockpt.c: New file.
3038         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
3039
3040         Tests for module 'grantpt'.
3041         * modules/grantpt-tests: New file.
3042         * tests/test-grantpt.c: New file.
3043         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
3044
3045 2011-09-20  Bruno Haible  <bruno@clisp.org>
3046
3047         freopen tests: EBADF tests.
3048         * tests/test-freopen.c: Include errno.h, unistd.h.
3049         (main): Add tests for EBADF, commented out for the moment.
3050
3051         fclose tests: EBADF tests.
3052         * tests/test-fclose.c (main): Add tests for EBADF.
3053
3054         fflush tests: EBADF tests.
3055         * tests/test-fflush.c: Include errno.h, macros.h.
3056         (main): Add tests for EBADF.
3057
3058         ftello tests: EBADF tests.
3059         * tests/test-ftello4.sh: New file.
3060         * tests/test-ftello4.c: New file.
3061         * modules/ftello-tests (Files): Add them.
3062         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
3063
3064         fseeko tests: EBADF tests.
3065         * tests/test-fseeko4.sh: New file.
3066         * tests/test-fseeko4.c: New file.
3067         * modules/fseeko-tests (Files): Add them.
3068         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
3069
3070         Tests for function fputc().
3071         * modules/fputc-tests: New file.
3072         * tests/test-fputc.c: New file.
3073         * modules/stdio-tests (Depends-on): Add fputc-tests.
3074
3075         Tests for function fgetc().
3076         * modules/fgetc-tests: New file.
3077         * tests/test-fgetc.c: New file.
3078         * modules/stdio-tests (Depends-on): Add fgetc-tests.
3079
3080         Tests for function fdopen().
3081         * modules/fdopen-tests: New file.
3082         * tests/test-fdopen.c: New file.
3083         * modules/stdio-tests (Depends-on): Add fdopen-tests.
3084
3085         Tests for module 'vdprintf'.
3086         * modules/vdprintf-tests: New file.
3087         * tests/test-vdprintf.c: New file.
3088
3089         Tests for module 'dprintf'.
3090         * modules/dprintf-tests: New file.
3091         * tests/test-dprintf.c: New file.
3092
3093 2011-09-20  Bruno Haible  <bruno@clisp.org>
3094
3095         Tests for module 'ioctl'.
3096         * modules/ioctl-tests: New file.
3097         * tests/test-ioctl.c: New file.
3098
3099 2011-09-20  Bruno Haible  <bruno@clisp.org>
3100
3101         fcntl tests: EBADF tests.
3102         * tests/test-fcntl.c (main): Add more tests for EBADF.
3103
3104 2011-09-20  Bruno Haible  <bruno@clisp.org>
3105
3106         utimensat tests: EBADF tests.
3107         * tests/test-utimensat.c (main): Add tests for EBADF.
3108
3109         renameat tests: EBADF tests.
3110         * tests/test-renameat.c (main): Add tests for EBADF.
3111
3112         mkfifoat tests: EBADF tests.
3113         * tests/test-mkfifoat.c (main): Add tests for EBADF.
3114
3115         readlinkat tests: EBADF tests.
3116         * tests/test-readlinkat.c (main): Add tests for EBADF.
3117
3118         symlinkat tests: EBADF tests.
3119         * tests/test-symlinkat.c (main): Add tests for EBADF.
3120
3121         linkat tests: EBADF tests.
3122         * tests/test-linkat.c (main): Add tests for EBADF.
3123
3124         Tests for module 'faccessat'.
3125         * modules/faccessat-tests: New file.
3126         * tests/test-faccessat.c: New file.
3127
3128         fdopendir tests: EBADF tests.
3129         * tests/test-fdopendir.c (main): Add more tests for EBADF.
3130
3131         openat tests: EBADF tests.
3132         * tests/test-fchownat.c (main): Add tests for EBADF.
3133         * tests/test-fstatat.c (main): Likewise.
3134         * tests/test-mkdirat.c (main): Likewise.
3135         * tests/test-openat.c (main): Likewise.
3136         * tests/test-unlinkat.c (main): Likewise.
3137         * tests/test-fchmodat.c: New file.
3138         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
3139         (Makefile.am): Also run 'test-fchmodat'.
3140
3141 2011-09-20  Bruno Haible  <bruno@clisp.org>
3142
3143         utimens, futimens, fdutimensat tests: EBADF tests.
3144         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
3145
3146         Tests for function fstat().
3147         * modules/fstat-tests: New file.
3148         * tests/test-fstat.c: New file.
3149         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
3150
3151 2011-09-20  Bruno Haible  <bruno@clisp.org>
3152
3153         test-ttyname_r tests: EBADF tests.
3154         * tests/test-ttyname_r.c (main): Add tests for EBADF.
3155
3156         Tests for module 'isatty'.
3157         * modules/isatty-tests: New file.
3158         * tests/test-isatty.c: New file.
3159
3160         Tests for module 'write'.
3161         * modules/write-tests: New file.
3162         * tests/test-write.c: New file.
3163
3164         Tests for module 'read'.
3165         * modules/read-tests: New file.
3166         * tests/test-read.c: New file.
3167
3168         pwrite tests: EBADF tests.
3169         * tests/test-pwrite.c (main): Add tests for EBADF.
3170
3171         pread tests: EBADF tests.
3172         * tests/test-pread.c (main): Add tests for EBADF.
3173
3174         lseek tests: EBADF tests.
3175         * tests/test-lseek.c (main): Add more tests for EBADF.
3176
3177         Tests for module 'ftruncate'.
3178         * modules/ftruncate-tests: New file.
3179         * tests/test-ftruncate.sh: New file.
3180         * tests/test-ftruncate.c: New file.
3181
3182         fsync tests: EBADF tests.
3183         * tests/test-fsync.c (main): Add more tests for EBADF.
3184
3185         fdatasync tests: EBADF tests.
3186         * tests/test-fdatasync.c (main): Add more tests for EBADF.
3187
3188         Tests for module 'fchown'.
3189         * modules/fchown-tests: New file.
3190         * tests/test-fchown.c: New file.
3191
3192         Tests for module 'fchmod'.
3193         * modules/fchmod-tests: New file.
3194         * tests/test-fchmod.c: New file.
3195
3196         fchdir tests: EBADF tests.
3197         * tests/test-fchdir.c (main): Add more tests for EBADF.
3198
3199         dup2 tests: EBADF tests.
3200         * tests/test-dup2.c (main): Add more tests for EBADF.
3201
3202         Tests for module 'dup'.
3203         * modules/dup-tests: New file.
3204         * tests/test-dup.c: New file.
3205
3206         Tests for module 'close'.
3207         * modules/close-tests: New file.
3208         * tests/test-close.c: New file.
3209
3210 2011-09-20  Bruno Haible  <bruno@clisp.org>
3211
3212         Tests for module 'shutdown'.
3213         * modules/shutdown-tests: New file.
3214         * tests/test-shutdown.c: New file.
3215
3216         Tests for module 'setsockopt'.
3217         * modules/setsockopt-tests: New file.
3218         * tests/test-setsockopt.c: New file.
3219
3220         Tests for module 'sendto'.
3221         * modules/sendto-tests: New file.
3222         * tests/test-sendto.c: New file.
3223
3224         Tests for module 'send'.
3225         * modules/send-tests: New file.
3226         * tests/test-send.c: New file.
3227
3228         Tests for module 'recvfrom'.
3229         * modules/recvfrom-tests: New file.
3230         * tests/test-recvfrom.c: New file.
3231
3232         Tests for module 'recv'.
3233         * modules/recv-tests: New file.
3234         * tests/test-recv.c: New file.
3235
3236         Tests for module 'listen'.
3237         * modules/listen-tests: New file.
3238         * tests/test-listen.c: New file.
3239
3240         Tests for module 'getsockopt'.
3241         * modules/getsockopt-tests: New file.
3242         * tests/test-getsockopt.c: New file.
3243
3244         Tests for module 'getsockname'.
3245         * modules/getsockname-tests: New file.
3246         * tests/test-getsockname.c: New file.
3247
3248         Tests for module 'getpeername'.
3249         * modules/getpeername-tests: New file.
3250         * tests/test-getpeername.c: New file.
3251
3252         Tests for module 'connect'.
3253         * modules/connect-tests: New file.
3254         * tests/test-connect.c: New file.
3255
3256         Tests for module 'bind'.
3257         * modules/bind-tests: New file.
3258         * tests/test-bind.c: New file.
3259
3260         accept4 tests: Fix for native Windows.
3261         * tests/test-accept4.c: Include sockets.h.
3262         (main): Invoke gl_sockets_startup.
3263         * modules/accept4-tests (Depends-on): Add sockets.
3264
3265         accept tests: Fix for native Windows.
3266         * tests/test-accept.c: Include sockets.h.
3267         (main): Invoke gl_sockets_startup.
3268         * modules/accept-tests (Depends-on): Add sockets.
3269
3270 2011-09-19  Bruno Haible  <bruno@clisp.org>
3271
3272         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
3273         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
3274         do...while(0).
3275         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
3276         Suggested by Paul Eggert.
3277
3278 2011-09-19  Bruno Haible  <bruno@clisp.org>
3279
3280         sched: Ensure pid_t is defined.
3281         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
3282         not define pid_t.
3283         * lib/sched.in.h: Include <sys/types.h>.
3284         * doc/posix-headers/sched.texi: Mention the pid_t problem.
3285         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3286
3287 2011-09-19  Bruno Haible  <bruno@clisp.org>
3288
3289         msvc-inval: Ensure the entire expansion is a single statement.
3290         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
3291         of braces.
3292
3293 2011-09-19  Jim Meyering  <meyering@redhat.com>
3294
3295         tests: use printf, not echo in init.sh's warn_ function
3296         * tests/init.sh (warn_): Use printf, not echo.  The latter would
3297         misbehave when given strings containing a backslash or starting
3298         with e.g., -n.  James Youngman suggested setting IFS.
3299
3300 2011-09-19  Eric Blake  <eblake@redhat.com>
3301
3302         futimens: enhance test
3303         * tests/test-futimens.h (test_futimens): Also check for EBADF on
3304         closed non-negative fd.
3305
3306         date: accept 'hence' as opposite of 'ago'
3307         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
3308         * tests/test-parse-datetime.c (main): Enhance test.
3309         Suggested by Jesse Wilson.
3310
3311 2011-09-19  Jim Meyering  <meyering@redhat.com>
3312
3313         getcwd: don't fail in a deep directory on a system without openat
3314         Before this change, getcwd would fail when called from a directory
3315         of depth PATH_MAX / 3 or greater.  That was due to the fact that
3316         the non-openat implementation used "..", "../..", "../../..", etc.
3317         to access ancestor directories.  With too many, that string would
3318         be longer than PATH_MAX.
3319         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
3320         using gnulib's openat replacement.
3321         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
3322         we're using the replacement function.
3323
3324 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
3325
3326         maint.mk: avoid warnings from perl about missing files
3327         * top/maint.mk (def_sym_regex): Ignore files listed in
3328         $(gl_other_headers_) that do not exist, say because a project
3329         does not use a corresponding module.
3330
3331 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
3332
3333         stat: use pathmax.h only if needed
3334         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
3335         This is better for Emacs, which does not have a mingw port and
3336         therefore can avoid the pathmax module.
3337
3338         utimens: remove dependency on dup2
3339         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
3340         to work around the Linux kernel bug.
3341         * modules/utimens (Depends-on): Remove dup2.
3342
3343 2011-09-18  Bruno Haible  <bruno@clisp.org>
3344
3345         inet_ntop, inet_pton: Look for it also in libresolv.
3346         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
3347         libnsl, search for it in libresolv.
3348         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
3349         Needed on Solaris 7.
3350
3351 2011-09-18  Bruno Haible  <bruno@clisp.org>
3352
3353         accept, accept4 tests: Avoid link error on Solaris.
3354         * modules/accept-tests (Makefile.am): Link test-accept against
3355         $(LIBSOCKET).
3356         * modules/accept4-tests (Makefile.am): Link test-accept4 against
3357         $(LIBSOCKET).
3358
3359         accept4: Avoid link error on Solaris.
3360         * modules/accept4 (Link): New section.
3361
3362         socket functions: Avoid link errors on Solaris.
3363         * modules/accept (Depends-on): Add socketlib.
3364         (Link): New section.
3365         * modules/bind (Depends-on): Add socketlib.
3366         (Link): New section.
3367         * modules/connect (Depends-on): Add socketlib.
3368         (Link): New section.
3369         * modules/getpeername (Depends-on): Add socketlib.
3370         (Link): New section.
3371         * modules/getsockname (Depends-on): Add socketlib.
3372         (Link): New section.
3373         * modules/getsockopt (Depends-on): Add socketlib.
3374         (Link): New section.
3375         * modules/listen (Depends-on): Add socketlib.
3376         (Link): New section.
3377         * modules/recv (Depends-on): Add socketlib.
3378         (Link): New section.
3379         * modules/recvfrom (Depends-on): Add socketlib.
3380         (Link): New section.
3381         * modules/send (Depends-on): Add socketlib.
3382         (Link): New section.
3383         * modules/sendto (Depends-on): Add socketlib.
3384         (Link): New section.
3385         * modules/setsockopt (Depends-on): Add socketlib.
3386         (Link): New section.
3387         * modules/shutdown (Depends-on): Add socketlib.
3388         (Link): New section.
3389         * modules/socket (Depends-on): Add socketlib.
3390         (Link): New section.
3391
3392 2011-09-18  Bruno Haible  <bruno@clisp.org>
3393
3394         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
3395         * tests/test-ptsname.c (main): Terminate the test if it takes longer
3396         than 5 seconds.
3397         * modules/ptsname-tests (configure.ac): Test for alarm.
3398
3399 2011-09-18  Bruno Haible  <bruno@clisp.org>
3400
3401         posix_spawn_file_actions_add*: Fix module dependencies.
3402         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
3403         posix_spawn_file_actions_init.
3404         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
3405         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
3406
3407 2011-09-18  Bruno Haible  <bruno@clisp.org>
3408
3409         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
3410         * tests/test-rename.h (test_rename): Allow error code EEXIST.
3411         * tests/test-renameat.c (main): Likewise.
3412
3413 2011-09-18  Bruno Haible  <bruno@clisp.org>
3414
3415         Tests for module 'accept4'.
3416         * modules/accept4-tests: New file.
3417         * tests/test-accept4.c: New file.
3418
3419 2011-09-18  Bruno Haible  <bruno@clisp.org>
3420
3421         Tests for module 'accept'.
3422         * modules/accept-tests: New file.
3423         * tests/test-accept.c: New file.
3424
3425 2011-09-18  Bruno Haible  <bruno@clisp.org>
3426
3427         dup2: Support for MSVC.
3428         * lib/dup2.c: Include msvc-inval.h.
3429         (rpl_dup2): Handle invalid parameter notifications during dup2 and
3430         _get_osfhandle calls.
3431         * modules/dup2 (Depends-on): Add msvc-inval.
3432         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
3433
3434         New module 'msvc-inval'.
3435         * lib/msvc-inval.h: New file.
3436         * lib/msvc-inval.c: New file.
3437         * m4/msvc-inval.m4: New file.
3438         * modules/msvc-inval: New file.
3439
3440 2011-09-17  Bruno Haible  <bruno@clisp.org>
3441
3442         Tests for module 'pclose'.
3443         * modules/pclose-tests: New file.
3444
3445         New module 'pclose'.
3446         * lib/stdio.in.h (pclose): New declaration.
3447         * lib/pclose.c: New file.
3448         * m4/pclose.m4: New file.
3449         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
3450         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
3451         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
3452         * modules/pclose: New file.
3453         * modules/popen-tests (Depends-on): Add pclose.
3454         * modules/popen-safer-tests (Depends-on): Likewise.
3455         * doc/posix-functions/pclose.texi: Mention the new module.
3456
3457 2011-09-17  Bruno Haible  <bruno@clisp.org>
3458
3459         popen: Support for MSVC.
3460         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
3461         * lib/popen.c (popen): Provide alternate definition for native Windows.
3462         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
3463         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
3464         * modules/popen (Depends-on, configure.ac): Update condition.
3465         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
3466         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
3467         fixed.
3468
3469 2011-09-17  Bruno Haible  <bruno@clisp.org>
3470
3471         isnanl, isnand, isnanf: Work around MSVC bug.
3472         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
3473
3474 2011-09-17  Bruno Haible  <bruno@clisp.org>
3475
3476         sys_socket tests: Fix recent mistake.
3477         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
3478
3479 2011-09-17  Bruno Haible  <bruno@clisp.org>
3480
3481         putenv: Support for MSVC.
3482         * modules/putenv (Depends-on): Add environ.
3483         * lib/putenv.c (environ): Disable declaration.
3484         * lib/unistd.in.h: Update comment.
3485
3486 2011-09-17  Bruno Haible  <bruno@clisp.org>
3487
3488         math: Avoid macro redefinition warnings on MSVC.
3489         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
3490         Undefine before redefining.
3491
3492 2011-09-17  Bruno Haible  <bruno@clisp.org>
3493
3494         doc: Mention functions which are declared as macros.
3495         * doc/posix-functions/*[fl].texi: Mention that some functions are
3496         defined as macros with arguments only.
3497
3498 2011-09-17  Bruno Haible  <bruno@clisp.org>
3499
3500         Add dependencies to new dirent related modules.
3501         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
3502         * modules/fts (Depends-on): Likewise.
3503         * modules/glob (Depends-on): Likewise.
3504         * modules/savedir (Depends-on): Likewise.
3505         * modules/scandir (Depends-on): Likewise.
3506         * modules/dirent-safer (Depends-on): Add opendir, closedir.
3507         * modules/fdopendir (Depends-on): Add opendir.
3508
3509 2011-09-17  Bruno Haible  <bruno@clisp.org>
3510
3511         inet_pton: Support for MSVC on Windows Vista or newer.
3512         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
3513         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
3514         HAVE_DECL_INET_PTON is defined.
3515         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
3516         On platforms with <winsock2.h>, test whether inet_pton is declared in
3517         <ws2tcpip.h>. If so, arrange to replace it.
3518         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
3519         REPLACE_INET_PTON.
3520         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
3521         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
3522         (Depends-on, configure.ac): Update condition.
3523         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
3524
3525 2011-09-17  Bruno Haible  <bruno@clisp.org>
3526
3527         inet_ntop: Support for MSVC on Windows Vista or newer.
3528         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
3529         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
3530         HAVE_DECL_INET_NTOP is defined.
3531         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
3532         On platforms with <winsock2.h>, test whether inet_ntop is declared in
3533         <ws2tcpip.h>. If so, arrange to replace it.
3534         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
3535         REPLACE_INET_NTOP.
3536         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
3537         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
3538         (Depends-on, configure.ac): Update condition.
3539         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
3540
3541 2011-09-16  Eric Blake  <eblake@redhat.com>
3542
3543         test-fsync: yet another enhancement
3544         * tests/test-fsync.c (main): Also test behavior on read-only text
3545         file.
3546
3547 2011-09-16  Bruno Haible  <bruno@clisp.org>
3548
3549         Enhance fsync, fdatasync tests.
3550         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
3551         * tests/test-fdatasync.c (main): Likewise.
3552
3553 2011-09-16  Bruno Haible  <bruno@clisp.org>
3554
3555         Support for MSVC compiler: Ensure mode_t gets defined.
3556         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
3557         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
3558         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
3559         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
3560         * tests/test-fcntl-h.c: Check that mode_t is defined.
3561         * tests/test-sys_stat.c: Likewise.
3562         * tests/test-sys_types.c: Likewise.
3563         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
3564         * doc/posix-headers/sys_stat.texi: Likewise.
3565         * doc/posix-headers/sys_types.texi: Likewise.
3566
3567 2011-09-16  Bruno Haible  <bruno@clisp.org>
3568
3569         sys_stat: Support for MSVC.
3570         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
3571         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
3572         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
3573         MSVC.
3574
3575 2011-09-16  Bruno Haible  <bruno@clisp.org>
3576
3577         Support for MSVC compiler: Ensure off_t gets defined.
3578         * lib/unistd.in.h: Include <sys/types.h>.
3579         * tests/test-fcntl-h.c: Check that off_t is defined.
3580         * tests/test-sys_stat.c: Likewise.
3581         * tests/test-sys_types.c: Likewise.
3582
3583 2011-09-16  Eric Blake  <eblake@redhat.com>
3584
3585         fdatasync: port to Solaris
3586         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
3587         * modules/fdatasync (Link): Document it.
3588         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
3589
3590         fdatasync: port to MacOS X 10.7
3591         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
3592         declared.
3593         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
3594         * modules/unistd (Makefile.am): Substitute it.
3595         * lib/unistd.in.h (fdatasync): Declare on MacOS.
3596         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
3597
3598         fdatasync: minor improvements
3599         * modules/fdatasync (Depends-on): Add condition for fsync.
3600         * lib/fdatasync.c (fdatasync): Add comment.
3601         * tests/test-unistd-c++.cc: Test fdatasync.
3602
3603         unistd: update refs to newer POSIX
3604         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
3605         Suggested by Bruno Haible.
3606
3607         fdatasync: new module
3608         * modules/fsync (Description): Document difference to fdatasync.
3609         * modules/fdatasync: New module.
3610         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
3611         * lib/fdatasync.c (fdatasync): Likewise.
3612         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
3613         defaults.
3614         * modules/unistd (Makefile.am): Set witnesses.
3615         * lib/unistd.in.h (fdatasync): Declare.
3616         * MODULES.html.sh: Document it.
3617         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
3618         * modules/fdatasync-tests: New test.
3619         * tests/test-fdatasync.c: Likewise.
3620
3621 2011-09-16  Eric Blake  <eblake@redhat.com>
3622
3623         test-fsync: enhance tests
3624         * modules/fsync-tests (Depends-on): Add errno, for mingw.
3625         * tests/test-fsync.c (main): Enhance test.
3626
3627 2011-09-15  Bruno Haible  <bruno@clisp.org>
3628
3629         Support for MSVC compiler: Ensure ssize_t gets defined.
3630         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
3631         * doc/posix-headers/stdio.texi: Likewise.
3632         * modules/stdio (Depends-on): Add ssize_t.
3633         * modules/sys_socket (Depends-on): Likewise.
3634         * modules/sys_types (Depends-on): Likewise.
3635         * modules/sys_uio (Depends-on): Likewise.
3636         * modules/unistd (Depends-on): Likewise.
3637         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
3638         * tests/test-sys_types.c: Check that ssize_t is defined.
3639
3640 2011-09-14  Bruno Haible  <bruno@clisp.org>
3641
3642         Avoid using #, the m4 comment starter character, near brackets.
3643         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
3644         delimiter character in sed expressions.
3645         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
3646         Suggested by Eric Blake.
3647
3648         Properly quote AC_CHECK_DECLS' 4th argument.
3649         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
3650         argument.
3651         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
3652         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
3653         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
3654         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
3655         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
3656         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
3657         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
3658         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
3659         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
3660         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
3661         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
3662         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
3663         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
3664         * m4/isinf.m4 (gl_ISINF): Likewise.
3665         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
3666         * m4/readutmp.m4 (gl_READUTMP): Likewise.
3667         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
3668         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
3669         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
3670         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
3671         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
3672         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
3673         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
3674         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
3675         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
3676         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
3677         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
3678         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
3679         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
3680         Reported by Eric Blake.
3681
3682         Properly quote AC_CHECK_DECL's 4th argument.
3683         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
3684         argument.
3685         * m4/argp.m4 (gl_ARGP): Likewise.
3686         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
3687         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
3688         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
3689         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
3690         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
3691         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
3692         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
3693         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
3694         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
3695         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
3696         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
3697         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
3698         Reported by Eric Blake.
3699
3700 2011-09-14  Eric Blake  <eblake@redhat.com>
3701
3702         opendir: avoid compile warning
3703         * lib/opendir.c (includes): Always include errno.h.
3704         Reported by Tatsuro MATSUOKA.
3705
3706 2011-09-14  Jim Meyering  <meyering@redhat.com>
3707
3708         maint.mk: sc_tight_scope: propagate failure from sub-make
3709         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
3710         Reported by Martin von Gagern.
3711
3712 2011-09-13  Bruno Haible  <bruno@clisp.org>
3713
3714         tempname: Support for MSVC.
3715         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
3716         MSVC.
3717         * modules/tempname (Depends-on): Add fcntl-h.
3718
3719 2011-09-13  Bruno Haible  <bruno@clisp.org>
3720
3721         sys_time: Support for MSVC.
3722         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
3723         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
3724         include <winsock2.h>.
3725         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
3726         function declarations that collide with POSIX.
3727         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
3728         (Makefile.am): Substitute HAVE_WINSOCK2_H.
3729
3730 2011-09-13  Bruno Haible  <bruno@clisp.org>
3731
3732         stat: Support for MSVC.
3733         * lib/stat.c: Include pathmax.h.
3734         * modules/stat (Depends-on): Add pathmax.
3735
3736         pathmax: Support for native Windows.
3737         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
3738
3739 2011-09-12  Bruno Haible  <bruno@clisp.org>
3740
3741         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
3742         * lib/dirent.in.h (struct dirent): New type.
3743         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
3744         DT_WHT): New macros.
3745         (DIR): New type.
3746         (opendir, closedir): Declare only if the module 'opendir' is enabled.
3747         (readdir, rewinddir): New declarations.
3748         * lib/dirent-private.h: New file.
3749         * lib/opendir.c: New file.
3750         * lib/readdir.c: New file.
3751         * lib/rewinddir.c: New file.
3752         * lib/closedir.c: New file.
3753         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
3754         * m4/opendir.m4: New file.
3755         * m4/readdir.m4: New file.
3756         * m4/rewinddir.m4: New file.
3757         * m4/closedir.m4: New file.
3758         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
3759         REPLACE_CLOSEDIR here.
3760         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
3761         readdir, rewinddir are declared.
3762         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
3763         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
3764         HAVE_REWINDDIR, HAVE_CLOSEDIR.
3765         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
3766         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
3767         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
3768         * modules/opendir: New file.
3769         * modules/readdir: New file.
3770         * modules/rewinddir: New file.
3771         * modules/closedir: New file.
3772         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
3773         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
3774         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
3775         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
3776         * NEWS: Mention the 'fchdir' change.
3777
3778 2011-09-11  Bruno Haible  <bruno@clisp.org>
3779
3780         asm-underscore.m4: Support for MSVC.
3781         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
3782         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
3783
3784 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
3785
3786         Doc about crypt functions.
3787         * doc/posix-functions/crypt.texi: Expand range of glibc versions
3788         needing for _GNU_SOURCE to get crypt.
3789         * doc/posix-functions/encrypt.texi: Likewise.
3790         * doc/posix-functions/setkey.texi: Likewise.
3791
3792 2011-09-11  Bruno Haible  <bruno@clisp.org>
3793
3794         doc: Update regarding MSVC 9.
3795         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
3796         tested".
3797         * doc/posix-functions/*.texi: Update with info about MSVC 9.
3798         * doc/posix-headers/*.texi: Likewise.
3799         * doc/pastposix-functions/*.texi: Likewise.
3800         * doc/glibc-functions/*.texi: Likewise.
3801         * doc/glibc-headers/*.texi: Likewise.
3802
3803 2011-09-11  Bruno Haible  <bruno@clisp.org>
3804
3805         unistd et al.: Don't assume <unistd.h> exists.
3806         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
3807         does not exist.
3808         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
3809         exist. But include <stdlib.h>.
3810         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
3811         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
3812         symlink() does not exist.
3813         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
3814         include <io.h> instead.
3815         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
3816         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
3817         include <direct.h> instead.
3818         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
3819         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
3820         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
3821         <io.h> instead.
3822         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
3823         correctly if the system does not have hard links.
3824         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
3825         <direct.h> instead.
3826         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
3827         it when looking for function declarations.
3828         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
3829         <direct.h> and <io.h> instead.
3830         * doc/posix-headers/unistd.texi: More details about MSVC problem.
3831
3832 2011-09-11  Bruno Haible  <bruno@clisp.org>
3833
3834         strcase: Support for MSVC.
3835         * modules/strcase (Status, Notice): Remove obsoletion mark.
3836         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
3837         * doc/posix-functions/strncasecmp.texi: Likewise.
3838
3839         strings: Don't assume <strings.h> exists.
3840         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
3841         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
3842         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
3843         * doc/posix-headers/strings.texi: Mention the MSVC problem.
3844
3845 2011-09-11  Bruno Haible  <bruno@clisp.org>
3846
3847         dirent: Don't assume <dirent.h> exists.
3848         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
3849         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
3850         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
3851         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
3852
3853 2011-09-11  Bruno Haible  <bruno@clisp.org>
3854
3855         Fix wint_t on MSVC.
3856         * lib/wchar.in.h (wint_t): On MSVC, override it.
3857         * lib/wctype.in.h (wint_t): Likewise.
3858         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
3859         MSVC.
3860         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
3861         * doc/posix-headers/wctype.texi: Likewise.
3862
3863 2011-09-11  Bruno Haible  <bruno@clisp.org>
3864
3865         sys_types: Fix typo.
3866         * lib/sys_types.in.h: Fix typo in comment.
3867         Reported by Paul Eggert.
3868
3869         Support for MSVC compiler: Ensure size_t gets defined.
3870         * modules/strings (Depends-on): Add 'sys_types'.
3871         * modules/sys_uio (Depends-on): Likewise.
3872         * lib/sys_uio.in.h: Update comment.
3873
3874         C++ tests for module 'sys_types'.
3875         * modules/sys_types-c++-tests: New file.
3876         * tests/test-sys_types-c++.cc: New file.
3877
3878         Tests for module 'sys_types'.
3879         * modules/sys_types-tests: New file.
3880         * tests/test-sys_types.c: New file.
3881
3882         New module 'sys_types'.
3883         * lib/sys_types.in.h: New file.
3884         * m4/sys_types_h.m4: New file.
3885         * modules/sys_types: New file.
3886         * doc/posix-headers/sys_types.texi: Mention the new module and the
3887         size_t problem on MSVC 9.
3888
3889 2011-09-11  Bruno Haible  <bruno@clisp.org>
3890
3891         Support for MSVC compiler: Avoid division by a literal 0.
3892         * lib/math.in.h (NAN): Define through a function call also on MSVC.
3893         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
3894         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
3895         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
3896         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
3897         * tests/infinity.h: New file.
3898         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
3899         on MSVC.
3900         * tests/test-ceilf1.c: Include infinity.h.
3901         (main): Use Infinityf.
3902         * tests/test-ceil1.c: Include infinity.h.
3903         (main): Use Infinityd.
3904         * tests/test-ceill.c: Include infinity.h.
3905         (main): Use Infinityl.
3906         * tests/test-dprintf-posix.c: Include infinity.h.
3907         (test_function): Use Infinityd.
3908         * tests/test-floorf1.c: Include infinity.h.
3909         (main): Use Infinityf.
3910         * tests/test-floor1.c: Include infinity.h.
3911         (main): Use Infinityd.
3912         * tests/test-floorl.c: Include infinity.h.
3913         (main): Use Infinityl.
3914         * tests/test-fprintf-posix.c: Include infinity.h.
3915         (test_function): Use Infinityd.
3916         * tests/test-frexp.c: Include infinity.h.
3917         (main): Use Infinityd.
3918         * tests/test-frexpl.c: Include infinity.h.
3919         (main): Use Infinityl.
3920         * tests/test-isfinite.c: Include infinity.h.
3921         (test_isfinitef): Use Infinityf.
3922         (test_isfinited): Use Infinityd.
3923         (test_isfinitel): Use Infinityl.
3924         * tests/test-isinf.c: Include infinity.h.
3925         (test_isinff): Use Infinityf.
3926         (test_isinfd): Use Infinityd.
3927         (test_isinfl): Use Infinityl.
3928         * tests/test-isnan.c: Include infinity.h.
3929         (test_float): Use Infinityf.
3930         (test_double): Use Infinityd.
3931         (test_long_double): Use Infinityl.
3932         * tests/test-isnanf.h: Include infinity.h.
3933         (main): Use Infinityf.
3934         * tests/test-isnand.h: Include infinity.h.
3935         (main): Use Infinityd.
3936         * tests/test-isnanl.h: Include infinity.h.
3937         (main): Use Infinityl.
3938         * tests/test-ldexpl.c: Include infinity.h.
3939         (main): Use Infinityl.
3940         * tests/test-printf-posix.h: Include infinity.h.
3941         (test_function): Use Infinityd.
3942         * tests/test-roundf1.c: Include infinity.h.
3943         (main): Use Infinityf.
3944         * tests/test-round1.c: Include infinity.h.
3945         (main): Use Infinityd.
3946         * tests/test-roundl.c: Include infinity.h.
3947         (main): Use Infinityl.
3948         * tests/test-signbit.c: Include infinity.h.
3949         (test_signbitf): Use Infinityf.
3950         (test_signbitd): Use Infinityd.
3951         (test_signbitl): Use Infinityl.
3952         * tests/test-snprintf-posix.h: Include infinity.h.
3953         (test_function): Use Infinityd, Infinityl.
3954         * tests/test-sprintf-posix.h: Include infinity.h.
3955         (test_function): Use Infinityd, Infinityl.
3956         * tests/test-truncf1.c: Include infinity.h.
3957         (main): Use Infinityf.
3958         * tests/test-trunc1.c: Include infinity.h.
3959         (main): Use Infinityd.
3960         * tests/test-truncl.c: Include infinity.h.
3961         (main): Use Infinityl.
3962         * tests/test-vasnprintf-posix.c: Include infinity.h.
3963         (test_function): Use Infinityd, Infinityl.
3964         * tests/test-vasprintf-posix.c: Include infinity.h.
3965         (test_function): Use Infinityd, Infinityl.
3966         * modules/ceilf-tests (Files): Add tests/infinity.h.
3967         * modules/ceil-tests (Files): Likewise.
3968         * modules/ceill-tests (Files): Likewise.
3969         * modules/dprintf-posix-tests (Files): Likewise.
3970         * modules/floorf-tests (Files): Likewise.
3971         * modules/floor-tests (Files): Likewise.
3972         * modules/floorl-tests (Files): Likewise.
3973         * modules/fprintf-posix-tests (Files): Likewise.
3974         * modules/frexp-tests (Files): Likewise.
3975         * modules/frexp-nolibm-tests (Files): Likewise.
3976         * modules/frexpl-tests (Files): Likewise.
3977         * modules/frexpl-nolibm-tests (Files): Likewise.
3978         * modules/isfinite-tests (Files): Likewise.
3979         * modules/isinf-tests (Files): Likewise.
3980         * modules/isnan-tests (Files): Likewise.
3981         * modules/isnanf-tests (Files): Likewise.
3982         * modules/isnanf-nolibm-tests (Files): Likewise.
3983         * modules/isnand-tests (Files): Likewise.
3984         * modules/isnand-nolibm-tests (Files): Likewise.
3985         * modules/isnanl-tests (Files): Likewise.
3986         * modules/isnanl-nolibm-tests (Files): Likewise.
3987         * modules/ldexpl-tests (Files): Likewise.
3988         * modules/printf-posix-tests (Files): Likewise.
3989         * modules/roundf-tests (Files): Likewise.
3990         * modules/round-tests (Files): Likewise.
3991         * modules/roundl-tests (Files): Likewise.
3992         * modules/signbit-tests (Files): Likewise.
3993         * modules/snprintf-posix-tests (Files): Likewise.
3994         * modules/sprintf-posix-tests (Files): Likewise.
3995         * modules/truncf-tests (Files): Likewise.
3996         * modules/trunc-tests (Files): Likewise.
3997         * modules/truncl-tests (Files): Likewise.
3998         * modules/vasnprintf-posix-tests (Files): Likewise.
3999         * modules/vasprintf-posix-tests (Files): Likewise.
4000         * modules/vdprintf-posix-tests (Files): Likewise.
4001         * modules/vfprintf-posix-tests (Files): Likewise.
4002         * modules/vprintf-posix-tests (Files): Likewise.
4003         * modules/vsnprintf-posix-tests (Files): Likewise.
4004         * modules/vsprintf-posix-tests (Files): Likewise.
4005         * modules/xprintf-posix-tests (Files): Likewise.
4006
4007 2011-09-11  Bruno Haible  <bruno@clisp.org>
4008
4009         Ensure pid_t gets defined.
4010         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
4011         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
4012         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
4013         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
4014         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
4015         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
4016         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
4017         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
4018         * tests/test-fcntl-h.c: Check that pid_t is defined.
4019         * tests/test-sched.c: Likewise.
4020         * tests/test-termios.c: Likewise.
4021         * tests/test-time.c: Likewise.
4022         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
4023         * doc/posix-headers/signal.texi: Likewise.
4024         * doc/posix-headers/sys_types.texi: Likewise.
4025         * doc/posix-headers/time.texi: Likewise.
4026
4027 2011-09-11  Bruno Haible  <bruno@clisp.org>
4028
4029         acl: Fix compilation on Solaris 10 (older version).
4030         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
4031         of ACE_EVERYONE.
4032         * lib/set-mode-acl.c (qset_acl): Likewise.
4033         Reported by Christian Jullien <eligis@orange.fr>.
4034
4035 2011-09-10  Bruno Haible  <bruno@clisp.org>
4036
4037         iconv, unsetenv: Add support for MSVC compiler.
4038         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
4039         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
4040
4041 2011-09-10  Bruno Haible  <bruno@clisp.org>
4042
4043         *printf: Add support for MSVC compiler.
4044         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
4045         handles the exception caused by the %n directive. When cross-compiling,
4046         guess no on native Windows.
4047         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
4048         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
4049         emulate it through vsnprintf.
4050         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
4051         * doc/posix-functions/dprintf.texi: Update documentation regarding
4052         MSVC 9.
4053         * doc/posix-functions/fprintf.texi: Likewise.
4054         * doc/posix-functions/printf.texi: Likewise.
4055         * doc/posix-functions/snprintf.texi: Likewise.
4056         * doc/posix-functions/sprintf.texi: Likewise.
4057         * doc/posix-functions/swprintf.texi: Likewise.
4058         * doc/posix-functions/vdprintf.texi: Likewise.
4059         * doc/posix-functions/vfprintf.texi: Likewise.
4060         * doc/posix-functions/vprintf.texi: Likewise.
4061         * doc/posix-functions/vsnprintf.texi: Likewise.
4062         * doc/posix-functions/vsprintf.texi: Likewise.
4063         * doc/glibc-functions/asprintf.texi: Likewise.
4064         * doc/glibc-functions/obstack_printf.texi: Likewise.
4065         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
4066         * doc/glibc-functions/vasprintf.texi: Likewise.
4067
4068 2011-09-10  Bruno Haible  <bruno@clisp.org>
4069
4070         nocrash: Add support for native Windows.
4071         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
4072
4073 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
4074             Bruno Haible  <bruno@clisp.org>
4075
4076         absolute-header, include-next: Add support for MSVC compiler.
4077         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
4078         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
4079         directory separator in #line directives.
4080         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
4081         recognize also backslash as directory separator in #line directives.
4082
4083 2011-09-08  Jim Meyering  <meyering@redhat.com>
4084
4085         maint.mk: mark the post-release commit log with "maint: " prefix
4086         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
4087         one-line commit-log summary.
4088
4089 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
4090             Bruno Haible  <bruno@clisp.org>
4091
4092         Doc about crypt functions.
4093         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
4094         systems.
4095         * doc/posix-functions/encrypt.texi: Likewise.
4096         * doc/posix-functions/setkey.texi: Likewise.
4097
4098 2011-09-08  Simon Josefsson  <simon@josefsson.org>
4099
4100         * lib/gc.h: Fix copyright header.
4101
4102 2011-09-07  Bruno Haible  <bruno@clisp.org>
4103
4104         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
4105         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
4106         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
4107
4108 2011-09-07  Bruno Haible  <bruno@clisp.org>
4109
4110         openat: Work around compilation error with OSF/1 5.1 DTK cc.
4111         * lib/fopen.c: Use different syntax for include of <stdio.h>.
4112         * lib/freopen.c: Likewise.
4113         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
4114         * lib/lstat.c: Likewise.
4115         * lib/stat.c: Likewise.
4116         * lib/open.c: Use different syntax for include of <fcntl.h>.
4117         * lib/openat.c: Include fcntl.h again, explicitly.
4118
4119 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
4120
4121         parse-datetime: document the newly accepted format
4122         * doc/parse-datetime.texi (Combined date and time of day items):
4123         New section.
4124
4125 2011-09-06  Bruno Haible  <bruno@clisp.org>
4126
4127         acl: Fix a test failure on newer Solaris 10 with ZFS.
4128         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
4129         ENOSYS as no ACL.
4130         Reported by Jim Meyering.
4131
4132 2011-09-06  Bruno Haible  <bruno@clisp.org>
4133
4134         acl: Update for AIX >= 5.3 with NFS.
4135         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
4136         ENOSYS as no ACL.
4137
4138         acl: Fix a test failure on AIX >= 5.3 with NFS.
4139         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
4140         as no ACL.
4141
4142 2011-09-06  Bruno Haible  <bruno@clisp.org>
4143
4144         acl: Fix a test failure on IRIX 6.5 with NFS.
4145         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
4146         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
4147         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
4148         * lib/copy-acl.c (qcopy_acl): Likewise.
4149
4150 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
4151
4152         openat: port to AIX 7.1 with large files
4153         AIX 7.1 does a "#define openat open64at" if large files are in use,
4154         so we can't simply #undef openat.  Use the orig_openat trick (similar
4155         to orig_open in lib/open.c) to work around the problem.  Problem
4156         reported by Kevin Brott for GNU tar, in the thread containing
4157         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
4158         * lib/openat.c (__need_system_fcntl_h): Define first.
4159         Include <fcntl.h> and <sys/types.h> before undefining.
4160         (orig_openat) [HAVE_OPENAT]: New inline function.
4161         (openat) [HAVE_OPENAT]: Do not undef.
4162         (rpl_openat): Use orig_openat, not openat.
4163
4164 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
4165             Bruno Haible  <bruno@clisp.org>
4166
4167         acl: Avoid errors on NonStop Kernel.
4168         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
4169         ENOTSUP errors.
4170
4171 2011-09-05  Bruno Haible  <bruno@clisp.org>
4172
4173         acl: Clean up Solaris code.
4174         * lib/acl-internal.h: Remove no-op #if.
4175         * lib/file-has-acl.c: Likewise.
4176         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
4177         * lib/copy-acl.c (qcopy_acl): Likewise.
4178
4179 2011-09-05  Bruno Haible  <bruno@clisp.org>
4180
4181         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
4182         binaries built on the original Solaris 10.
4183         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
4184         trivial.
4185
4186 2011-09-05  Bruno Haible  <bruno@clisp.org>
4187
4188         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
4189         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
4190         10.
4191         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
4192         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
4193         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
4194         instead of acl_get, facl_get, acl_set, facl_set.
4195
4196 2011-09-05  Bruno Haible  <bruno@clisp.org>
4197
4198         copy-file: Try unit tests on more file systems.
4199         * tests/test-copy-file-1.sh: New file.
4200         * tests/test-copy-file-2.sh: New file.
4201         * modules/copy-file-tests (Files): Add them.
4202         (Makefile.am): Add them to TESTS.
4203
4204         acl: Try unit tests on more file systems.
4205         * tests/test-file-has-acl-1.sh: New file.
4206         * tests/test-file-has-acl-2.sh: New file.
4207         * tests/test-set-mode-acl-1.sh: New file.
4208         * tests/test-set-mode-acl-2.sh: New file.
4209         * tests/test-copy-acl-1.sh: New file.
4210         * tests/test-copy-acl-2.sh: New file.
4211         * modules/acl-tests (Files): Add them.
4212         (Makefile.am): Add them to TESTS.
4213
4214 2011-09-04  Bruno Haible  <bruno@clisp.org>
4215
4216         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
4217         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
4218         10.
4219         (OLD_ALLOW, OLD_DENY): New macros.
4220         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
4221         ACE_ACCESS_ALLOWED_ACE_TYPE.
4222         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
4223         ACE_ACCESS_DENIED_ACE_TYPE.
4224         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
4225         (NEW_ACE_EXECUTE): Fix value.
4226         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
4227         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
4228         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
4229         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
4230         NEW_ACE_SYNCHRONIZE): New macros.
4231         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
4232         instead of acl_fromtext, acl_set, facl_set.
4233         Fixes a coreutils/tests/cp/perm failure.
4234
4235 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
4236
4237         openat: test for fstatat (..., 0) bug
4238         Further testing with tar suggests that fstatat (..., 0)
4239         does not work in general, on AIX 7.1; see
4240         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
4241         So, give up entirely on AIX 7.1's fstatat, and fall back on our
4242         replacement fstatat (which is what older AIX releases were using
4243         anyway).
4244         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
4245         use is now changed to orig_fstatat.  This was probably the right
4246         thing to do anyway.
4247         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
4248         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
4249         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
4250         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
4251         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
4252         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
4253         if the bug is found.
4254
4255         openat: test for fstatat (AT_FDCWD, ..., 0) bug
4256         This tests for another fstatat bug on AIX 7.1:
4257         fstatat (AT_FDCWD, ..., 0) does not work.  See
4258         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
4259         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
4260         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
4261         (rpl_fstatat): Adjust so that it works around either (or both)
4262         bugs if present.
4263         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
4264
4265 2011-09-03  Karl Berry  <karl@gnu.org>
4266
4267         * doc/regex.texi (Character Class Operators): Avoid literal ":"
4268         in index entries.
4269
4270 2011-09-02  Bruno Haible  <bruno@clisp.org>
4271
4272         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
4273         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
4274         values of AR, ARFLAGS, RANLIB.
4275         Reported by John W. Eaton <jwe@gnu.org> for Octave.
4276
4277 2011-09-02  Bruno Haible  <bruno@clisp.org>
4278
4279         Find 'ar' program that fits with --host argument.
4280         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
4281
4282 2011-09-02  Bruno Haible  <bruno@clisp.org>
4283
4284         tests: init.sh: Support any non-GNU diff.
4285         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
4286         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
4287         Solaris 8.
4288
4289 2011-09-02  Bruno Haible  <bruno@clisp.org>
4290
4291         tests: init.sh: work also with any non-GNU diff that supports -u
4292         * tests/init.sh: Relax check for diff -u support.
4293         Rather than checking for GNU diff via --version, simply check
4294         for support for -u itself.  Useful at least on OpenBSD 4.9,
4295         AIX 7.1, IRIX 6.5, and Solaris 10.
4296
4297 2011-09-01  Bruno Haible  <bruno@clisp.org>
4298
4299         strtoimax, strtoumax: Document problem on HP-UX 11.
4300         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
4301         * doc/posix-functions/strtoumax.texi: Likewise.
4302
4303 2011-09-01  Bruno Haible  <bruno@clisp.org>
4304
4305         strtoumax: Avoid link error on OSF/1 with DTK cc.
4306         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
4307         defined as a function.
4308         * modules/strtoumax (Depends-on, configure.ac): Test only whether
4309         strtoumax is defined, not whether it is declared.
4310
4311 2011-09-01  Bruno Haible  <bruno@clisp.org>
4312
4313         strtoimax: Avoid link error on OSF/1 with DTK cc.
4314         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
4315         defined as a function.
4316         * modules/strtoimax (Depends-on, configure.ac): Test only whether
4317         strtoimax is defined, not whether it is declared.
4318
4319 2011-09-01  Bruno Haible  <bruno@clisp.org>
4320
4321         imaxdiv: Avoid link error on OSF/1 with DTK cc.
4322         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
4323         as a function.
4324         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
4325         whether it is declared.
4326
4327 2011-09-01  Bruno Haible  <bruno@clisp.org>
4328
4329         imaxabs: Avoid link error on OSF/1 with DTK cc.
4330         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
4331         as a function.
4332         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
4333         whether it is declared.
4334
4335 2011-09-01  Bruno Haible  <bruno@clisp.org>
4336
4337         Tests for module 'strtoumax'.
4338         * modules/strtoumax-tests: New file.
4339         * tests/test-strtoumax.c: New file.
4340
4341         Tests for module 'strtoimax'.
4342         * modules/strtoimax-tests: New file.
4343         * tests/test-strtoimax.c: New file.
4344
4345         Tests for module 'imaxdiv'.
4346         * modules/imaxdiv-tests: New file.
4347         * tests/test-imaxdiv.c: New file.
4348
4349         Tests for module 'imaxabs'.
4350         * modules/imaxabs-tests: New file.
4351         * tests/test-imaxabs.c: New file.
4352
4353 2011-09-01  Bruno Haible  <bruno@clisp.org>
4354
4355         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
4356         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
4357         pthread_create.
4358
4359 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
4360
4361         openat: work around AIX 7.1 fstatat issue
4362         This should fix the problem that was not properly fixed
4363         in the previous change, dated 2011-08-30.
4364         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
4365         __need_system_stat_h defined.
4366         (orig_fstatat) [HAVE_FSTATAT]: New function.
4367         (rpl_fstatat): Go back to the old way of doing things,
4368         except call orig_fstatat instead of fstatat.
4369         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
4370         Remove unnecessary check whether fstatat fills in st_size etc.
4371
4372 2011-09-01  Bruno Haible  <bruno@clisp.org>
4373
4374         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
4375         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
4376         just include the system's header.
4377
4378 2011-08-31  Jim Meyering  <meyering@redhat.com>
4379
4380         tests: avoid spurious assertion failure in test-float.c on ppc64
4381         * tests/test-float.c (test_long_double): Comment out an assertion,
4382         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
4383         with gcc-4.4.4.
4384
4385         maint: indent with spaces, not TABs
4386         I need to get in the habit of running gnulib's "make check".
4387         Both of these would have been caught.
4388         * m4/largefile.m4: Indent with spaces, not TABs.
4389         * lib/parse-datetime.y (iso_8601_time): Likewise.
4390         Spotted by Pádraig Brady.
4391
4392         test-parse-datetime.c: accommodate a relatively strict gcc warning
4393         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
4394         to avoid a warning from gcc's -Werror=missing-declarations.
4395         Insert a few spaces-before-funcall-parenthesis.
4396
4397 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
4398
4399         parse-datetime: accept ISO 8601 date and time rep with "T" separator
4400         The parser now accepts ISO 8601 date-time strings with "T" as the
4401         separator.  It has long parsed dates like "2004-02-29 16:21:42"
4402         with a space between the date and time strings.  Now it also parses
4403         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
4404         variants like "2004-02-29T16:21:42.333-07:00"
4405         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
4406         of day representation using the 'T' separator character.
4407         * doc/parse-datetime.texi (General date syntax): replace use of
4408         deprecated --iso-8601 option with --rfc-3339 in example of date
4409         command output formats that can be parsed.
4410         * tests/test-parse-datetime.c (tm_diff): New function, taken from
4411         lib/parse-datetime.y.
4412         (gmt_offset): New function.
4413         (main): Add additional test cases to validate ISO8601 extended
4414         date and time of day parsing.
4415
4416 2011-08-31  Bruno Haible  <bruno@clisp.org>
4417
4418         freopen: Documentation.
4419         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
4420         name.
4421         Reported by Claudio Bley <claudio.bley@gmail.com>.
4422
4423 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
4424
4425         freopen: Don't crash if the filename argument is NULL.
4426         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
4427         NULL.
4428
4429 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
4430
4431         openat: work around AIX 7.1 fstatat bug
4432         Problem reported by Kevin Brott for GNU tar, in the thread containing
4433         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
4434         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
4435         FSTATAT_ST_SIZE_ETC_BROKEN.
4436         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
4437         rpl_fstatat.
4438         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
4439         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
4440         AC_CHECK_FUNCS_ONCE for fstatat.
4441         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
4442         fchmodat, mkdirat, openat and unlinkat.
4443
4444 2011-08-30  Bruno Haible  <bruno@clisp.org>
4445
4446         Avoid endless recursions if config.h includes some header files.
4447         * lib/fopen.c (__need_FILE): Define already before including config.h.
4448         * lib/freopen.c (__need_FILE): Likewise.
4449         * lib/open.c (__need_system_fcntl_h): Likewise.
4450         * lib/stat.c (__need_system_sys_stat_h): Likewise.
4451         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
4452         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
4453
4454 2011-08-25  Karl Berry  <karl@gnu.org>
4455
4456         * config/srclist.txt (ylwrap): new try.
4457         * build-aux/ylwrap: new file.
4458
4459 2011-08-23  Bruno Haible  <bruno@clisp.org>
4460
4461         tmpdir: Use a good default directory on native Windows.
4462         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
4463         (P_tmpdir): Default to _P_tmpdir on native Windows.
4464         (path_search): On native Windows, try the value returned by GetTempPath
4465         before trying P_tmpdir.
4466         * modules/tmpdir (Depends-on): Add pathmax.
4467         Suggested by John Darrington <john@darrington.wattle.id.au>.
4468
4469 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
4470
4471         doc: fix typo in README-release
4472         * top/README-release: Capitalize first word of a sentence.
4473
4474 2011-08-19  Jim Meyering  <meyering@redhat.com>
4475
4476         fts: do not exhaust memory when processing million-entry directories
4477         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
4478         directory would require about 256*N bytes of memory.  Thus, it was
4479         easy to construct a directory too large to be processed by any of
4480         those tools.  With this change, fts' maximum memory utilization is
4481         now limited to around 30MB.
4482         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
4483         (fts_read): When we've processed the final entry (i.e., when
4484         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
4485         using the parent entry to read any remaining entries.  Dispatch
4486         depending on what fts_build returns:
4487         - NULL+stop, aka failure: stop
4488         - NULL otherwise: move up in the dir hierarchy
4489         - non-NULL: handle this new entry
4490         (fts_build): Declare and use new local, continue_readdir.
4491         Prepare to be called from fts_read, when the entries
4492         from a partially-read directory have just been exhausted.
4493         In that case, we'll skip the opendir and instead use the parent's
4494         fts_dirp and derive dir_fd from that.
4495         Finally, in the readdir loop, if we read max_entries entries,
4496         exit the loop ensuring *not* to call closedir.  This is required
4497         so that fts_dirp can be reused on a subsequent call.
4498         Prompted by Ben England's report of memory exhaustion in find
4499         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
4500
4501         maint: fts: move decl of `dp' down into while loop; split a long line
4502         * lib/fts.c (fts_build): No semantic change.
4503
4504         fts: add/use new struct member, fts_dirp
4505         We are about to use this to manage any directory with
4506         too many entries to read all of them into memory at once.
4507         To do that, we'll need to save the DIR* pointer in each
4508         affected FTSENT struct.
4509         * lib/fts_.h: Include <dirent.h>.
4510         (struct FTSENT) [fts_dirp]: New member.
4511         * lib/fts.c (closedir_and_clear): Define.
4512         Use it in place of closedir so that we are sure to
4513         clear the new fts_dirp member when done with it.
4514         (fts_alloc): Initialize the new member.
4515         (fts_lfree): Free, if needed.
4516
4517         maint: fts: give __opendir2 a new parameter and rename
4518         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
4519         than surreptitiously using sole caller's "dir_fd".
4520         (fts_opendir): Rename from __opendir2.
4521
4522         maint: fts.c: remove __opendir2's now-unused parameter, oflag
4523         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
4524
4525         maint: fts.c: correct off-by-one indentation
4526         * lib/fts.c (fts_build): Correct indentation, change style
4527         of a couple of block comments, and bracing style.
4528
4529         maint: fts.c: move __opendir2 #define "up" out of function body
4530         * lib/fts.c (__opendir2): Move "up".  No semantic change.
4531
4532         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
4533         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
4534         out for a long time and besides was useful only on BSD systems.
4535
4536 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
4537
4538         regex: port to Stratus OpenVOS
4539         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
4540         define to empty, rather than attempting nonportable optimizations.
4541         Problem reported by Paul Green in:
4542         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
4543         and fix suggested by Eric Blake in:
4544         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
4545
4546 2011-08-17  Eric Blake  <eblake@redhat.com>
4547
4548         getcwd: fix test failures on mingw
4549         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
4550         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
4551         test if long directory cannot be created, and allow mingw errno.
4552
4553         getcwd-lgpl: fix m4 to match relaxed test for BSD
4554         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
4555         (gl_FUNC_GETCWD_SIGNATURE): New macro.
4556         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
4557         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
4558         signature problem.
4559
4560         getcwd: fix compilation on mingw64
4561         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
4562         getcwd.
4563         Reported by Marc-André Lureau.
4564
4565         pipe2: silence compiler warning
4566         * lib/pipe2.c (pipe2): Hide label if it is not used.
4567
4568 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
4569
4570         relocatable-prog: fix link error
4571         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
4572         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
4573         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
4574         into modules/relocatable-lib without noticing that
4575         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
4576         also needs to build relocatable.c.
4577
4578 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
4579
4580         getaddrinfo: fix sh typo in gai_strerrorA decl checking
4581         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
4582         shell code: it contained a 'break' that was not in a loop.
4583         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
4584         via a shell-language loop; this may have been true in old Autoconf
4585         versions, but it's not true in Autoconf 2.68.  I found this bug
4586         when testing coreutils git on Solaris 8, whose shell complains
4587         about the syntax error.
4588
4589 2011-08-12  Simon Josefsson  <simon@josefsson.org>
4590
4591         * lib/base64.c: Fix comment to reference RFC 4648.
4592         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
4593         <gvtulder@gmail.com>.
4594
4595 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
4596
4597         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
4598
4599         po/Makefile.in.in: fix make -q problem
4600         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
4601         rule, since there's no file named 'check-macro-version' and its
4602         use as a file breaks make -q.
4603         (all): Don't depend on check-macro-version.
4604         (CHECK_MACRO_VERSION): New macro.
4605         (stamp-po): Use it.
4606
4607         configmake: fix make -q problem
4608         * modules/configmake (configmake.h): Update configmake.h's time stamp
4609         even if the file does not change.  Otherwise, 'make -q' fails.
4610         Problem reported by Simon Josefsson in
4611         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
4612
4613 2011-08-11  Jim Meyering  <meyering@redhat.com>
4614
4615         git-version-gen: correct the advice in a comment
4616         * build-aux/git-version-gen: Correct comment.
4617         Don't recommend to list .tarball-version in .gitignore.
4618
4619 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
4620
4621         base64: fix off-by-one buffer size bug
4622         Problem and (trivial) fix reported by Gijs van Tulder in
4623         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
4624         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
4625         * tests/test-base64.c (main): Catch the bug.
4626
4627 2011-08-10  Eric Blake  <eblake@redhat.com>
4628
4629         closein: correct comments
4630         * lib/closein.c (close_stdin): Improve comments.
4631
4632 2011-08-09  Bruno Haible  <bruno@clisp.org>
4633
4634         More tests for 'fseeko'.
4635         * tests/test-fseeko3.c: New file, from Eric Blake.
4636         * tests/test-fseeko3.sh: New file.
4637         * modules/fseeko-tests (Files): Add them.
4638         (TESTS): Add test-fseeko3.sh.
4639         (check_PROGRAMS): Add test-fseeko3.
4640
4641 2011-08-09  Eric Blake  <eblake@redhat.com>
4642
4643         fseeko: remove unneeded hack
4644         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
4645
4646         fseeko: fix bug on glibc
4647         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
4648         Reported by John W. Eaton.
4649
4650 2011-08-08  Bruno Haible  <bruno@clisp.org>
4651
4652         unictype/base: Fix interoperability with preinstalled libunistring.
4653         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
4654         Reported by Simon Josefsson.
4655
4656 2011-08-08  Bruno Haible  <bruno@clisp.org>
4657
4658         iswblank: Detect declaration correctly.
4659         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
4660         AC_CHECK_DECLS invocation.
4661
4662 2011-08-08  Bruno Haible  <bruno@clisp.org>
4663
4664         tcgetsid: Detect declaration correctly.
4665         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
4666         AC_CHECK_DECLS invocation.
4667         Reported by Simon Josefsson.
4668
4669 2011-08-08  Eric Blake  <eblake@redhat.com>
4670
4671         largefile: fix typo that regressed large file support
4672         * modules/largefile (configure.ac-early): Fix section name.
4673
4674 2011-08-06  Karl Berry  <karl@gnu.org>
4675
4676         * MODULES.html.sh (func_all_files): _Noreturn is no longer
4677         a separate module.
4678
4679 2011-08-05  Simon Josefsson  <simon@josefsson.org>
4680
4681         openat: Fix warnings and commens when building unlinkat.c on Hurd.
4682         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
4683         get prototype for free.
4684
4685 2011-08-04  Bruno Haible  <bruno@clisp.org>
4686
4687         Tests for module 'pathmax'.
4688         * modules/pathmax-tests: New file.
4689         * tests/test-pathmax.c: New file.
4690
4691         canonicalize-lgpl: Support larger filenames on the Hurd.
4692         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
4693         Reported by Paul Eggert.
4694
4695         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
4696         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
4697         * lib/chdir-long.h: Include pathmax.h.
4698         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
4699         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
4700         (PATH_MAX): Remove code that is done by pathmax.h.
4701         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
4702         * lib/tmpfile.c: Add a comment.
4703         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
4704         * modules/chdir-long (Depends-on): Add pathmax.
4705         * modules/getcwd (Depends-on): Add pathmax.
4706         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
4707         is not defined.
4708         * doc/posix-headers/limits.texi: Mention the pathmax module.
4709         * NEWS: Mention the change.
4710
4711 2011-08-02  Bruno Haible  <bruno@clisp.org>
4712
4713         pthread_sigmask: Actually use results of gl_THREADLIB.
4714         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
4715         gl_THREADLIB, not gl_[]THREADLIB.
4716         Reported by Eric Blake.
4717
4718 2011-08-02  Jim Meyering  <meyering@redhat.com>
4719
4720         maint.mk: relax the default _gl_TS_function_match regexp
4721         * top/maint.mk (_gl_TS_function_match): Don't require at least one
4722         space between function name and "(" in an "extern" declaration.
4723         That would fail to match a decl with no space there: extern void foo();
4724
4725 2011-07-31  Iain Nicol  <iain@thenicols.net>
4726
4727         git-version-gen: document that EXTRA_DIST must include .version
4728         * build-aux/git-version-gen: In the how-to-use comment, document
4729         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
4730         will fail when run from an unpacked distribution tarball.
4731
4732 2011-08-01  Bruno Haible  <bruno@clisp.org>
4733
4734         wctype-h: Fix last change.
4735         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
4736         REPLACE_TOWLOWER to 0.
4737         Reported by Sam Steingold <sds@gnu.org>.
4738
4739 2011-07-31  Bruno Haible  <bruno@clisp.org>
4740
4741         frexpl: Update autoconf test.
4742         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
4743         according to changes of 2011-06-20.
4744
4745 2011-07-31  Bruno Haible  <bruno@clisp.org>
4746
4747         sys_utsname: Add support for Minix.
4748         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
4749         <sys/utsname.h>.
4750         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
4751         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
4752
4753 2011-07-31  Bruno Haible  <bruno@clisp.org>
4754
4755         strings: Add support for Minix.
4756         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
4757         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
4758         * doc/posix-headers/strings.texi: Document the Minix problem.
4759
4760 2011-07-31  Bruno Haible  <bruno@clisp.org>
4761
4762         wctype-h: Add support for Minix.
4763         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
4764         REPLACE_TOWLOWER.
4765         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
4766         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
4767         REPLACE_ISWCNTRL.
4768
4769 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
4770
4771         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
4772         This is a performance improvement for 64-bit hosts: it causes the
4773         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
4774
4775 2011-07-31  Bruno Haible  <bruno@clisp.org>
4776
4777         stdioext: Add support for Minix.
4778         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
4779         * lib/fpurge.c (fpurge): Likewise.
4780         * lib/freadahead.c (freadahead): Likewise.
4781         * lib/freadable.c (freadable): Likewise.
4782         * lib/freading.c (freading): Likewise.
4783         * lib/freadptr.c (freadptr): Likewise.
4784         * lib/freadseek.c (freadptrinc): Likewise.
4785         * lib/fseeko.c (rpl_fseeko): Likewise.
4786         * lib/fseterr.c (fseterr): Likewise.
4787         * lib/fwritable.c (fwritable): Likewise.
4788         * lib/fwriting.c (fwriting): Likewise.
4789         * lib/fflush.c (clear_ungetc_buffer): Update comment.
4790         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
4791
4792 2011-07-31  Bruno Haible  <bruno@clisp.org>
4793
4794         errno: Port to Minix.
4795         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
4796         ECONNABORTED are defined.
4797         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
4798         GNULIB_defined_ECONNABORTED): New macros.
4799         * lib/strerror-override.h (strerror_override): Test also
4800         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
4801         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
4802         ECONNABORTED.
4803         * doc/posix-headers/errno.texi: Mention the Minix problem.
4804
4805 2011-07-31  Bruno Haible  <bruno@clisp.org>
4806
4807         Work around declaration collisions on Minix.
4808         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
4809         defined, set REPLACE_MBSINIT.
4810         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
4811         defined, set REPLACE_MBRTOWC.
4812         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
4813         set REPLACE_MBRLEN.
4814         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
4815         defined, set REPLACE_MBSRTOWCS.
4816         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
4817         defined, set REPLACE_WCRTOMB.
4818         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
4819         defined, set REPLACE_WCSRTOMBS.
4820
4821 2011-07-31  Bruno Haible  <bruno@clisp.org>
4822
4823         Add support for Minix with ACK compiler.
4824         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
4825         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
4826         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
4827
4828 2011-07-31  Bruno Haible  <bruno@clisp.org>
4829
4830         Documentation about Minix.
4831         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
4832         * doc/glibc-headers/*.texi: Likewise.
4833         * doc/posix-functions/*.texi: Likewise.
4834         * doc/glibc-functions/*.texi: Likewise.
4835
4836 2011-07-31  Bruno Haible  <bruno@clisp.org>
4837
4838         snippet/warn-on-use: Fix indentation.
4839         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
4840
4841 2011-07-25  Jim Meyering  <meyering@redhat.com>
4842
4843         tests: test-update-copyright.sh: remove unnecessary "rm" commands
4844         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
4845         commands.
4846
4847 2011-07-27  Jim Meyering  <meyering@redhat.com>
4848
4849         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
4850         * top/maint.mk (gl_extract_significant_defines_): Now that
4851         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
4852         gnulib/lib/signal.in.h, and now that we recommend to
4853         define-if-undefined those two symbols in application code,
4854         we must filter them out of the "significant" list.
4855         This avoids a "make syntax-check" failure in coreutils.
4856
4857 2011-07-26  Eric Blake  <eblake@redhat.com>
4858
4859         warnings: add comments about previous patch
4860         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
4861         * m4/include_next.m4: Likewise.
4862         * m4/warn-on-use.m4: Likewise.
4863         * m4/warnings.m4: Likewise, and simplify use.
4864         Suggested by Stefano Lattarini.
4865
4866         include-next, warnings: support older autoconf
4867         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
4868         AS_VAR_PUSHDEF in a way that works with older autoconf.
4869         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
4870         Reported by Daniel P. Berrange.
4871
4872 2011-07-25  Bruno Haible  <bruno@clisp.org>
4873
4874         fseek, ftell: Fix doc.
4875         * doc/posix-functions/fseek.texi: Reword statement about
4876         AC_SYS_LARGEFILE.
4877         * doc/posix-functions/ftell.texi: Likewise.
4878
4879 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
4880             Bruno Haible  <bruno@clisp.org>
4881
4882         Add dependencies to the 'largefile' module.
4883         * modules/fopen (Depends-on): Add 'largefile'.
4884         * modules/freopen (Depends-on): Likewise.
4885         * modules/fseeko (Depends-on): Likewise.
4886         * modules/ftello (Depends-on): Likewise.
4887         * modules/glob (Depends-on): Likewise.
4888         * modules/lseek (Depends-on): Likewise.
4889         * modules/lstat (Depends-on): Likewise.
4890         * modules/mkostemp (Depends-on): Likewise.
4891         * modules/mkostemps (Depends-on): Likewise.
4892         * modules/mkstemp (Depends-on): Likewise.
4893         * modules/mkstemps (Depends-on): Likewise.
4894         * modules/open (Depends-on): Likewise.
4895         * modules/openat (Depends-on): Likewise.
4896         * modules/pread (Depends-on): Likewise.
4897         * modules/pwrite (Depends-on): Likewise.
4898         * modules/scandir (Depends-on): Likewise.
4899         * modules/stat (Depends-on): Likewise.
4900         * modules/tmpfile (Depends-on): Likewise.
4901         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
4902         since the containing module now depends on the largefile module.
4903         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
4904         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
4905         off_t is fixed by gnulib.
4906         * doc/posix-functions/freopen.texi: Likewise.
4907         * doc/posix-functions/fseeko.texi: Likewise.
4908         * doc/posix-functions/fstatat.texi: Likewise.
4909         * doc/posix-functions/ftello.texi: Likewise.
4910         * doc/posix-functions/glob.texi: Likewise.
4911         * doc/posix-functions/lseek.texi: Likewise.
4912         * doc/posix-functions/lstat.texi: Likewise.
4913         * doc/posix-functions/mkstemp.texi: Likewise.
4914         * doc/posix-functions/open.texi: Likewise.
4915         * doc/posix-functions/openat.texi: Likewise.
4916         * doc/posix-functions/pread.texi: Likewise.
4917         * doc/posix-functions/pwrite.texi: Likewise.
4918         * doc/posix-functions/scandir.texi: Likewise.
4919         * doc/posix-functions/stat.texi: Likewise.
4920         * doc/posix-functions/tmpfile.texi: Likewise.
4921         * doc/glibc-functions/mkostemp.texi: Likewise.
4922         * doc/glibc-functions/mkostemps.texi: Likewise.
4923         * doc/glibc-functions/mkstemps.texi: Likewise.
4924
4925 2011-07-25  Bruno Haible  <bruno@clisp.org>
4926
4927         fcntl: Move AC_LIBOBJ invocation to module description.
4928         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
4929         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
4930
4931         fcntl: Remove call-in from fchdir.m4.
4932         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
4933         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
4934
4935         dup3: Remove potential call-in from fchdir.m4.
4936         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
4937         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
4938
4939         dup2: Move AC_LIBOBJ invocation to module description.
4940         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
4941         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
4942         Don't invoke AC_LIBOBJ.
4943         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
4944
4945         dup2: Remove call-in from fchdir.m4.
4946         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
4947         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
4948
4949         fclose: Move AC_LIBOBJ invocation to module description.
4950         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
4951         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
4952         to 1.
4953         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
4954
4955         fclose: Remove call-in from close.m4.
4956         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
4957         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
4958
4959         close: Move AC_LIBOBJ invocation to module description.
4960         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
4961         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
4962         1.
4963         * modules/close (configure.ac): Invoke AC_LIBOBJ.
4964
4965         close: Remove call-in from fchdir.m4.
4966         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
4967         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
4968
4969         open: Move AC_LIBOBJ invocation to module description.
4970         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
4971         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
4972         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
4973
4974         open: Remove call-in from fchdir.m4.
4975         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
4976         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
4977
4978         fchdir: Start to remove gl_REPLACE_* idiom.
4979         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
4980         (gl_FUNC_FCHDIR): Invoke it.
4981
4982 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
4983
4984         * lib/ftell.c (ftell): Comment out cast.
4985
4986         close: use gl_REPLACE_FCLOSE only if defined
4987         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
4988         is defined.  The close module doesn't depend on the fclose module
4989         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
4990         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
4991         I reproduced the problem with "./gnulib-tool --test close sys_socket".
4992
4993 2011-07-24  Jim Meyering  <meyering@redhat.com>
4994
4995         test-select.h: avoid warning when using gcc's -Wmissing-declarations
4996         * tests/test-select.h (test_function): Declare as "static".
4997
4998 2011-07-24  Bruno Haible  <bruno@clisp.org>
4999
5000         doc: Mention the effects of AC_SYS_LARGEFILE.
5001         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
5002         on this function.
5003         * doc/posix-functions/aio_error.texi: Likewise.
5004         * doc/posix-functions/aio_fsync.texi: Likewise.
5005         * doc/posix-functions/aio_read.texi: Likewise.
5006         * doc/posix-functions/aio_return.texi: Likewise.
5007         * doc/posix-functions/aio_suspend.texi: Likewise.
5008         * doc/posix-functions/aio_write.texi: Likewise.
5009         * doc/posix-functions/fgetpos.texi: Likewise.
5010         * doc/posix-functions/fopen.texi: Likewise.
5011         * doc/posix-functions/freopen.texi: Likewise.
5012         * doc/posix-functions/fsetpos.texi: Likewise.
5013         * doc/posix-functions/fstatvfs.texi: Likewise.
5014         * doc/posix-functions/ftruncate.texi: Likewise.
5015         * doc/posix-functions/ftw.texi: Likewise.
5016         * doc/posix-functions/getrlimit.texi: Likewise.
5017         * doc/posix-functions/glob.texi: Likewise.
5018         * doc/posix-functions/lio_listio.texi: Likewise.
5019         * doc/posix-functions/lockf.texi: Likewise.
5020         * doc/posix-functions/mkstemp.texi: Likewise.
5021         * doc/posix-functions/mmap.texi: Likewise.
5022         * doc/posix-functions/nftw.texi: Likewise.
5023         * doc/posix-functions/openat.texi: Likewise.
5024         * doc/posix-functions/opendir.texi: Likewise.
5025         * doc/posix-functions/posix_fadvise.texi: Likewise.
5026         * doc/posix-functions/posix_fallocate.texi: Likewise.
5027         * doc/posix-functions/pread.texi: Likewise.
5028         * doc/posix-functions/pwrite.texi: Likewise.
5029         * doc/posix-functions/readdir.texi: Likewise.
5030         * doc/posix-functions/readdir_r.texi: Likewise.
5031         * doc/posix-functions/rewinddir.texi: Likewise.
5032         * doc/posix-functions/scandir.texi: Likewise.
5033         * doc/posix-functions/seekdir.texi: Likewise.
5034         * doc/posix-functions/setrlimit.texi: Likewise.
5035         * doc/posix-functions/statvfs.texi: Likewise.
5036         * doc/posix-functions/telldir.texi: Likewise.
5037         * doc/posix-functions/tmpfile.texi: Likewise.
5038         * doc/posix-functions/truncate.texi: Likewise.
5039         * doc/glibc-functions/fallocate.texi: Likewise.
5040         * doc/glibc-functions/fstatfs.texi: Likewise.
5041         * doc/glibc-functions/fts_children.texi: Likewise.
5042         * doc/glibc-functions/fts_read.texi: Likewise.
5043         * doc/glibc-functions/getdirentries.texi: Likewise.
5044         * doc/glibc-functions/mkostemp.texi: Likewise.
5045         * doc/glibc-functions/mkostemps.texi: Likewise.
5046         * doc/glibc-functions/mkstemps.texi: Likewise.
5047         * doc/glibc-functions/preadv.texi: Likewise.
5048         * doc/glibc-functions/pwritev.texi: Likewise.
5049         * doc/glibc-functions/sendfile.texi: Likewise.
5050         * doc/glibc-functions/statfs.texi: Likewise.
5051
5052 2011-07-24  Bruno Haible  <bruno@clisp.org>
5053
5054         doc: Fix typo.
5055         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
5056
5057 2011-07-24  Bruno Haible  <bruno@clisp.org>
5058
5059         doc: Mention fsusage.
5060         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
5061
5062 2011-07-24  Bruno Haible  <bruno@clisp.org>
5063
5064         doc: Mention new glibc headers and functions.
5065         * doc/glibc-headers/gshadow.texi: New file.
5066         * doc/glibc-functions/endsgent.texi: New file.
5067         * doc/glibc-functions/fgetsgent.texi: New file.
5068         * doc/glibc-functions/fgetsgent_r.texi: New file.
5069         * doc/glibc-functions/getsgent.texi: New file.
5070         * doc/glibc-functions/getsgent_r.texi: New file.
5071         * doc/glibc-functions/getsgnam.texi: New file.
5072         * doc/glibc-functions/getsgnam_r.texi: New file.
5073         * doc/glibc-functions/putsgent.texi: New file.
5074         * doc/glibc-functions/setsgent.texi: New file.
5075         * doc/glibc-functions/sgetsgent.texi: New file.
5076         * doc/glibc-functions/sgetsgent_r.texi: New file.
5077         * doc/glibc-functions/malloc_info.texi: New file.
5078         * doc/glibc-functions/preadv.texi: New file.
5079         * doc/glibc-functions/pwritev.texi: New file.
5080         * doc/glibc-functions/register_printf_modifier.texi: New file.
5081         * doc/glibc-functions/register_printf_specifier.texi: New file.
5082         * doc/glibc-functions/register_printf_type.texi: New file.
5083         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
5084         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
5085         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
5086         * doc/glibc-functions/pthread_getname_np.texi: New file.
5087         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
5088         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
5089         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
5090         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
5091         * doc/glibc-functions/pthread_setname_np.texi: New file.
5092         * doc/glibc-functions/pthread_sigqueue.texi: New file.
5093         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
5094         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
5095         * doc/glibc-functions/qsort_r.texi: New file.
5096         * doc/glibc-functions/quick_exit.texi: New file.
5097         * doc/glibc-functions/syncfs.texi: New file.
5098         * doc/gnulib.texi: Include them.
5099         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
5100         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
5101         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
5102         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
5103         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
5104         * doc/glibc-functions/execvpe.texi: Likewise.
5105
5106 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
5107
5108         ftell: don't include <unistd.h>
5109         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
5110         guaranteed to define off_t, and the ftell module depends on the
5111         stdio module.
5112
5113         ftell: do not assume wraparound signed arithmetic
5114         * lib/ftell.c: Include <limits.h>.
5115         (ftell): Don't assume wraparound signed arithmetic.
5116
5117 2011-07-24  Bruno Haible  <bruno@clisp.org>
5118
5119         close: No longer depend on module 'fclose'.
5120         * modules/close (Depends-on): Remove fclose.
5121         * NEWS: Mention the change.
5122         Suggested by Sam Steingold <sds@gnu.org>.
5123
5124 2011-07-24  Bruno Haible  <bruno@clisp.org>
5125
5126         fsusage: Enable large volume support on AIX >= 5.2.
5127         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
5128         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
5129         instead of STAT_STATVFS.
5130         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
5131
5132         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
5133         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
5134         f_blocks field only on MacOS X.
5135
5136         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
5137         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
5138         * modules/fsusage (Depends-on): Add largefile.
5139
5140 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
5141
5142         * README: Modernize discussion of signed integers.
5143         Assuming overflow wraparound is no longer safe.
5144         Mention ones' complement and signed magnitude.
5145
5146 2011-07-22  Bruno Haible  <bruno@clisp.org>
5147
5148         select tests, pselect tests: Refactor.
5149         * tests/test-select.h: New file, extracted from tests/test-select.c.
5150         (select_fn): New type.
5151         (test, do_select, do_select_nowait, do_select_wait, test_tty,
5152         test_connect_first, test_accept_first, test_pair, test_socket_pair,
5153         test_pipe): Add my_select argument.
5154         (test_function): Renamed from main. Add my_select argument.
5155         * tests/test-select.c: Move most code to tests/test-select.h. Include
5156         test-select.h.
5157         * modules/select-tests (Files): Add tests/test-select.h.
5158         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
5159         (my_select, main): New functions.
5160         * modules/pselect-tests (Files): Add tests/test-select.h,
5161         tests/macros.h, tests/signature.h.
5162         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
5163         (configure.ac): Check for <sys/wait.h>.
5164
5165 2011-07-22  Bruno Haible  <bruno@clisp.org>
5166
5167         sys_select tests: Check the signature of FD_*.
5168         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
5169         signature tests from here...
5170         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
5171         here.
5172         * modules/sys_select-tests (Files): Add tests/signature.h.
5173
5174 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
5175
5176         largefile: new module, replacing large-inode
5177         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
5178         * MODULES.html.sh: Add largefile, remove large-inode.
5179         * modules/largefile, m4/largefile.m4: New files.
5180         * modules/large-inode, m4/large-inode.m4: Remove.
5181
5182         fsusage: port to MacOS X 10.7 with 4 TiB file systems
5183         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
5184         implementations that use only 32 bits to count blocks.
5185         On typical hosts with 1024-byte blocks, this fails with file
5186         systems as small as 4 TiB.  Problem reported by Herb Wartens
5187         <http://debbugs.gnu.org/9140> and this should also fix a similar
5188         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
5189
5190         large-inode: New module
5191         * MODULES.html.sh: Add it.
5192         * modules/large-inode, m4/large-inode.m4: New files.
5193
5194         extensions: Enable extensions on MacOS X 10.5 and later.
5195         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
5196
5197 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
5198
5199         file-has-acl: use acl_extended_file_nofollow if available
5200         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
5201         (acl_extended_file): New macro.
5202         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
5203         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
5204
5205 2011-07-21  Bruno Haible  <bruno@clisp.org>
5206
5207         Declare system functions in a way that works with C++.
5208         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
5209         declare fdopendir as extern "C".
5210         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
5211         declare frexpl as extern "C".
5212         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
5213         declare gai_strerror as extern "C".
5214         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
5215         programs, declare gai_strerror as extern "C".
5216         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
5217         declare getlogin_r as extern "C".
5218         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
5219         as extern "C".
5220         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
5221         declare ldexpl as extern "C".
5222         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
5223         as extern "C".
5224         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
5225         program, declare getmntinfo as extern "C".
5226         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
5227         stpncpy as extern "C".
5228         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
5229         program, declare __xpg_strerror_r as extern "C".
5230         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
5231         strndup as extern "C".
5232         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
5233         declare memset and bzero as extern "C".
5234         Reported by Sam Steingold <sds@gnu.org>.
5235
5236 2011-07-12  Jim Meyering  <meyering@redhat.com>
5237
5238         maint.mk: prohibit inclusion of "verify.h" without use
5239         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
5240
5241 2011-07-19  Pádraig Brady  <P@draigBrady.com>
5242
5243         timer-time: A new module to check for timer_settime()
5244         * m4/timer_time.m4: Check for the posix function.
5245         * modules/timer-time: Add the new module.
5246         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
5247         Mention it.
5248
5249 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
5250             Bruno Haible  <bruno@clisp.org>
5251
5252         pthread_sigmask: assume POSIX threads if --avoid=threadlib
5253         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
5254         not defined, assume POSIX threads and look for pthread_sigmask in
5255         $LIBS, without changing $CPPFLAGS.
5256
5257 2011-07-19  Bruno Haible  <bruno@clisp.org>
5258
5259         strstr: Update cross-compilation guess.
5260         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
5261         CPUs, guess no, in view of glibc
5262         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
5263         Suggested by Eric Blake. Reported by Reuben Thomas.
5264
5265 2011-07-19  Pádraig Brady  <P@draigBrady.com>
5266
5267         getopt-gnu: suppress core dumps from detection code
5268         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
5269         to suppress core dumps that may well occur on glibc systems.
5270         * modules/getopt-gnu: Depend on nocrash.
5271
5272 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
5273
5274         pthread_sigmask: ensure usleep is declared
5275         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
5276         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
5277
5278 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
5279
5280         doc: Document NonStop portability issues.
5281         * doc/posix-functions/sigaction.texi (sigaction):
5282         * doc/posix-headers/signal.texi (signal.h):
5283         Document NonStop.  See Joachim Schmitz in
5284         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
5285
5286 2011-07-15  Bruno Haible  <bruno@clisp.org>
5287
5288         ffsl, ffsll: Avoid unportable behaviour.
5289         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
5290
5291 2011-07-15  Bruno Haible  <bruno@clisp.org>
5292
5293         ffs: More tests.
5294         * tests/test-ffs.c (NBITS): New macro.
5295         (main): Add more tests.
5296         * tests/test-ffsl.c (NBITS): New macro.
5297         (main): Add more tests.
5298         * tests/test-ffsll.c (NBITS): New macro.
5299         (main): Add more tests.
5300
5301 2011-07-15  Eric Blake  <eblake@redhat.com>
5302
5303         ffsl, ffsll: new modules
5304         * modules/ffsl: New file.
5305         * modules/ffsll: Likewise.
5306         * m4/ffsl.m4: Likewise.
5307         * m4/ffsll.m4: Likewise.
5308         * lib/ffsl.c: Likewise.
5309         * lib/ffsl.h: Likewise.
5310         * lib/ffsll.c: Likewise.
5311         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
5312         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
5313         * modules/string (Makefile.am): Substitute witnesses.
5314         * lib/strings.in.h (ffsl, ffsll): Declare.
5315         * modules/ffsl-tests: New test file.
5316         * modules/ffsll-tests: Likewise.
5317         * tests/test-ffsl.c: Likewise.
5318         * tests/test-ffsll.c: Likewise.
5319         * MODULES.html.sh (Integer arithmetic functions): Mention it.
5320         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
5321         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
5322
5323         ffs: fix m4 prerequisite
5324         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
5325
5326         ffs: avoid undefined behavior
5327         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
5328         * tests/test-ffs.c (naive, main): Avoid signed shifts.
5329         Reported by Bruno Haible.
5330
5331 2011-07-12  Bruno Haible  <bruno@clisp.org>
5332
5333         pthread_sigmask: Rely on module 'threadlib'.
5334         * modules/pthread_sigmask (Depends-on): Add threadlib.
5335         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
5336         is defined.
5337
5338 2011-07-12  Bruno Haible  <bruno@clisp.org>
5339
5340         regex: Depend on module 'strcase'.
5341         * modules/regex (Depends-on): Add strcase, for strcasecmp().
5342
5343 2011-07-12  Jim Meyering  <meyering@redhat.com>
5344
5345         warn-on-use: fix typo in file name
5346         * modules/snippet/warn-on-use (Files): Correct file name:
5347         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
5348
5349 2011-07-12  Bruno Haible  <bruno@clisp.org>
5350
5351         strings: Document module.
5352         * doc/posix-headers/strings.texi: Mention module 'strings'.
5353
5354 2011-07-12  Bruno Haible  <bruno@clisp.org>
5355
5356         Rename module '_Noreturn' to 'snippet/_Noreturn'.
5357         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
5358         (Files, Makefile.am): Update.
5359         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
5360         * modules/stdlib (Depends-on): Update.
5361
5362 2011-07-12  Bruno Haible  <bruno@clisp.org>
5363
5364         * NEWS: Mention the changes.
5365
5366         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
5367         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
5368         (Files, Makefile.am): Update.
5369         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
5370         * modules/arpa_inet (Depends-on): Update.
5371         * modules/ctype (Depends-on): Update.
5372         * modules/dirent (Depends-on): Update.
5373         * modules/fcntl-h (Depends-on): Update.
5374         * modules/glob (Depends-on): Update.
5375         * modules/iconv-h (Depends-on): Update.
5376         * modules/inttypes-incomplete (Depends-on): Update.
5377         * modules/langinfo (Depends-on): Update.
5378         * modules/locale (Depends-on): Update.
5379         * modules/math (Depends-on): Update.
5380         * modules/netdb (Depends-on): Update.
5381         * modules/poll-h (Depends-on): Update.
5382         * modules/pty (Depends-on): Update.
5383         * modules/search (Depends-on): Update.
5384         * modules/signal (Depends-on): Update.
5385         * modules/spawn (Depends-on): Update.
5386         * modules/stdio (Depends-on): Update.
5387         * modules/stdlib (Depends-on): Update.
5388         * modules/string (Depends-on): Update.
5389         * modules/strings (Depends-on): Update.
5390         * modules/sys_file (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_times (Depends-on): Update.
5397         * modules/sys_utsname (Depends-on): Update.
5398         * modules/sys_wait (Depends-on): Update.
5399         * modules/termios (Depends-on): Update.
5400         * modules/time (Depends-on): Update.
5401         * modules/unistd (Depends-on): Update.
5402         * modules/wchar (Depends-on): Update.
5403         * modules/wctype-h (Depends-on): Update.
5404         * MODULES.html.sh (Support for building libraries and executables):
5405         Update.
5406
5407         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
5408         * modules/snippet/unused-parameter: Renamed from
5409         modules/unused-parameter.
5410         (Files, Makefile.am): Update.
5411         * build-aux/snippet/unused-parameter.h: Renamed from
5412         build-aux/unused-parameter.h.
5413         * modules/selinux-h (Depends-on): Update.
5414         * modules/unistr/base (Depends-on): Update.
5415         * MODULES.html.sh (Core language properties): Update.
5416
5417         Rename module 'link-warning' to 'snippet/link-warning'.
5418         * modules/snippet/link-warning: Renamed from modules/link-warning.
5419         (Files, Makefile.am): Update.
5420         * build-aux/snippet/link-warning.h: Renamed from
5421         build-aux/link-warning.h.
5422         * MODULES.html.sh (Support for building libraries and executables):
5423         Update.
5424
5425         Rename module 'c++defs' to 'snippet/c++defs'.
5426         * modules/snippet/c++defs: Renamed from modules/c++defs.
5427         (Files, Makefile.am): Update.
5428         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
5429         * modules/arpa_inet (Depends-on): Update.
5430         * modules/ctype (Depends-on): Update.
5431         * modules/dirent (Depends-on): Update.
5432         * modules/fcntl-h (Depends-on): Update.
5433         * modules/glob (Depends-on): Update.
5434         * modules/iconv-h (Depends-on): Update.
5435         * modules/langinfo (Depends-on): Update.
5436         * modules/locale (Depends-on): Update.
5437         * modules/math (Depends-on): Update.
5438         * modules/netdb (Depends-on): Update.
5439         * modules/poll-h (Depends-on): Update.
5440         * modules/pty (Depends-on): Update.
5441         * modules/search (Depends-on): Update.
5442         * modules/signal (Depends-on): Update.
5443         * modules/spawn (Depends-on): Update.
5444         * modules/stdio (Depends-on): Update.
5445         * modules/stdlib (Depends-on): Update.
5446         * modules/string (Depends-on): Update.
5447         * modules/strings (Depends-on): Update.
5448         * modules/sys_ioctl (Depends-on): Update.
5449         * modules/sys_select (Depends-on): Update.
5450         * modules/sys_socket (Depends-on): Update.
5451         * modules/sys_stat (Depends-on): Update.
5452         * modules/sys_time (Depends-on): Update.
5453         * modules/sys_wait (Depends-on): Update.
5454         * modules/termios (Depends-on): Update.
5455         * modules/time (Depends-on): Update.
5456         * modules/unistd (Depends-on): Update.
5457         * modules/wchar (Depends-on): Update.
5458         * modules/wctype-h (Depends-on): Update.
5459
5460         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
5461         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
5462         (Files, Makefile.am): Update.
5463         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
5464         * modules/argv-iter (Depends-on): Update.
5465         * modules/arpa_inet (Depends-on): Update.
5466         * modules/dirent (Depends-on): Update.
5467         * modules/fcntl-h (Depends-on): Update.
5468         * modules/fnmatch (Depends-on): Update.
5469         * modules/getopt-posix (Depends-on): Update.
5470         * modules/glob (Depends-on): Update.
5471         * modules/iconv-h (Depends-on): Update.
5472         * modules/inttypes-incomplete (Depends-on): Update.
5473         * modules/locale (Depends-on): Update.
5474         * modules/math (Depends-on): Update.
5475         * modules/netdb (Depends-on): Update.
5476         * modules/search (Depends-on): Update.
5477         * modules/signal (Depends-on): Update.
5478         * modules/spawn (Depends-on): Update.
5479         * modules/stdio (Depends-on): Update.
5480         * modules/stdlib (Depends-on): Update.
5481         * modules/string (Depends-on): Update.
5482         * modules/strings (Depends-on): Update.
5483         * modules/sys_socket (Depends-on): Update.
5484         * modules/sys_stat (Depends-on): Update.
5485         * modules/sys_time (Depends-on): Update.
5486         * modules/sys_times (Depends-on): Update.
5487         * modules/sys_utsname (Depends-on): Update.
5488         * modules/time (Depends-on): Update.
5489         * modules/unistd (Depends-on): Update.
5490         * modules/wchar (Depends-on): Update.
5491         * MODULES.html.sh (Support for building libraries and executables):
5492         Update.
5493
5494 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
5495
5496         Improvements on _Noreturn and related modules.
5497
5498         modules/_Exit-tests: test _Noreturn too
5499         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
5500         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
5501         (main): Use them.
5502
5503         stdnoreturn, stdnoreturn-tests: remove modules
5504         They're not needed here and a bit premature for use elsewhere.  See
5505         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
5506         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
5507         * tests/test-stdnoreturn.c: Remove files.
5508         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
5509         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
5510         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
5511         and using noreturn.
5512         * modules/openat, modules/sigpipe-die, modules/xalloc:
5513         * modules/xmemdup0, modules/xstrtol:
5514         Remove dependency on stdnoreturn.
5515
5516         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
5517         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
5518         Reparenthesize to avoid GCC warning.
5519         Support Microsoft's syntax.
5520         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
5521
5522         _Noreturn-tests: remove module
5523         * modules/_Noreturn-tests: Remove.
5524         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
5525         * tests/test-_Noreturn.c: Remove.
5526         * tests/test-stdnoreturn.c: Merge from the old
5527         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
5528
5529 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
5530
5531         _Noreturn, stdnoreturn, and related modules.
5532
5533         * top/maint.mk: Adjust to new noreturn support.
5534         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
5535         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
5536
5537         xalloc: use stdnoreturn.h
5538         * lib/xalloc.h: Include <stdnoreturn.h>.
5539         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
5540         * modules/xalloc (Depends-on): Add stdnoreturn.
5541
5542         xstrtol: use stdnoreturn.h
5543         * lib/xstrtol.h: Include <stdnoreturn.h>.
5544         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
5545         * modules/xstrtol (Depends-on): Add stdnoreturn.
5546
5547         xmemdup0: use stdnoreturn.h
5548         * lib/xmemdup0.h: Include <stdnoreturn.h>.
5549         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
5550         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
5551
5552         sigpipe-die: use stdnoreturn.h
5553         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
5554         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
5555         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
5556
5557         openat: use stdnoreturn.h
5558         * lib/openat.h: Include <stdnoreturn.h>.
5559         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
5560         * modules/openat (Depends-on): Add stdnoreturn.
5561
5562         * lib/openat-die.c (openat_save_fail): Modernize comment.
5563
5564         * lib/xalloc-die.c (xalloc_die): Modernize comment.
5565
5566         * lib/glthread/thread.h: Modernize comment.
5567
5568         obstack: use _Noreturn
5569         * lib/obstack.c (__attribute__): Remove macro.
5570         (print_and_abort): Use _Noreturn.
5571
5572         c-stack: use _Noreturn
5573         * lib/c-stack.c (die, overflow_handler, segv_handler):
5574         Use _Noreturn rather than __attribute__((noreturn)).
5575
5576         argmatch-tests, exclude_tests: use _Noreturn
5577         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
5578         Remove.
5579         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
5580
5581         stdlib: use _Noreturn
5582         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
5583         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
5584         * modules/stdlib (Depends-on): Add _Noreturn.
5585         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
5586
5587         stdnoreturn-tests: new module
5588         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
5589
5590         stdnoreturn: new module
5591         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
5592         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
5593
5594         _Noreturn-tests: new module
5595         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
5596
5597         _Noreturn: new module
5598         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
5599         New section, mentioning it.
5600         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
5601
5602         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
5603
5604 2011-07-11  Eric Blake  <eblake@redhat.com>
5605
5606         ffs: new module
5607         * modules/ffs: New file.
5608         * m4/ffs.m4: Likewise.
5609         * lib/ffs.c: Likewise.
5610         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
5611         * modules/strings (Makefile.am): Substitute witness.
5612         (Depends-on): Add c++defs.
5613         * lib/strings.in.h (ffs): Declare.
5614         * modules/ffs-tests: New test file.
5615         * tests/test-ffs.c: Test new module.
5616         * MODULES.html.sh (Integer arithmetic functions): Mention it.
5617         * doc/posix-functions/ffs.texi (ffs): Likewise.
5618
5619         regex: avoid compiler warning
5620         * lib/regex.c (includes): Include <strings.h>, for use of
5621         strcasecmp in regcomp.c.
5622         Reported by Joachim Schmitz.
5623
5624 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
5625
5626         stdint: respect system's intmax_t if INTMAX_MAX
5627         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
5628         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
5629         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
5630         long but int64_t is long long, and where we will clash with the
5631         system intmax_t if we override it.  See
5632         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
5633         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
5634         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
5635         similarly for UINTMAX_C.
5636
5637 2011-07-08  Bruno Haible  <bruno@clisp.org>
5638
5639         pthread_sigmask tests: Avoid a compiler warning.
5640         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
5641         non-zero.
5642
5643         sigprocmask tests: A better way to avoid a compiler warning.
5644         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
5645         (main): Complain if system() returns non-zero.
5646         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
5647
5648 2011-07-08  Bruno Haible  <bruno@clisp.org>
5649
5650         pthread_sigmask: Work around IRIX bug.
5651         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
5652         bug.
5653         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
5654         there may be unblocked pending signals.
5655         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
5656
5657 2011-07-08  Bruno Haible  <bruno@clisp.org>
5658
5659         pthread_sigmask: Work around Cygwin bug.
5660         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
5661         bug.
5662         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
5663         the system's pthread_sigmask function.
5664         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
5665
5666 2011-07-08  Bruno Haible  <bruno@clisp.org>
5667
5668         pthread_sigmask: Work around bug in single-threaded implementation.
5669         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
5670         FreeBSD, HP-UX, Solaris bug.
5671         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
5672         * lib/pthread_sigmask.c: Include <stddef.h>.
5673         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
5674         the system's pthread_sigmask function.
5675         * modules/pthread_sigmask (configure.ac): Invoke
5676         gl_PREREQ_PTHREAD_SIGMASK.
5677         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
5678         HP-UX, Solaris.
5679
5680 2011-07-08  Eric Blake  <eblake@redhat.com>
5681
5682         test-sigprocmask: avoid compiler warning
5683         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
5684         * tests/test-sigprocmask.c (main): Use it to silence warning.
5685         Reported by Jim Meyering.
5686
5687         test-snprintf: avoid compiler warning
5688         * tests/test-snprintf.c (main): Avoid shadowed declaration.
5689         * tests/test-vsnprintf.c (main): Likewise.
5690         Reported by Jim Meyering.
5691
5692 2011-07-08  Bruno Haible  <bruno@clisp.org>
5693
5694         Tests for module 'pthread_sigmask'.
5695         * modules/pthread_sigmask-tests: New file.
5696         * tests/test-pthread_sigmask1.c: New file, based on
5697         tests/test-sigprocmask.c.
5698         * tests/test-pthread_sigmask2.c: New file.
5699
5700 2011-07-08  Jim Meyering  <meyering@redhat.com>
5701
5702         test-getopt.h: avoid warning about an unused variable
5703         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
5704
5705 2011-07-07  Jim Meyering  <meyering@redhat.com>
5706
5707         maint: reduce list of files exempt from sc_prohibit_leading_TABs
5708         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
5709         now that it no longer contains leading TABs.
5710         Remove unused "url=FIXME" statement.
5711
5712 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
5713
5714         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
5715         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
5716         When gl_THREADLIB is not in use, assume that the POSIX sematics
5717         are desired.  This is better for Emacs, which uses POSIX semantics
5718         on GNUish and/or POSIXish platforms, and does not use threads at
5719         all otherwise.
5720
5721         pthread_sigmask: fix typo when testing for libraries
5722         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
5723         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
5724
5725 2011-07-08  Eric Blake  <eblake@redhat.com>
5726
5727         fts: introduce FTS_NOATIME
5728         * lib/fts_.h (FTS_NOATIME): New bit flag.
5729         (FTS_OPTIONMASK): Adjust.
5730         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
5731         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
5732
5733 2011-07-08  Bruno Haible  <bruno@clisp.org>
5734
5735         Tests for module 'thread'.
5736         * modules/thread-tests: New file.
5737         * tests/test-thread_self.c: New file.
5738         * tests/test-thread_create.cc: New file.
5739
5740 2011-07-08  Bruno Haible  <bruno@clisp.org>
5741
5742         thread: Avoid gcc warnings when using gl_thread_self().
5743         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
5744         'void *'.
5745         (gl_thread_self_pointer): Update.
5746
5747 2011-07-07  Bruno Haible  <bruno@clisp.org>
5748
5749         signal-c++-tests: Check declaration of pthread_sigmask.
5750         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
5751         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
5752         $(LIB_PTHREAD_SIGMASK).
5753
5754 2011-07-07  Bruno Haible  <bruno@clisp.org>
5755
5756         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
5757         * lib/signal.in.h (pthread_sigmask): Override if
5758         REPLACE_PTHREAD_SIGMASK is 1.
5759         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
5760         REPLACE_PTHREAD_SIGMASK.
5761         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
5762         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
5763         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
5764         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
5765         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
5766
5767 2011-07-07  Bruno Haible  <bruno@clisp.org>
5768
5769         pthread_sigmask: Ensure declaration in <signal.h>.
5770         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
5771         include <pthread.h>.
5772         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
5773         problem.
5774
5775 2011-07-07  Bruno Haible  <bruno@clisp.org>
5776
5777         pthread_sigmask: Document the module.
5778         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
5779
5780 2011-07-07  Bruno Haible  <bruno@clisp.org>
5781
5782         pthread_sigmask: Follow gnulib conventions.
5783         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
5784         gl_PTHREAD_SIGMASK.
5785         * modules/pthread_sigmask (configure.ac): Update.
5786
5787 2011-07-07  Bruno Haible  <bruno@clisp.org>
5788
5789         pthread_sigmask: Make declaration C++ safe.
5790         * lib/signal.in.h: In two special conditions, just do an #include_next.
5791         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
5792         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
5793         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
5794         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
5795         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
5796         not REPLACE_PTHREAD_MASK.
5797         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
5798         not REPLACE_PTHREAD_MASK.
5799         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
5800
5801 2011-07-07  Bruno Haible  <bruno@clisp.org>
5802
5803         pthread_sigmask: Fix return value.
5804         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
5805         * lib/pthread_sigmask.c: New file.
5806         * modules/pthread_sigmask (Files): Add it.
5807         (configure.ac): Invoke AC_LIBOBJ.
5808
5809 2011-07-07  Eric Blake  <eblake@redhat.com>
5810
5811         getopt: more portable argv creation
5812         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
5813         const, use char arrays rather than strings.
5814         Suggested by Paul Eggert.
5815
5816 2011-07-07  Bruno Haible  <bruno@clisp.org>
5817
5818         Tests for module 'sigprocmask'.
5819         * modules/sigprocmask-tests: New file.
5820         * tests/test-sigprocmask.c: New file.
5821
5822 2011-07-07  Bruno Haible  <bruno@clisp.org>
5823
5824         float tests: Tweak.
5825         * tests/test-float.c (main): Tweak skip message.
5826
5827 2011-07-07  Eric Blake  <eblake@redhat.com>
5828
5829         getopt: avoid compiler warning during configure
5830         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
5831         assigning string literals to non-const pointer.
5832
5833         getopt-gnu: avoid crash in glibc getopt
5834         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
5835         * tests/test-getopt.h (test_getopt): Enhance test.
5836         * tests/test-getopt_long.h (test_getopt_long): Likewise.
5837         * doc/posix-functions/getopt.texi (getopt): Document it.
5838         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
5839         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
5840         Likewise.
5841
5842 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
5843
5844         getopt: handle W; without long options in getopt [BZ #12922]
5845         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
5846         but no long options are defined, just return 'W'.
5847
5848 2011-07-07  Bruno Haible  <bruno@clisp.org>
5849
5850         Avoid literal tabs.
5851         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
5852         variable containing a tab instead of a literal tab.
5853         Reported by Jim Meyering.
5854
5855 2011-07-07  Bruno Haible  <bruno@clisp.org>
5856
5857         Comments.
5858         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
5859
5860 2011-07-06  Bruno Haible  <bruno@clisp.org>
5861
5862         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
5863         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
5864         <winsock2.h>.
5865         (rpl_fd_isset, FD_ISSET): New definitions, copied from
5866         lib/sys_socket.in.h.
5867         (close, gethostname): Hide declarations from <winsock2.h>.
5868         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
5869         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
5870         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
5871         (select): Don't override if gnulib's <sys/select.h> was already
5872         included.
5873         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
5874         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
5875         setsockopt, shutdown, select): Tweak indentation.
5876
5877 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
5878
5879         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
5880         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
5881         in an application that does not use the sys_select module.
5882
5883 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
5884
5885         poll: do not return 0 on timeout=-1
5886         * lib/poll.c: Loop with yield if no events occured
5887
5888 2011-07-06  Eric Blake  <eblake@redhat.com>
5889
5890         pthread_sigmask: always replace when not using pthread
5891         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
5892         replacement when using some threading other than pthread.  Fix
5893         logic bug.
5894
5895 2011-07-06  Bruno Haible  <bruno@clisp.org>
5896
5897         Comments.
5898         * m4/printf.m4: Update comments about mingw.
5899
5900 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
5901
5902         sys_select: define sigset_t more portably
5903         * lib/sys_select.in.h: Always include <sys/types.h>, since
5904         we now need sigset_t and mingw defines it there.
5905         Include <signal.h> before split inclusion guard, to avoid
5906         mishaps on Solaris, whose <signal.h> eventually includes us.
5907         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
5908         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
5909         which come from ...
5910         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
5911         gl_CHECK_TYPE_SIGSET_T.
5912         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
5913         does the real work.
5914         * modules/sys_select (Depends-on): Add 'signal'.
5915
5916         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
5917         Suggested by Bruno Haible.
5918
5919         pselect: Use pthread_sigmask, not sigprocmask.
5920         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
5921         multithreaded apps better than sigprocmask does.
5922         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
5923         sigprocmask directly.
5924
5925 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
5926
5927         * lib/pselect.c (pselect): Use plain name, without "rpl_".
5928         Don't #undef,  since we don't need any underlying pselect.
5929         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
5930         (Depends-on): Add select.
5931         (Link): Add $(LIBSOCKET).
5932         These changes suggested by Bruno Haible.
5933
5934         pselect: document better
5935         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
5936         * doc/posix-functions/pselect.texi (pselect): Document new module.
5937
5938         pthread_sigmask: new module
5939         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
5940         * doc/posix-functions/pthread_sigmask.texi: Document new module.
5941         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
5942         This is done only as a macro; I don't know how well that'll
5943         work for C++.  Move <sys/types.h> include before the include_next,
5944         to avoid mishap on Solaris.
5945         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
5946         * modules/signal (Makefile.am): Substitute the check's results.
5947         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
5948
5949         test-pselect: new module
5950         * modules/pselect-tests, tests/test-pselect.c: New files.
5951         * tests/test-select.c, tests/test-sys_select-c++.cc:
5952         If TEST_PSELECT is defined, test pselect instead of testing select.
5953
5954         * tests/test-sys_select.c (sigset_t): Test for it, too.
5955         Suggested by Bruno Haible.
5956
5957 2011-07-05  Eric Blake  <eblake@redhat.com>
5958
5959         snprintf: guarantee %1$d, for libintl
5960         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
5961         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
5962         * doc/posix-functions/snprintf.texi (snprintf): Update.
5963         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
5964         * tests/test-snprintf.c (main): Enhance test.
5965         * tests/test-vsnprintf.c (main): Likewise.
5966
5967 2011-07-05  Jim Meyering  <meyering@redhat.com>
5968
5969         maint: exempt stdio-read.c and stdio-write.c from the cppi check
5970         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
5971         per Bruno's request, to accommodate this idiom (no space after "#")
5972         even when the function is inside an #if block:
5973         char *
5974         gets (char *s)
5975         #undef gets
5976         {
5977           ...
5978         }
5979
5980 2011-07-04  Jim Meyering  <meyering@redhat.com>
5981
5982         maint: indent with spaces, not TABs, and add a rule to check this
5983         * tests/test-userspec.c: Indent with spaces, not TABs.
5984         * tests/test-argp.c: Likewise.
5985         * tests/test-c-stack2.sh: Likewise.
5986         * tests/test-parse-duration.sh: Likewise
5987         * m4/strtod.m4: Likewise.
5988         * m4/alloca.m4: Likewise.
5989         * m4/pselect.m4: Likewise.
5990         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
5991
5992 2011-07-03  Jim Meyering  <meyering@redhat.com>
5993
5994         maint.mk: correct omissions in prohibit_argmatch_without_use check
5995         This rule would mistakenly report that argmatch.h is included without
5996         use even when both the argmatch and invalid_arg macro were used.
5997         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
5998         of argmatch and invalid_arg.
5999
6000 2011-07-03  Bruno Haible  <bruno@clisp.org>
6001
6002         Comments about EINTR.
6003         * lib/safe-read.h: Explain the purpose of this module.
6004         * lib/safe-write.h: Likewise.
6005         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
6006         module.
6007         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
6008         module.
6009         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
6010
6011 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
6012
6013         xnanosleep: Rewrite to use new dtotimespec module.
6014         It has the conversion code that used to be in xnanosleep.
6015         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
6016         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
6017         (TIME_T_MAX): Remove.
6018         (xnanosleep): Rewrite in terms of dtotimespec.
6019         * modules/xnanosleep (Depends-on): Add dtotimespec.
6020         Remove intprops, stdbool.
6021
6022         timespec-add, timespec-sub: new modules
6023         * lib/timespec.h (timespec_add, timespec_sub): New decls.
6024         * lib/timespec-add.c, lib/timespec-sub.c:
6025         * modules/timespec-add, modules/timespec-sub: New files.
6026
6027         dtotimespec: new module
6028         * lib/timespec.h (dtotimespec): New decl.
6029         * lib/dtotimespec.c, modules/dtotimespec: New files.
6030
6031         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
6032
6033         pselect: new module
6034         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
6035         (pselect): New decls.
6036         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
6037         since the standard pselect decl uses 'restrict'.
6038         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
6039         HAVE_PSELECT, REPLACE_PSELECT.
6040         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
6041         HAVE_PSELECT, REPLACE_PSELECT.
6042         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
6043
6044         sys_select: don't depend on sys_socket
6045         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
6046         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
6047         This fix works on GNU and GNU-like platforms, but has not been tested
6048         on native Windows.
6049         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
6050         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
6051         gl_HEADER_SYS_SOCKET.
6052         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
6053         gl_PREREQ_SYS_H_WINSOCK2.
6054
6055 2011-06-29  Eric Blake  <eblake@redhat.com>
6056
6057         pipe2: fix C89 compile problem
6058         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
6059         Reported by Bruno Haible.
6060
6061         pipe, pipe2: don't corrupt fd on error
6062         * lib/pipe.c (pipe): Leave fd unchanged on error.
6063         * lib/pipe2.c (pipe2): Likewise.
6064         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
6065         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
6066
6067 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
6068
6069         mmap-anon: do not use regular expressions inadvertently
6070         * m4/mmap-anon.m4: Remove trailing period from strings sought
6071         in the output.
6072
6073 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
6074
6075         nanosleep: fix integer overflow problem
6076         * lib/nanosleep.c (my_usleep): Don't assume signed integer
6077         arithmetic wraps around on overflow.
6078
6079         nanosleep: simplify carrying
6080         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
6081         first call to the underyling nanosleep, not for the last one.
6082         This doesn't fix any bugs, but it simplifies the computation of
6083         the remaining delay.  Found while auditing integer overflow issues.
6084
6085         dup2: remove test for existence of fcntl
6086         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
6087         "#if HAVE_FCNTL", in the configure-time test program.
6088         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
6089         and therefore speeds up "configure" a bit.  Found while
6090         adding the dup2 module to Emacs.
6091
6092 2011-06-24  Eric Blake  <eblake@redhat.com>
6093
6094         maint.mk: enhance useless header checks
6095         * top/maint.mk (_sc_header_without_use): Check both include
6096         styles.
6097         (sc_prohibit_assert_without_use)
6098         (sc_prohibit_close_stream_without_use)
6099         (sc_prohibit_getopt_without_use)
6100         (sc_prohibit_quotearg_without_use)
6101         (sc_prohibit_quote_without_use)
6102         (sc_prohibit_long_options_without_use)
6103         (sc_prohibit_inttostr_without_use)
6104         (sc_prohibit_ignore_value_without_use)
6105         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
6106         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
6107         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
6108         (sc_prohibit_hash_pjw_without_use)
6109         (sc_prohibit_safe_read_without_use)
6110         (sc_prohibit_argmatch_without_use)
6111         (sc_prohibit_canonicalize_without_use)
6112         (sc_prohibit_root_dev_ino_without_use)
6113         (sc_prohibit_openat_without_use)
6114         (sc_prohibit_c_ctype_without_use)
6115         (sc_prohibit_signal_without_use)
6116         (sc_prohibit_stdio--_without_use)
6117         (sc_prohibit_stdio-safer_without_use)
6118         (sc_prohibit_strings_without_use)
6119         (sc_prohibit_intprops_without_use)
6120         (sc_prohibit_stddef_without_use)
6121         (sc_prohibit_xfreopen_without_use): Update clients.
6122
6123 2011-06-24  Jim Meyering  <meyering@redhat.com>
6124
6125         syntax-check: keep one maint.mk rule in sync with its header
6126         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
6127         of the bug Eric has just fixed, with today's commit 25e4c2ec.
6128         I prefer to avoid temporary files here, so use <(...), but that
6129         is not supported by /bin/sh, so...
6130         (SHELL): Define to /bin/bash.
6131
6132 2011-06-24  Eric Blake  <eblake@redhat.com>
6133
6134         maint.mk: update sc_prohibit_intprops_without_use
6135         * top/maint.mk (_intprops_names): Match recent changes.
6136
6137 2011-06-24  Bruno Haible  <bruno@clisp.org>
6138
6139         strerror-override: No-op tweak.
6140         * lib/strerror-override.h (strerror_override): Reorder conditions,
6141         for consistency with lib/strerror-override.c.
6142
6143 2011-06-23  Eric Blake  <eblake@redhat.com>
6144
6145         maint.mk: test further PATH_MAX issues
6146         * top/maint.mk (sc_prohibit_path_max_array): Rename...
6147         (sc_prohibit_path_max_allocation): ...and also test alloca.
6148         Suggested by Jim Meyering.
6149
6150 2011-06-22  Eric Blake  <eblake@redhat.com>
6151
6152         maint.mk: add syntax-check to avoid char[PATH_MAX]
6153         * top/maint.mk (sc_prohibit_path_max_array): New rule.
6154
6155         stat: be robust to PATH_MAX definition
6156         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
6157         * modules/stat (Depends-on): Add verify.
6158
6159         link: work around IRIX bug
6160         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
6161         * lib/link.c (rpl_link): Work around it.
6162         * tests/test-link.h (test_link): Enhance test.
6163         * doc/posix-functions/link.texi (link): Document the bug.
6164
6165         getopt: silence clang warning
6166         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
6167         dereference.
6168         Reported by Gustavo Martin Domato.
6169
6170 2011-06-22  Jim Meyering  <meyering@redhat.com>
6171
6172         bootstrap: do not insert a blank line into each .gitignore file
6173         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
6174
6175 2011-06-21  Eric Blake  <eblake@redhat.com>
6176
6177         perror: test for output mismatch
6178         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
6179         perror on IRIX.
6180
6181         strerror_r: fix OpenBSD behavior on out-of-range
6182         * lib/strerror_r.c (strerror_r): Always use maximal string.
6183         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
6184
6185         strerror_r: fix OpenBSD behavior on 0
6186         * lib/strerror-override.c (strerror_override): Also override 0
6187         when needed.
6188         * lib/strerror-override.h (strerror_override): Likewise.
6189         * lib/strerror.c (strerror): Simplify, now that 0 override is done
6190         earlier.
6191         * lib/strerror_r.c (strerror_r): Likewise.
6192         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
6193         behavior...
6194         (gl_FUNC_STRERROR_0): ...into new macro.
6195         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
6196         is overridden.
6197         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
6198         * modules/strerror-override (Files): Add strerror.m4.
6199         (configure.ac): Also provide override for 0 when needed.
6200         * doc/posix-functions/strerror.texi (strerror): Document this.
6201         * doc/posix-functions/perror.texi (perror): Likewise.
6202
6203         perror: adjust array size
6204         * modules/perror (Depends-on): Add strerror-override.
6205         * lib/perror.c (perror): Use it to avoid magic number.
6206
6207         strerror-override: reduce size
6208         * lib/strerror-override.c (strerror_override): Use fewer lines.
6209
6210 2011-06-20  Bruno Haible  <bruno@clisp.org>
6211
6212         pathmax: Ensure correct value for PATH_MAX on HP-UX.
6213         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
6214
6215 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
6216
6217         alloca: port to compilers that can optimize like GCC 4.6.0
6218         * lib/alloca.c (find_stack_direction): New signature, taken from
6219         Autoconf git.  This works with GCC 4.6.0.  This code should never
6220         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
6221         be used with other compilers that optimize as well as GCC 4.6.0 does.
6222         (alloca): Adjust to new signature.
6223         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
6224         New macro, which patches Autoconf in a similar way.
6225
6226         c-stack: stop worrying about stack direction
6227         * lib/c-stack.c (find_stack_direction): Remove.
6228         (segv_handler): Don't worry about stack direction growth, as it's
6229         too much of a pain to configure this correctly, given how compilers
6230         are optimizing-away our stack-growth detection code.  Instead, assume
6231         that any access to just before or just after the stack is OK.
6232         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
6233         Don't require AC_FUNC_ALLOCA; no longer needed.
6234
6235 2011-06-20  Eric Blake  <eblake@redhat.com>
6236
6237         test-stat: don't allocate PATH_MAX bytes
6238         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
6239         PATH_MAX-sized buffer.
6240         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
6241         * modules/stat-tests (Depends-on): Likewise.
6242         * tests/test-fstatat.c (includes): Drop pathmax.h.
6243         * tests/test-stat.c (includes): Likewise.
6244         Reported by Bruno Haible.
6245
6246 2011-06-20  Bruno Haible  <bruno@clisp.org>
6247
6248         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
6249         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
6250         * lib/float.c: New file.
6251         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
6252         REPLACE_FLOAT_LDBL.
6253         * modules/float (Files): Add lib/float.c.
6254         (configure.ac): Invoke AC_LIBOBJ.
6255         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
6256
6257 2011-06-20  Bruno Haible  <bruno@clisp.org>
6258
6259         Tests for module 'float'.
6260         * modules/float-tests: New file.
6261         * tests/test-float.c: New file.
6262
6263 2011-06-19  Bruno Haible  <bruno@clisp.org>
6264
6265         isinf: Coding style.
6266         * lib/isinf.c: Use GNU coding style.
6267
6268 2011-06-19  Bruno Haible  <bruno@clisp.org>
6269
6270         linkat test: Avoid test failure on AIX 7.1.
6271         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
6272         * tests/test-link.h (test_link): Likewise.
6273
6274 2011-06-19  Bruno Haible  <bruno@clisp.org>
6275
6276         pread test: Avoid test failure on OpenBSD 4.9.
6277         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
6278
6279 2011-06-19  Bruno Haible  <bruno@clisp.org>
6280
6281         sprintf-posix: Fix test failure on AIX 7.1.
6282         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
6283         * doc/posix-functions/dprintf.texi: Mention limited precision problem
6284         on AIX.
6285         * doc/posix-functions/fprintf.texi: Likewise.
6286         * doc/posix-functions/printf.texi: Likewise.
6287         * doc/posix-functions/snprintf.texi: Likewise.
6288         * doc/posix-functions/sprintf.texi: Likewise.
6289         * doc/posix-functions/vdprintf.texi: Likewise.
6290         * doc/posix-functions/vfprintf.texi: Likewise.
6291         * doc/posix-functions/vprintf.texi: Likewise.
6292         * doc/posix-functions/vsnprintf.texi: Likewise.
6293         * doc/posix-functions/vsprintf.texi: Likewise.
6294
6295 2011-06-19  Bruno Haible  <bruno@clisp.org>
6296
6297         roundl-ieee: Fix test failure on AIX 7.1.
6298         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
6299         * doc/posix-functions/roundl.texi: Mention problem with negative
6300         arguments.
6301
6302 2011-06-19  Bruno Haible  <bruno@clisp.org>
6303
6304         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
6305         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
6306         * doc/posix-functions/round.texi: Mention problem with negative
6307         arguments.
6308         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
6309
6310 2011-06-19  Bruno Haible  <bruno@clisp.org>
6311
6312         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
6313         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
6314         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
6315         * doc/posix-functions/roundf.texi: Mention problem with negative
6316         arguments.
6317         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
6318
6319 2011-06-19  Bruno Haible  <bruno@clisp.org>
6320
6321         ceilf-ieee: Work around bug on MacOS X 10.5.
6322         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
6323
6324         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
6325         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
6326         IEEE compliant, avoid compiler optimizations.
6327         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
6328         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
6329         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
6330         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
6331         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
6332         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
6333         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
6334         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
6335         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
6336         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
6337
6338 2011-06-19  Bruno Haible  <bruno@clisp.org>
6339
6340         ceilf-ieee: Work around bug on AIX 7.1.
6341         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
6342         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
6343
6344 2011-06-19  Bruno Haible  <bruno@clisp.org>
6345
6346         ceil-ieee: Work around bug on AIX 7.1.
6347         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
6348         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
6349
6350 2011-06-18  Bruno Haible  <bruno@clisp.org>
6351
6352         fsync test: Avoid test failure on MacOS X and AIX.
6353         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
6354         EINVAL.
6355
6356 2011-06-18  Bruno Haible  <bruno@clisp.org>
6357
6358         openat, fdopendir tests: Fix link errors.
6359         * modules/openat-tests (Depends-on): Add progname.
6360         * modules/fdopendir-tests (Depends-on): Likewise.
6361         * tests/test-fchownat.c: Include progname.h.
6362         (main): Call set_program_name.
6363         * tests/test-fstatat.c: Include progname.h.
6364         (main): Call set_program_name.
6365         * tests/test-mkdirat.c: Include progname.h.
6366         (main): Call set_program_name.
6367         * tests/test-openat.c: Include progname.h.
6368         (main): Call set_program_name.
6369         * tests/test-unlinkat.c: Include progname.h.
6370         (main): Call set_program_name.
6371         * tests/test-fdopendir.c: Include progname.h.
6372         (main): Call set_program_name.
6373
6374 2011-06-18  Bruno Haible  <bruno@clisp.org>
6375
6376         Doc update.
6377         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
6378         HP-UX.
6379         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
6380
6381 2011-06-18  Bruno Haible  <bruno@clisp.org>
6382
6383         getcwd tests: Avoid compilation error on HP-UX 11.31.
6384         * modules/getcwd-tests (Depends-on): Add pathmax.
6385         * tests/test-getcwd.c: Include pathmax.h.
6386
6387 2011-06-18  Bruno Haible  <bruno@clisp.org>
6388
6389         isfinite, isinf: Fix link error on AIX 6 and 7.
6390         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
6391         needed, also test the macro with a 'float' argument.
6392         * m4/isinf.m4 (gl_ISINF): Likewise.
6393
6394 2011-06-18  Bruno Haible  <bruno@clisp.org>
6395
6396         getloadavg: Don't clobber LIBS. Regression from previous commit.
6397         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
6398         AC_CHECK_LIB from here...
6399         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
6400         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
6401         gl_func_getloadavg_done.
6402         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6403
6404 2011-06-18  Bruno Haible  <bruno@clisp.org>
6405
6406         clean-temp: Improve documentation.
6407         * lib/clean-temp.h: Explain better how to use this module.
6408         Reported by John Darrington <john@darrington.wattle.id.au>.
6409
6410 2011-06-17  Bruno Haible  <bruno@clisp.org>
6411
6412         pread, pwrite: Avoid cc warning on AIX.
6413         * lib/unistd.in.h (pread): Undefine before defining as a macro.
6414         (pwrite): Likewise.
6415
6416 2011-06-17  Bruno Haible  <bruno@clisp.org>
6417
6418         spawn-pipe tests: Fix link error.
6419         * tests/test-spawn-pipe-child.c: Undefine fprintf.
6420         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6421
6422 2011-06-17  Bruno Haible  <bruno@clisp.org>
6423
6424         Tests: Remove unnecessary dependency.
6425         * modules/canonicalize-tests (Depends-on): Remove progname.
6426         * modules/chown-tests (Depends-on): Likewise.
6427         * modules/dirname-tests (Depends-on): Likewise.
6428         * modules/fdopendir-tests (Depends-on): Likewise.
6429         * modules/fdutimensat-tests (Depends-on): Likewise.
6430         * modules/hash-tests (Depends-on): Likewise.
6431         * modules/lchown-tests (Depends-on): Likewise.
6432         * modules/linkat-tests (Depends-on): Likewise.
6433         * modules/renameat-tests (Depends-on): Likewise.
6434         * modules/spawn-pipe-tests (Depends-on): Likewise.
6435         * modules/utimensat-tests (Depends-on): Likewise.
6436
6437 2011-06-17  Bruno Haible  <bruno@clisp.org>
6438
6439         spawn-pipe tests: Fix link error.
6440         * tests/test-spawn-pipe-child.c: Undefine fflush.
6441
6442 2011-06-17  Bruno Haible  <bruno@clisp.org>
6443
6444         Fix tests link errors.
6445         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
6446         * modules/chown-tests (Makefile.am): Don't link test-chown with
6447         LIBINTL.
6448         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
6449         LIBINTL.
6450         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
6451         LIBINTL.
6452         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
6453         LIBINTL.
6454
6455 2011-06-16  Bruno Haible  <bruno@clisp.org>
6456
6457         crypto/gc-sha1: Fix recent regression.
6458         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
6459         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
6460
6461         crypto/gc-md5: Fix recent regression.
6462         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
6463
6464         crypto/gc-md4: Fix recent regression.
6465         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
6466         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
6467
6468         crypto/gc-arctwo: Fix recent regression.
6469         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
6470         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
6471
6472         crypto/gc-rijndael: Fix recent regression.
6473         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
6474         (configure.ac): Invoke AC_LIBOBJ here.
6475         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
6476         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6477
6478         crypto/gc-hmac-sha1: Fix recent regression.
6479         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
6480         (configure.ac): Invoke AC_LIBOBJ here.
6481         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
6482         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6483
6484         crypto/gc-hmac-md5: Fix recent regression.
6485         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
6486         (configure.ac): Invoke AC_LIBOBJ here.
6487         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
6488         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6489
6490         crypto/gc-des: Fix recent regression.
6491         * modules/crypto/gc-des (Files): Remove m4/des.m4.
6492         (configure.ac): Invoke AC_LIBOBJ here.
6493         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
6494         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6495
6496         crypto/gc-arcfour: Fix recent regression.
6497         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
6498         (configure.ac): Invoke AC_LIBOBJ here.
6499         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
6500         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6501
6502 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
6503
6504         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
6505         After the 2011-05-21 change, this macro requires
6506         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
6507         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
6508
6509 2011-06-16  Bruno Haible  <bruno@clisp.org>
6510
6511         fprintftime: Move AC_LIBOBJ invocations to module description.
6512         * m4/fprintftime.m4: Remove file.
6513         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
6514         (configure.ac): Remove gl_FPRINTFTIME call.
6515         (Makefile.am): Augment lib_SOURCES.
6516         Reported by Jim Meyering.
6517
6518 2011-06-16  Bruno Haible  <bruno@clisp.org>
6519
6520         tmpfile-safer: Finish 2011-05-23 commit.
6521         * m4/stdio-safer.m4: Really remove file.
6522         Reported by Jim Meyering.
6523
6524 2011-06-16  Bruno Haible  <bruno@clisp.org>
6525
6526         syntax-check: Fix typo.
6527         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
6528         printf-posix.m4.
6529         Reported by Jim Meyering.
6530
6531 2011-06-13  Jim Meyering  <meyering@redhat.com>
6532
6533         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
6534         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
6535
6536 2011-05-23  Bruno Haible  <bruno@clisp.org>
6537
6538         yesno: Move AC_LIBOBJ invocations to module description.
6539         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
6540         * modules/yesno (Makefile.am): Augment lib_SOURCES.
6541
6542 2011-05-23  Bruno Haible  <bruno@clisp.org>
6543
6544         xstrtol: Move AC_LIBOBJ invocations to module description.
6545         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
6546         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
6547
6548 2011-05-23  Bruno Haible  <bruno@clisp.org>
6549
6550         xstrtold: Move AC_LIBOBJ invocations to module description.
6551         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
6552         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
6553
6554 2011-05-23  Bruno Haible  <bruno@clisp.org>
6555
6556         xstrtod: Move AC_LIBOBJ invocations to module description.
6557         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
6558         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
6559
6560 2011-05-23  Bruno Haible  <bruno@clisp.org>
6561
6562         xnanosleep: Move AC_LIBOBJ invocations to module description.
6563         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
6564         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
6565
6566 2011-05-23  Bruno Haible  <bruno@clisp.org>
6567
6568         xgetcwd: Move AC_LIBOBJ invocations to module description.
6569         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
6570         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
6571
6572 2011-05-23  Bruno Haible  <bruno@clisp.org>
6573
6574         xalloc: Move AC_LIBOBJ invocations to module description.
6575         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
6576         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
6577
6578 2011-05-23  Bruno Haible  <bruno@clisp.org>
6579
6580         write-any-file: Move AC_LIBOBJ invocations to module description.
6581         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
6582         invocation.
6583         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
6584
6585 2011-05-23  Bruno Haible  <bruno@clisp.org>
6586
6587         utimens: Move AC_LIBOBJ invocations to module description.
6588         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
6589         * modules/utimens (Makefile.am): Augment lib_SOURCES.
6590
6591 2011-05-23  Bruno Haible  <bruno@clisp.org>
6592
6593         utimecmp: Move AC_LIBOBJ invocations to module description.
6594         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
6595         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
6596
6597 2011-05-23  Bruno Haible  <bruno@clisp.org>
6598
6599         userspec: Move AC_LIBOBJ invocations to module description.
6600         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
6601         * modules/userspec (Makefile.am): Augment lib_SOURCES.
6602
6603 2011-05-23  Bruno Haible  <bruno@clisp.org>
6604
6605         unlinkdir: Move AC_LIBOBJ invocations to module description.
6606         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
6607         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
6608
6609 2011-05-23  Bruno Haible  <bruno@clisp.org>
6610
6611         unistd-safer: Move AC_LIBOBJ invocations to module description.
6612         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
6613         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
6614
6615 2011-05-23  Bruno Haible  <bruno@clisp.org>
6616
6617         tempname: Move AC_LIBOBJ invocations to module description.
6618         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
6619         * modules/tempname (Makefile.am): Augment lib_SOURCES.
6620
6621 2011-05-23  Bruno Haible  <bruno@clisp.org>
6622
6623         strftime: Move AC_LIBOBJ invocations to module description.
6624         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
6625         * modules/strftime (Makefile.am): Augment lib_SOURCES.
6626
6627 2011-05-23  Bruno Haible  <bruno@clisp.org>
6628
6629         stdlib-safer: Move AC_LIBOBJ invocations to module description.
6630         * m4/stdlib-safer.m4: Remove file.
6631         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
6632         (configure.ac): Remove gl_STDLIB_SAFER call.
6633         (Makefile.am): Augment lib_SOURCES.
6634
6635 2011-05-23  Bruno Haible  <bruno@clisp.org>
6636
6637         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
6638         * m4/stdio-safer.m4: Remove file.
6639         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
6640         (configure.ac): Remove gl_TMPFILE_SAFER call.
6641         (Makefile.am): Augment lib_SOURCES.
6642
6643 2011-05-23  Bruno Haible  <bruno@clisp.org>
6644
6645         popen-safer: Move AC_LIBOBJ invocations to module description.
6646         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
6647         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
6648         (configure.ac): Remove gl_POPEN_SAFER call.
6649         (Makefile.am): Augment lib_SOURCES.
6650
6651 2011-05-23  Bruno Haible  <bruno@clisp.org>
6652
6653         freopen-safer: Move AC_LIBOBJ invocations to module description.
6654         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
6655         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
6656         (configure.ac): Remove gl_FREOPEN_SAFER call.
6657         (Makefile.am): Augment lib_SOURCES.
6658
6659 2011-05-23  Bruno Haible  <bruno@clisp.org>
6660
6661         fopen-safer: Move AC_LIBOBJ invocations to module description.
6662         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
6663         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
6664         (configure.ac): Remove gl_FOPEN_SAFER call.
6665         (Makefile.am): Augment lib_SOURCES.
6666
6667 2011-05-23  Bruno Haible  <bruno@clisp.org>
6668
6669         crypto/sha512: Move AC_LIBOBJ invocations to module description.
6670         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
6671         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
6672
6673 2011-05-23  Bruno Haible  <bruno@clisp.org>
6674
6675         crypto/sha256: Move AC_LIBOBJ invocations to module description.
6676         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
6677         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
6678
6679 2011-05-23  Bruno Haible  <bruno@clisp.org>
6680
6681         crypto/sha1: Move AC_LIBOBJ invocations to module description.
6682         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
6683         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
6684
6685 2011-05-23  Bruno Haible  <bruno@clisp.org>
6686
6687         settime: Move AC_LIBOBJ invocations to module description.
6688         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
6689         * modules/settime (Makefile.am): Augment lib_SOURCES.
6690
6691 2011-05-23  Bruno Haible  <bruno@clisp.org>
6692
6693         savedir: Move AC_LIBOBJ invocations to module description.
6694         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
6695         * modules/savedir (Makefile.am): Augment lib_SOURCES.
6696
6697 2011-05-23  Bruno Haible  <bruno@clisp.org>
6698
6699         save-cwd: Move AC_LIBOBJ invocations to module description.
6700         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
6701         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
6702
6703 2011-05-23  Bruno Haible  <bruno@clisp.org>
6704
6705         same: Move AC_LIBOBJ invocations to module description.
6706         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
6707         * modules/same (Makefile.am): Augment lib_SOURCES.
6708
6709 2011-05-23  Bruno Haible  <bruno@clisp.org>
6710
6711         safe-write: Move AC_LIBOBJ invocations to module description.
6712         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
6713         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
6714         instead of gl_SAFE_WRITE.
6715         (Makefile.am): Augment lib_SOURCES.
6716
6717 2011-05-23  Bruno Haible  <bruno@clisp.org>
6718
6719         safe-read: Move AC_LIBOBJ invocations to module description.
6720         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
6721         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
6722         of gl_SAFE_READ.
6723         (Makefile.am): Augment lib_SOURCES.
6724
6725 2011-05-23  Bruno Haible  <bruno@clisp.org>
6726
6727         safe-alloc: Move AC_LIBOBJ invocations to module description.
6728         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
6729         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
6730
6731 2011-05-23  Bruno Haible  <bruno@clisp.org>
6732
6733         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
6734         * m4/rijndael.m4: Remove file.
6735         * modules/crypto/rijndael (Files): Remove it.
6736         (configure.ac): Remove gl_RIJNDAEL call.
6737         (Makefile.am): Augment lib_SOURCES.
6738
6739 2011-05-23  Bruno Haible  <bruno@clisp.org>
6740
6741         readtokens: Move AC_LIBOBJ invocations to module description.
6742         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
6743         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
6744
6745 2011-05-23  Bruno Haible  <bruno@clisp.org>
6746
6747         read-file: Move AC_LIBOBJ invocations to module description.
6748         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
6749         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
6750         of gl_FUNC_READ_FILE.
6751         (Makefile.am): Augment lib_SOURCES.
6752
6753 2011-05-23  Bruno Haible  <bruno@clisp.org>
6754
6755         quotearg: Move AC_LIBOBJ invocations to module description.
6756         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
6757         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
6758
6759 2011-05-23  Bruno Haible  <bruno@clisp.org>
6760
6761         quote: Move AC_LIBOBJ invocations to module description.
6762         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
6763         * modules/quote (Makefile.am): Augment lib_SOURCES.
6764
6765 2011-05-23  Bruno Haible  <bruno@clisp.org>
6766
6767         posixver: Move AC_LIBOBJ invocations to module description.
6768         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
6769         * modules/posixver (Makefile.am): Augment lib_SOURCES.
6770
6771 2011-05-23  Bruno Haible  <bruno@clisp.org>
6772
6773         posixtm: Move AC_LIBOBJ invocations to module description.
6774         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
6775         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
6776
6777 2011-05-23  Bruno Haible  <bruno@clisp.org>
6778
6779         physmem: Move AC_LIBOBJ invocations to module description.
6780         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
6781         * modules/physmem (Makefile.am): Augment lib_SOURCES.
6782
6783 2011-05-23  Bruno Haible  <bruno@clisp.org>
6784
6785         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
6786         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
6787         invocation.
6788         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
6789
6790 2011-05-23  Bruno Haible  <bruno@clisp.org>
6791
6792         mpsort: Move AC_LIBOBJ invocations to module description.
6793         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
6794         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
6795
6796 2011-05-23  Bruno Haible  <bruno@clisp.org>
6797
6798         modechange: Move AC_LIBOBJ invocations to module description.
6799         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
6800         * modules/modechange (Makefile.am): Augment lib_SOURCES.
6801
6802 2011-05-23  Bruno Haible  <bruno@clisp.org>
6803
6804         mkdir-p: Move AC_LIBOBJ invocations to module description.
6805         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
6806         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
6807
6808 2011-05-23  Bruno Haible  <bruno@clisp.org>
6809
6810         mkancesdirs: Move AC_LIBOBJ invocations to module description.
6811         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
6812         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
6813
6814 2011-05-23  Bruno Haible  <bruno@clisp.org>
6815
6816         mgetgroups: Move AC_LIBOBJ invocations to module description.
6817         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
6818         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
6819
6820 2011-05-23  Bruno Haible  <bruno@clisp.org>
6821
6822         memxor: Move AC_LIBOBJ invocations to module description.
6823         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
6824         * modules/memxor (Makefile.am): Augment lib_SOURCES.
6825
6826 2011-05-23  Bruno Haible  <bruno@clisp.org>
6827
6828         memcoll: Move AC_LIBOBJ invocations to module description.
6829         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
6830         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
6831
6832 2011-05-23  Bruno Haible  <bruno@clisp.org>
6833
6834         memcasecmp: Move AC_LIBOBJ invocations to module description.
6835         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
6836         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
6837
6838 2011-05-23  Bruno Haible  <bruno@clisp.org>
6839
6840         crypto/md5: Move AC_LIBOBJ invocations to module description.
6841         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
6842         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
6843
6844 2011-05-23  Bruno Haible  <bruno@clisp.org>
6845
6846         crypto/md4: Move AC_LIBOBJ invocations to module description.
6847         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
6848         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
6849
6850 2011-05-23  Bruno Haible  <bruno@clisp.org>
6851
6852         crypto/md2: Move AC_LIBOBJ invocations to module description.
6853         * m4/md2.m4: Remove file.
6854         * modules/crypto/md2 (Files): Remove it.
6855         (configure.ac): Remove gl_MD2 call.
6856         (Makefile.am): Augment lib_SOURCES.
6857
6858 2011-05-23  Bruno Haible  <bruno@clisp.org>
6859
6860         long-options: Move AC_LIBOBJ invocations to module description.
6861         * m4/long-options.m4: Remove file.
6862         * modules/long-options (Files): Remove it.
6863         (configure.ac): Remove gl_LONG_OPTIONS call.
6864         (Makefile.am): Augment lib_SOURCES.
6865
6866 2011-05-23  Bruno Haible  <bruno@clisp.org>
6867
6868         i-ring: Move AC_LIBOBJ invocations to module description.
6869         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
6870         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
6871
6872 2011-05-23  Bruno Haible  <bruno@clisp.org>
6873
6874         idcache: Move AC_LIBOBJ invocations to module description.
6875         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
6876         * modules/idcache (Makefile.am): Augment lib_SOURCES.
6877
6878 2011-05-23  Bruno Haible  <bruno@clisp.org>
6879
6880         human: Move AC_LIBOBJ invocations to module description.
6881         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
6882         * modules/human (Makefile.am): Augment lib_SOURCES.
6883
6884 2011-05-23  Bruno Haible  <bruno@clisp.org>
6885
6886         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
6887         * m4/hmac-sha1.m4: Remove file.
6888         * modules/crypto/hmac-sha1 (Files): Remove it.
6889         (configure.ac): Remove gl_HMAC_SHA1 call.
6890         (Makefile.am): Augment lib_SOURCES.
6891
6892 2011-05-23  Bruno Haible  <bruno@clisp.org>
6893
6894         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
6895         * m4/hmac-md5.m4: Remove file.
6896         * modules/crypto/hmac-md5 (Files): Remove it.
6897         (configure.ac): Remove gl_HMAC_MD5 call.
6898         (Makefile.am): Augment lib_SOURCES.
6899
6900 2011-05-23  Bruno Haible  <bruno@clisp.org>
6901
6902         hash: Move AC_LIBOBJ invocations to module description.
6903         * m4/hash.m4: Remove file.
6904         * modules/hash (Files): Remove it.
6905         (configure.ac): Remove gl_HASH call.
6906         (Makefile.am): Augment lib_SOURCES.
6907
6908 2011-05-23  Bruno Haible  <bruno@clisp.org>
6909
6910         hard-locale: Move AC_LIBOBJ invocations to module description.
6911         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
6912         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
6913
6914 2011-05-23  Bruno Haible  <bruno@clisp.org>
6915
6916         getugroups: Move AC_LIBOBJ invocations to module description.
6917         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
6918         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
6919
6920 2011-05-23  Bruno Haible  <bruno@clisp.org>
6921
6922         gettime: Move AC_LIBOBJ invocations to module description.
6923         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
6924         * modules/gettime (Makefile.am): Augment lib_SOURCES.
6925
6926 2011-05-23  Bruno Haible  <bruno@clisp.org>
6927
6928         getndelim2: Move AC_LIBOBJ invocations to module description.
6929         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
6930         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
6931
6932 2011-05-23  Bruno Haible  <bruno@clisp.org>
6933
6934         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
6935         * m4/gc-pbkdf2-sha1.m4: Remove file.
6936         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
6937         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
6938         (Makefile.am): Augment lib_SOURCES.
6939
6940 2011-05-23  Bruno Haible  <bruno@clisp.org>
6941
6942         fts: Move AC_LIBOBJ invocations to module description.
6943         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
6944         * modules/fts (configure.ac): ... to here.
6945
6946 2011-05-23  Bruno Haible  <bruno@clisp.org>
6947
6948         file-type: Move AC_LIBOBJ invocations to module description.
6949         * m4/file-type.m4: Remove file.
6950         * modules/file-type (Files): Remove it.
6951         (configure.ac): Remove gl_FILE_TYPE call.
6952         (Makefile.am): Augment lib_SOURCES.
6953
6954 2011-05-23  Bruno Haible  <bruno@clisp.org>
6955
6956         filenamecat*: Respect rules for use of AC_LIBOBJ.
6957         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
6958         Remove AC_LIBOBJ invocation.
6959         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
6960         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
6961
6962 2011-05-23  Bruno Haible  <bruno@clisp.org>
6963
6964         filemode: Move AC_LIBOBJ invocations to module description.
6965         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
6966         * modules/filemode (Makefile.am): Augment lib_SOURCES.
6967
6968 2011-05-23  Bruno Haible  <bruno@clisp.org>
6969
6970         openat-safer: Move AC_LIBOBJ invocations to module description.
6971         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
6972         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
6973
6974 2011-05-23  Bruno Haible  <bruno@clisp.org>
6975
6976         fcntl-safer: Move AC_LIBOBJ invocations to module description.
6977         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
6978         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
6979
6980 2011-05-23  Bruno Haible  <bruno@clisp.org>
6981
6982         exclude: Move AC_LIBOBJ invocations to module description.
6983         * m4/exclude.m4: Remove file.
6984         * modules/exclude (Files): Remove it.
6985         (configure.ac): Remove gl_EXCLUDE call.
6986         (Makefile.am): Augment lib_SOURCES.
6987
6988 2011-05-23  Bruno Haible  <bruno@clisp.org>
6989
6990         dirname*: Respect rules for use of AC_LIBOBJ.
6991         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
6992         invocations.
6993         * modules/dirname (Makefile.am): Augment lib_SOURCES.
6994         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
6995
6996 2011-05-23  Bruno Haible  <bruno@clisp.org>
6997
6998         dirent-safer: Move AC_LIBOBJ invocations to module description.
6999         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
7000         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
7001
7002 2011-05-23  Bruno Haible  <bruno@clisp.org>
7003
7004         crypto/des: Move AC_LIBOBJ invocations to module description.
7005         * m4/des.m4: Remove file.
7006         * modules/crypto/des (Files): Remove it.
7007         (configure.ac): Remove gl_DES call.
7008         (Makefile.am): Augment lib_SOURCES.
7009
7010 2011-05-23  Bruno Haible  <bruno@clisp.org>
7011
7012         cycle-check: Move AC_LIBOBJ invocations to module description.
7013         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
7014         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
7015
7016 2011-05-23  Bruno Haible  <bruno@clisp.org>
7017
7018         c-strtold: Move AC_LIBOBJ invocations to module description.
7019         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
7020         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
7021
7022 2011-05-23  Bruno Haible  <bruno@clisp.org>
7023
7024         c-strtod: Move AC_LIBOBJ invocations to module description.
7025         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
7026         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
7027
7028 2011-05-23  Bruno Haible  <bruno@clisp.org>
7029
7030         crc: Move AC_LIBOBJ invocations to module description.
7031         * m4/crc.m4: Remove file.
7032         * modules/crc (Files): Remove it.
7033         (configure.ac): Remove gl_CRC call.
7034         (Makefile.am): Augment lib_SOURCES.
7035
7036 2011-05-23  Bruno Haible  <bruno@clisp.org>
7037
7038         close-stream: Move AC_LIBOBJ invocations to module description.
7039         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
7040         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
7041
7042 2011-05-23  Bruno Haible  <bruno@clisp.org>
7043
7044         closeout: Move AC_LIBOBJ invocations to module description.
7045         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
7046         * modules/closeout (Makefile.am): Augment lib_SOURCES.
7047
7048 2011-05-23  Bruno Haible  <bruno@clisp.org>
7049
7050         closein: Move AC_LIBOBJ invocations to module description.
7051         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
7052         * modules/closein (Makefile.am): Augment lib_SOURCES.
7053
7054 2011-05-23  Bruno Haible  <bruno@clisp.org>
7055
7056         cloexec: Move AC_LIBOBJ invocations to module description.
7057         * m4/cloexec.m4: Remove file.
7058         * modules/cloexec (Files): Remove it.
7059         (configure.ac): Remove gl_CLOEXEC call.
7060         (Makefile.am): Augment lib_SOURCES.
7061
7062 2011-05-23  Bruno Haible  <bruno@clisp.org>
7063
7064         check-version: Move AC_LIBOBJ invocations to module description.
7065         * m4/check-version.m4: Remove file.
7066         * modules/check-version (Files): Remove it.
7067         (configure.ac): Remove gl_CHECK_VERSION call.
7068         (Makefile.am): Augment lib_SOURCES.
7069
7070 2011-05-23  Bruno Haible  <bruno@clisp.org>
7071
7072         chdir-safer: Move AC_LIBOBJ invocations to module description.
7073         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
7074         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
7075
7076 2011-05-23  Bruno Haible  <bruno@clisp.org>
7077
7078         canonicalize: Move AC_LIBOBJ invocations to module description.
7079         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
7080         AC_LIBOBJ invocation.
7081         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
7082
7083 2011-05-23  Bruno Haible  <bruno@clisp.org>
7084
7085         canon-host: Move AC_LIBOBJ invocations to module description.
7086         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
7087         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
7088         instead of gl_CANON_HOST.
7089         (Makefile.am): Augment lib_SOURCES.
7090
7091 2011-05-23  Bruno Haible  <bruno@clisp.org>
7092
7093         backupfile: Move AC_LIBOBJ invocations to module description.
7094         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
7095         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
7096
7097 2011-05-23  Bruno Haible  <bruno@clisp.org>
7098
7099         argmatch: Move AC_LIBOBJ invocations to module description.
7100         * m4/argmatch.m4: Remove file.
7101         * modules/argmatch (Files): Remove it.
7102         (configure.ac): Remove gl_ARGMATCH call.
7103         (Makefile.am): Augment lib_SOURCES.
7104
7105 2011-05-23  Bruno Haible  <bruno@clisp.org>
7106
7107         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
7108         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
7109         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
7110
7111 2011-05-23  Bruno Haible  <bruno@clisp.org>
7112
7113         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
7114         * m4/arcfour.m4: Remove file.
7115         * modules/crypto/arcfour (Files): Remove it.
7116         (configure.ac): Remove gl_ARCFOUR call.
7117         (Makefile.am): Augment lib_SOURCES.
7118
7119 2011-05-22  Bruno Haible  <bruno@clisp.org>
7120
7121         write: Move AC_LIBOBJ invocations to module description.
7122         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
7123         * modules/write (configure.ac): ... to here.
7124
7125 2011-05-22  Bruno Haible  <bruno@clisp.org>
7126
7127         wmemset: Move AC_LIBOBJ invocations to module description.
7128         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
7129         here...
7130         * modules/wmemset (configure.ac): ... to here.
7131
7132 2011-05-22  Bruno Haible  <bruno@clisp.org>
7133
7134         wmemmove: Move AC_LIBOBJ invocations to module description.
7135         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
7136         here...
7137         * modules/wmemmove (configure.ac): ... to here.
7138
7139 2011-05-22  Bruno Haible  <bruno@clisp.org>
7140
7141         wmemcpy: Move AC_LIBOBJ invocations to module description.
7142         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
7143         here...
7144         * modules/wmemcpy (configure.ac): ... to here.
7145
7146 2011-05-22  Bruno Haible  <bruno@clisp.org>
7147
7148         wmemcmp: Move AC_LIBOBJ invocations to module description.
7149         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
7150         here...
7151         * modules/wmemcmp (configure.ac): ... to here.
7152
7153 2011-05-22  Bruno Haible  <bruno@clisp.org>
7154
7155         wmemchr: Move AC_LIBOBJ invocations to module description.
7156         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
7157         here...
7158         * modules/wmemchr (configure.ac): ... to here.
7159
7160 2011-05-22  Bruno Haible  <bruno@clisp.org>
7161
7162         wcswidth: Move AC_LIBOBJ invocations to module description.
7163         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
7164         here...
7165         * modules/wcswidth (configure.ac): ... to here.
7166
7167 2011-05-22  Bruno Haible  <bruno@clisp.org>
7168
7169         wcwidth: Respect rules for use of AC_LIBOBJ.
7170         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
7171         invocation from here...
7172         * modules/wcwidth (configure.ac): ... to here.
7173         (Depends-on): Update conditions.
7174
7175 2011-05-22  Bruno Haible  <bruno@clisp.org>
7176
7177         wctype: Move AC_LIBOBJ invocations to module description.
7178         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
7179         invocation from here...
7180         * modules/wctype (configure.ac): ... to here.
7181         (Depends-on): Update conditions.
7182
7183 2011-05-22  Bruno Haible  <bruno@clisp.org>
7184
7185         wctrans: Move AC_LIBOBJ invocations to module description.
7186         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
7187         invocation from here...
7188         * modules/wctrans (configure.ac): ... to here.
7189
7190 2011-05-22  Bruno Haible  <bruno@clisp.org>
7191
7192         wctomb: Move AC_LIBOBJ invocations to module description.
7193         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
7194         invocations from here...
7195         * modules/wctomb (configure.ac): ... to here.
7196
7197 2011-05-22  Bruno Haible  <bruno@clisp.org>
7198
7199         wctob: Move AC_LIBOBJ invocations to module description.
7200         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
7201         gl_PREREQ_WCTOB invocations from here...
7202         * modules/wctob (configure.ac): ... to here.
7203         (Depends-on): Update conditions.
7204
7205 2011-05-22  Bruno Haible  <bruno@clisp.org>
7206
7207         wcsxfrm: Move AC_LIBOBJ invocations to module description.
7208         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
7209         here...
7210         * modules/wcsxfrm (configure.ac): ... to here.
7211
7212 2011-05-22  Bruno Haible  <bruno@clisp.org>
7213
7214         wcstok: Move AC_LIBOBJ invocations to module description.
7215         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
7216         * modules/wcstok (configure.ac): ... to here.
7217
7218 2011-05-22  Bruno Haible  <bruno@clisp.org>
7219
7220         wcsstr: Move AC_LIBOBJ invocations to module description.
7221         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
7222         * modules/wcsstr (configure.ac): ... to here.
7223
7224 2011-05-22  Bruno Haible  <bruno@clisp.org>
7225
7226         wcsspn: Move AC_LIBOBJ invocations to module description.
7227         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
7228         * modules/wcsspn (configure.ac): ... to here.
7229
7230 2011-05-22  Bruno Haible  <bruno@clisp.org>
7231
7232         wcsrtombs: Move AC_LIBOBJ invocations to module description.
7233         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
7234         gl_PREREQ_WCSRTOMBS invocations from here...
7235         * modules/wcsrtombs (configure.ac): ... to here.
7236
7237 2011-05-22  Bruno Haible  <bruno@clisp.org>
7238
7239         wcsrchr: Move AC_LIBOBJ invocations to module description.
7240         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
7241         here...
7242         * modules/wcsrchr (configure.ac): ... to here.
7243
7244 2011-05-22  Bruno Haible  <bruno@clisp.org>
7245
7246         wcspbrk: Move AC_LIBOBJ invocations to module description.
7247         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
7248         here...
7249         * modules/wcspbrk (configure.ac): ... to here.
7250
7251 2011-05-22  Bruno Haible  <bruno@clisp.org>
7252
7253         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
7254         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
7255         gl_PREREQ_WCSNRTOMBS invocations from here...
7256         * modules/wcsnrtombs (configure.ac): ... to here.
7257
7258 2011-05-22  Bruno Haible  <bruno@clisp.org>
7259
7260         wcsnlen: Move AC_LIBOBJ invocations to module description.
7261         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
7262         here...
7263         * modules/wcsnlen (configure.ac): ... to here.
7264
7265 2011-05-22  Bruno Haible  <bruno@clisp.org>
7266
7267         wcsncpy: Move AC_LIBOBJ invocations to module description.
7268         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
7269         here...
7270         * modules/wcsncpy (configure.ac): ... to here.
7271
7272 2011-05-22  Bruno Haible  <bruno@clisp.org>
7273
7274         wcsncmp: Move AC_LIBOBJ invocations to module description.
7275         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
7276         here...
7277         * modules/wcsncmp (configure.ac): ... to here.
7278
7279 2011-05-22  Bruno Haible  <bruno@clisp.org>
7280
7281         wcsncat: Move AC_LIBOBJ invocations to module description.
7282         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
7283         here...
7284         * modules/wcsncat (configure.ac): ... to here.
7285
7286 2011-05-22  Bruno Haible  <bruno@clisp.org>
7287
7288         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
7289         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
7290         from here...
7291         * modules/wcsncasecmp (configure.ac): ... to here.
7292
7293 2011-05-22  Bruno Haible  <bruno@clisp.org>
7294
7295         wcslen: Move AC_LIBOBJ invocations to module description.
7296         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
7297         * modules/wcslen (configure.ac): ... to here.
7298
7299 2011-05-22  Bruno Haible  <bruno@clisp.org>
7300
7301         wcsdup: Move AC_LIBOBJ invocations to module description.
7302         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
7303         * modules/wcsdup (configure.ac): ... to here.
7304
7305 2011-05-22  Bruno Haible  <bruno@clisp.org>
7306
7307         wcscspn: Move AC_LIBOBJ invocations to module description.
7308         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
7309         here...
7310         * modules/wcscspn (configure.ac): ... to here.
7311
7312 2011-05-22  Bruno Haible  <bruno@clisp.org>
7313
7314         wcscpy: Move AC_LIBOBJ invocations to module description.
7315         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
7316         * modules/wcscpy (configure.ac): ... to here.
7317
7318 2011-05-22  Bruno Haible  <bruno@clisp.org>
7319
7320         wcscoll: Move AC_LIBOBJ invocations to module description.
7321         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
7322         here...
7323         * modules/wcscoll (configure.ac): ... to here.
7324
7325 2011-05-22  Bruno Haible  <bruno@clisp.org>
7326
7327         wcscmp: Move AC_LIBOBJ invocations to module description.
7328         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
7329         * modules/wcscmp (configure.ac): ... to here.
7330
7331 2011-05-22  Bruno Haible  <bruno@clisp.org>
7332
7333         wcschr: Move AC_LIBOBJ invocations to module description.
7334         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
7335         * modules/wcschr (configure.ac): ... to here.
7336
7337 2011-05-22  Bruno Haible  <bruno@clisp.org>
7338
7339         wcscat: Move AC_LIBOBJ invocations to module description.
7340         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
7341         * modules/wcscat (configure.ac): ... to here.
7342
7343 2011-05-22  Bruno Haible  <bruno@clisp.org>
7344
7345         wcscasecmp: Move AC_LIBOBJ invocations to module description.
7346         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
7347         here...
7348         * modules/wcscasecmp (configure.ac): ... to here.
7349
7350 2011-05-22  Bruno Haible  <bruno@clisp.org>
7351
7352         wcrtomb: Move AC_LIBOBJ invocations to module description.
7353         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
7354         invocations from here...
7355         * modules/wcrtomb (configure.ac): ... to here.
7356
7357 2011-05-22  Bruno Haible  <bruno@clisp.org>
7358
7359         wcpncpy: Move AC_LIBOBJ invocations to module description.
7360         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
7361         here...
7362         * modules/wcpncpy (configure.ac): ... to here.
7363
7364 2011-05-22  Bruno Haible  <bruno@clisp.org>
7365
7366         wcpcpy: Move AC_LIBOBJ invocations to module description.
7367         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
7368         * modules/wcpcpy (configure.ac): ... to here.
7369
7370 2011-05-22  Bruno Haible  <bruno@clisp.org>
7371
7372         waitpid: Move AC_LIBOBJ invocations to module description.
7373         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
7374         invocation from here...
7375         * modules/waitpid (configure.ac): ... to here.
7376
7377 2011-05-22  Bruno Haible  <bruno@clisp.org>
7378
7379         utimensat: Move AC_LIBOBJ invocations to module description.
7380         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
7381         here...
7382         * modules/utimensat (configure.ac): ... to here.
7383
7384 2011-05-22  Bruno Haible  <bruno@clisp.org>
7385
7386         usleep: Move AC_LIBOBJ invocations to module description.
7387         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
7388         here...
7389         * modules/usleep (configure.ac): ... to here.
7390
7391 2011-05-22  Bruno Haible  <bruno@clisp.org>
7392
7393         unlockpt: Move AC_LIBOBJ invocations to module description.
7394         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
7395         gl_PREREQ_UNLOCKPT invocations from here...
7396         * modules/unlockpt (configure.ac): ... to here.
7397
7398 2011-05-22  Bruno Haible  <bruno@clisp.org>
7399
7400         unlink: Respect rules for use of AC_LIBOBJ.
7401         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
7402         * modules/unlink (configure.ac): ... to here.
7403
7404 2011-05-22  Bruno Haible  <bruno@clisp.org>
7405
7406         uname: Move AC_LIBOBJ invocations to module description.
7407         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
7408         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
7409         here...
7410         * modules/uname (configure.ac): ... to here.
7411
7412 2011-05-22  Bruno Haible  <bruno@clisp.org>
7413
7414         ttyname_r: Move AC_LIBOBJ invocations to module description.
7415         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
7416         gl_PREREQ_TTYNAME_R invocations from here...
7417         * modules/ttyname_r (configure.ac): ... to here.
7418
7419 2011-05-22  Bruno Haible  <bruno@clisp.org>
7420
7421         tsearch: Move AC_LIBOBJ invocations to module description.
7422         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
7423         invocations from here...
7424         * modules/tsearch (configure.ac): ... to here.
7425
7426 2011-05-22  Bruno Haible  <bruno@clisp.org>
7427
7428         towctrans: Move AC_LIBOBJ invocations to module description.
7429         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
7430         AC_LIBOBJ invocation from here...
7431         * modules/towctrans (configure.ac): ... to here.
7432
7433 2011-05-22  Bruno Haible  <bruno@clisp.org>
7434
7435         tmpfile: Move AC_LIBOBJ invocations to module description.
7436         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
7437         invocations from here...
7438         * modules/tmpfile (configure.ac): ... to here.
7439
7440 2011-05-22  Bruno Haible  <bruno@clisp.org>
7441
7442         times: Move AC_LIBOBJ invocations to module description.
7443         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
7444         * modules/times (configure.ac): ... to here.
7445
7446 2011-05-22  Bruno Haible  <bruno@clisp.org>
7447
7448         time_r: Move AC_LIBOBJ invocations to module description.
7449         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
7450         invocations from here...
7451         * modules/time_r (configure.ac): ... to here.
7452
7453 2011-05-22  Bruno Haible  <bruno@clisp.org>
7454
7455         timegm: Move AC_LIBOBJ invocations to module description.
7456         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
7457         invocations from here...
7458         * modules/timegm (configure.ac): ... to here.
7459
7460 2011-05-22  Bruno Haible  <bruno@clisp.org>
7461
7462         tcgetsid: Move AC_LIBOBJ invocations to module description.
7463         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
7464         and gl_PREREQ_TCGETSID invocations from here...
7465         * modules/tcgetsid (configure.ac): ... to here.
7466         (Depends-on): Update conditions.
7467
7468 2011-05-22  Bruno Haible  <bruno@clisp.org>
7469
7470         symlinkat: Move AC_LIBOBJ invocations to module description.
7471         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
7472         here...
7473         * modules/symlinkat (configure.ac): ... to here.
7474
7475 2011-05-22  Bruno Haible  <bruno@clisp.org>
7476
7477         symlink: Move AC_LIBOBJ invocations to module description.
7478         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
7479         here...
7480         * modules/symlink (configure.ac): ... to here.
7481
7482 2011-05-22  Bruno Haible  <bruno@clisp.org>
7483
7484         strverscmp: Move AC_LIBOBJ invocations to module description.
7485         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
7486         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
7487         from here...
7488         * modules/strverscmp (configure.ac): ... to here.
7489
7490 2011-05-22  Bruno Haible  <bruno@clisp.org>
7491
7492         strtok_r: Move AC_LIBOBJ invocations to module description.
7493         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
7494         and gl_PREREQ_STRTOK_R invocations from here...
7495         * modules/strtok_r (configure.ac): ... to here.
7496         (Depends-on): Update conditions.
7497
7498 2011-05-22  Bruno Haible  <bruno@clisp.org>
7499
7500         strtoumax: Move AC_LIBOBJ invocations to module description.
7501         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
7502         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
7503         from here...
7504         * modules/strtoumax (configure.ac): ... to here.
7505
7506 2011-05-22  Bruno Haible  <bruno@clisp.org>
7507
7508         strtoimax: Move AC_LIBOBJ invocations to module description.
7509         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
7510         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
7511         from here...
7512         * modules/strtoimax (configure.ac): ... to here.
7513
7514 2011-05-22  Bruno Haible  <bruno@clisp.org>
7515
7516         strtoull: Move AC_LIBOBJ invocations to module description.
7517         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
7518         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
7519         from here...
7520         * modules/strtoull (configure.ac): ... to here.
7521
7522 2011-05-22  Bruno Haible  <bruno@clisp.org>
7523
7524         strtoll: Move AC_LIBOBJ invocations to module description.
7525         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
7526         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
7527         here...
7528         * modules/strtoll (configure.ac): ... to here.
7529
7530 2011-05-22  Bruno Haible  <bruno@clisp.org>
7531
7532         strtoul: Move AC_LIBOBJ invocations to module description.
7533         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
7534         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
7535         * modules/strtoul (configure.ac): ... to here.
7536
7537 2011-05-22  Bruno Haible  <bruno@clisp.org>
7538
7539         strtol: Move AC_LIBOBJ invocations to module description.
7540         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
7541         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
7542         * modules/strtol (configure.ac): ... to here.
7543
7544 2011-05-22  Bruno Haible  <bruno@clisp.org>
7545
7546         strtod: Move AC_LIBOBJ invocations to module description.
7547         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
7548         invocations from here...
7549         * modules/strtod (configure.ac): ... to here.
7550
7551 2011-05-22  Bruno Haible  <bruno@clisp.org>
7552
7553         strstr*: Move AC_LIBOBJ invocations to module description.
7554         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
7555         invocations from here...
7556         * modules/strstr-simple (configure.ac): ... to here.
7557         * modules/strstr (configure.ac): ... and here.
7558
7559 2011-05-22  Bruno Haible  <bruno@clisp.org>
7560
7561         strsignal: Move AC_LIBOBJ invocations to module description.
7562         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
7563         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
7564         * modules/strsignal (configure.ac): ... to here.
7565         (Depends-on): Update conditions.
7566
7567 2011-05-22  Bruno Haible  <bruno@clisp.org>
7568
7569         strsep: Move AC_LIBOBJ invocations to module description.
7570         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
7571         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
7572         here...
7573         * modules/strsep (configure.ac): ... to here.
7574
7575 2011-05-22  Bruno Haible  <bruno@clisp.org>
7576
7577         strptime: Move AC_LIBOBJ invocations to module description.
7578         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
7579         gl_PREREQ_STRPTIME invocations from here...
7580         * modules/strptime (configure.ac): ... to here.
7581
7582 2011-05-22  Bruno Haible  <bruno@clisp.org>
7583
7584         strpbrk: Move AC_LIBOBJ invocations to module description.
7585         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
7586         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
7587         here...
7588         * modules/strpbrk (configure.ac): ... to here.
7589
7590 2011-05-22  Bruno Haible  <bruno@clisp.org>
7591
7592         strnlen: Move AC_LIBOBJ invocations to module description.
7593         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
7594         invocations from here...
7595         * modules/strnlen (configure.ac): ... to here.
7596
7597 2011-05-22  Bruno Haible  <bruno@clisp.org>
7598
7599         strndup: Move AC_LIBOBJ invocations to module description.
7600         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
7601         invocations from here...
7602         * modules/strndup (configure.ac): ... to here.
7603         (Depends-on): Update conditions.
7604
7605 2011-05-22  Bruno Haible  <bruno@clisp.org>
7606
7607         strncat: Move AC_LIBOBJ invocations to module description.
7608         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
7609         invocations from here...
7610         * modules/strncat (configure.ac): ... to here.
7611
7612 2011-05-22  Bruno Haible  <bruno@clisp.org>
7613
7614         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
7615         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
7616         invocations from here...
7617         * modules/strdup (configure.ac): ... to here.
7618         * modules/strdup-posix (configure.ac): ... and here.
7619
7620 2011-05-22  Bruno Haible  <bruno@clisp.org>
7621
7622         strcspn: Move AC_LIBOBJ invocations to module description.
7623         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
7624         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
7625         here...
7626         * modules/strcspn (configure.ac): ... to here.
7627
7628 2011-05-22  Bruno Haible  <bruno@clisp.org>
7629
7630         strchrnul: Move AC_LIBOBJ invocations to module description.
7631         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
7632         gl_PREREQ_STRCHRNUL invocations from here...
7633         * modules/strchrnul (configure.ac): ... to here.
7634
7635 2011-05-22  Bruno Haible  <bruno@clisp.org>
7636
7637         strcasestr*: Move AC_LIBOBJ invocations to module description.
7638         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
7639         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
7640         * modules/strcasestr-simple (configure.ac): ... to here.
7641         * modules/strcasestr (configure.ac): ... and here.
7642
7643 2011-05-22  Bruno Haible  <bruno@clisp.org>
7644
7645         strcase: Move AC_LIBOBJ invocations to module description.
7646         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
7647         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
7648         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
7649         gl_PREREQ_STRNCASECMP invocations from here...
7650         * modules/strcase (configure.ac): ... to here.
7651
7652 2011-05-22  Bruno Haible  <bruno@clisp.org>
7653
7654         stpncpy: Move AC_LIBOBJ invocations to module description.
7655         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
7656         here...
7657         * modules/stpncpy (configure.ac): ... to here.
7658
7659 2011-05-22  Bruno Haible  <bruno@clisp.org>
7660
7661         stpcpy: Move AC_LIBOBJ invocations to module description.
7662         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
7663         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
7664         here...
7665         * modules/stpcpy (configure.ac): ... to here.
7666
7667 2011-05-21  Bruno Haible  <bruno@clisp.org>
7668
7669         stat: Move AC_LIBOBJ invocations to module description.
7670         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
7671         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
7672         here...
7673         * modules/stat (configure.ac): ... to here.
7674
7675 2011-05-21  Bruno Haible  <bruno@clisp.org>
7676
7677         sleep: Move AC_LIBOBJ invocations to module description.
7678         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
7679         * modules/sleep (configure.ac): ... to here.
7680
7681 2011-05-21  Bruno Haible  <bruno@clisp.org>
7682
7683         signbit: Move AC_LIBOBJ invocations to module description.
7684         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
7685         * modules/signbit (configure.ac): ... to here.
7686
7687 2011-05-21  Bruno Haible  <bruno@clisp.org>
7688
7689         sigprocmask: Move AC_LIBOBJ invocations to module description.
7690         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
7691         gl_PREREQ_SIGPROMASK invocations from here...
7692         * modules/sigprocmask (configure.ac): ... to here.
7693
7694 2011-05-21  Bruno Haible  <bruno@clisp.org>
7695
7696         sigaction: Move AC_LIBOBJ invocations to module description.
7697         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
7698         gl_PREREQ_SIGACTION invocations from here...
7699         * modules/sigaction (configure.ac): ... to here.
7700
7701 2011-05-21  Bruno Haible  <bruno@clisp.org>
7702
7703         sig2str: Move AC_LIBOBJ invocations to module description.
7704         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
7705         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
7706         here...
7707         * modules/sig2str (configure.ac): ... to here.
7708
7709 2011-05-21  Bruno Haible  <bruno@clisp.org>
7710
7711         setlocale: Move AC_LIBOBJ invocations to module description.
7712         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
7713         gl_PREREQ_SETLOCALE invocations from here...
7714         * modules/setlocale (configure.ac): ... to here.
7715
7716 2011-05-21  Bruno Haible  <bruno@clisp.org>
7717
7718         unsetenv: Move AC_LIBOBJ invocations to module description.
7719         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
7720         and gl_PREREQ_UNSETENV invocations from here...
7721         * modules/unsetenv (configure.ac): ... to here.
7722         (Depends-on): Update.
7723
7724 2011-05-21  Bruno Haible  <bruno@clisp.org>
7725
7726         setenv: Move AC_LIBOBJ invocations to module description.
7727         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
7728         here...
7729         * modules/setenv (configure.ac): ... to here.
7730
7731 2011-05-21  Bruno Haible  <bruno@clisp.org>
7732
7733         selinux-h: Move AC_LIBOBJ invocations to module description.
7734         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
7735         AC_LIBOBJ invocation from here...
7736         * modules/selinux-h (configure.ac): ... to here.
7737
7738 2011-05-21  Bruno Haible  <bruno@clisp.org>
7739
7740         select: Respect rules for use of AC_LIBOBJ.
7741         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
7742         here...
7743         * modules/select (configure.ac): ... to here.
7744
7745 2011-05-21  Bruno Haible  <bruno@clisp.org>
7746
7747         scandir: Move AC_LIBOBJ invocations to module description.
7748         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
7749         invocations from here...
7750         * modules/scandir (configure.ac): ... to here.
7751
7752 2011-05-21  Bruno Haible  <bruno@clisp.org>
7753
7754         rpmatch: Move AC_LIBOBJ invocations to module description.
7755         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
7756         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
7757         here...
7758         * modules/rpmatch (configure.ac): ... to here.
7759
7760 2011-05-21  Bruno Haible  <bruno@clisp.org>
7761
7762         rmdir: Respect rules for use of AC_LIBOBJ.
7763         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
7764         * modules/rmdir (configure.ac): ... to here.
7765
7766 2011-05-21  Bruno Haible  <bruno@clisp.org>
7767
7768         renameat: Move AC_LIBOBJ invocations to module description.
7769         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
7770         here...
7771         * modules/renameat (configure.ac): ... to here.
7772
7773 2011-05-21  Bruno Haible  <bruno@clisp.org>
7774
7775         rename: Respect rules for use of AC_LIBOBJ.
7776         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
7777         here...
7778         * modules/rename (configure.ac): ... to here.
7779
7780 2011-05-21  Bruno Haible  <bruno@clisp.org>
7781
7782         remove: Move AC_LIBOBJ invocations to module description.
7783         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
7784         here...
7785         * modules/remove (configure.ac): ... to here.
7786
7787 2011-05-21  Bruno Haible  <bruno@clisp.org>
7788
7789         relocatable-lib: Move AC_LIBOBJ invocations to module description.
7790         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
7791         macro.
7792         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
7793         * modules/relocatable-lib (configure.ac): ... to here.
7794         * modules/relocatable-prog-wrapper (configure.ac): Invoke
7795         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
7796
7797 2011-05-21  Bruno Haible  <bruno@clisp.org>
7798
7799         relocatable-prog: Move AC_LIBOBJ invocations to module description.
7800         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
7801         here...
7802         * modules/relocatable-prog (configure.ac): ... to here.
7803
7804 2011-05-21  Bruno Haible  <bruno@clisp.org>
7805
7806         regex: Move AC_LIBOBJ invocations to module description.
7807         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
7808         invocations from here...
7809         * modules/regex (configure.ac): ... to here.
7810
7811 2011-05-21  Bruno Haible  <bruno@clisp.org>
7812
7813         realloc-*: Move AC_LIBOBJ invocations to module description.
7814         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
7815         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
7816         AC_LIBOBJ invocations from here...
7817         * modules/realloc-gnu (configure.ac): ... to here.
7818         * modules/realloc-posix (configure.ac): ... and here.
7819
7820 2011-05-21  Bruno Haible  <bruno@clisp.org>
7821
7822         readutmp: Move AC_LIBOBJ invocations to module description.
7823         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
7824         * modules/readutmp (configure.ac): ... to here.
7825
7826 2011-05-21  Bruno Haible  <bruno@clisp.org>
7827
7828         readlinkat: Move AC_LIBOBJ invocations to module description.
7829         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
7830         here...
7831         * modules/readlinkat (configure.ac): ... to here.
7832
7833 2011-05-21  Bruno Haible  <bruno@clisp.org>
7834
7835         readlink: Move AC_LIBOBJ invocations to module description.
7836         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
7837         gl_PREREQ_READLINK invocations from here...
7838         * modules/readlink (configure.ac): ... to here.
7839
7840 2011-05-21  Bruno Haible  <bruno@clisp.org>
7841
7842         readline: Move AC_LIBOBJ invocations to module description.
7843         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
7844         gl_PREREQ_READLINE invocations from here...
7845         * modules/readline (configure.ac): ... to here.
7846
7847 2011-05-21  Bruno Haible  <bruno@clisp.org>
7848
7849         read: Move AC_LIBOBJ invocations to module description.
7850         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
7851         * modules/read (configure.ac): ... to here.
7852
7853 2011-05-21  Bruno Haible  <bruno@clisp.org>
7854
7855         rawmemchr: Move AC_LIBOBJ invocations to module description.
7856         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
7857         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
7858         from here...
7859         * modules/rawmemchr (configure.ac): ... to here.
7860
7861 2011-05-21  Bruno Haible  <bruno@clisp.org>
7862
7863         random_r: Move AC_LIBOBJ invocations to module description.
7864         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
7865         gl_PREREQ_RANDOM_R invocations from here...
7866         * modules/random_r (configure.ac): ... to here.
7867
7868 2011-05-21  Bruno Haible  <bruno@clisp.org>
7869
7870         pwrite: Move AC_LIBOBJ invocations to module description.
7871         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
7872         * modules/pwrite (configure.ac): ... to here.
7873
7874 2011-05-21  Bruno Haible  <bruno@clisp.org>
7875
7876         putenv: Move AC_LIBOBJ invocations to module description.
7877         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
7878         * modules/putenv (configure.ac): ... to here.
7879
7880 2011-05-21  Bruno Haible  <bruno@clisp.org>
7881
7882         login_tty: Move AC_LIBOBJ invocations to module description.
7883         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
7884         * modules/login_tty (configure.ac): ... to here.
7885
7886 2011-05-21  Bruno Haible  <bruno@clisp.org>
7887
7888         openpty: Move AC_LIBOBJ invocations to module description.
7889         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
7890         * modules/openpty (configure.ac): ... to here.
7891
7892 2011-05-21  Bruno Haible  <bruno@clisp.org>
7893
7894         forkpty: Move AC_LIBOBJ invocations to module description.
7895         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
7896         * modules/forkpty (configure.ac): ... to here.
7897
7898 2011-05-21  Bruno Haible  <bruno@clisp.org>
7899
7900         ptsname: Move AC_LIBOBJ invocations to module description.
7901         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
7902         invocations from here...
7903         * modules/ptsname (configure.ac): ... to here.
7904
7905 2011-05-21  Bruno Haible  <bruno@clisp.org>
7906
7907         pread: Move AC_LIBOBJ invocations to module description.
7908         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
7909         * modules/pread (configure.ac): ... to here.
7910
7911 2011-05-21  Bruno Haible  <bruno@clisp.org>
7912
7913         posix_spawn*: Move AC_LIBOBJ invocations to module description.
7914         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
7915         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
7916         * modules/posix_spawn (configure.ac): ... to here.
7917         * modules/posix_spawnp (configure.ac): ... and here.
7918
7919 2011-05-21  Bruno Haible  <bruno@clisp.org>
7920
7921         popen: Move AC_LIBOBJ invocations to module description.
7922         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
7923         invocations from here...
7924         * modules/popen (configure.ac): ... to here.
7925
7926 2011-05-21  Bruno Haible  <bruno@clisp.org>
7927
7928         poll: Move AC_LIBOBJ invocations to module description.
7929         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
7930         invocations from here...
7931         * modules/poll (configure.ac): ... to here.
7932
7933 2011-05-21  Bruno Haible  <bruno@clisp.org>
7934
7935         pipe-posix: Move AC_LIBOBJ invocations to module description.
7936         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
7937         * modules/pipe-posix (configure.ac): ... to here.
7938
7939 2011-05-21  Bruno Haible  <bruno@clisp.org>
7940
7941         openat: Respect rules for use of AC_LIBOBJ.
7942         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
7943         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
7944         * modules/openat (configure.ac): ... to here.
7945
7946 2011-05-21  Bruno Haible  <bruno@clisp.org>
7947
7948         obstack-printf*: Move AC_LIBOBJ invocations to module description.
7949         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
7950         invocation from here...
7951         * modules/obstack-printf (configure.ac): ... to here.
7952         * modules/obstack-printf-posix (configure.ac): ... and here.
7953
7954 2011-05-21  Bruno Haible  <bruno@clisp.org>
7955
7956         nl_langinfo: Move AC_LIBOBJ invocations to module description.
7957         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
7958         from here...
7959         * modules/nl_langinfo (configure.ac): ... to here.
7960
7961 2011-05-21  Bruno Haible  <bruno@clisp.org>
7962
7963         nanosleep: Move AC_LIBOBJ invocations to module description.
7964         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
7965         gl_PREREQ_NANOSLEEP invocations from here...
7966         * modules/nanosleep (configure.ac): ... to here.
7967
7968 2011-05-21  Bruno Haible  <bruno@clisp.org>
7969
7970         mountlist: Move AC_LIBOBJ invocations to module description.
7971         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
7972         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
7973         * modules/mountlist (configure.ac): ... to here.
7974
7975 2011-05-21  Bruno Haible  <bruno@clisp.org>
7976
7977         mktime: Respect rules for use of AC_LIBOBJ.
7978         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
7979         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
7980         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
7981         (gl_FUNC_MKTIME_INTERNAL): ... and here...
7982         * modules/mktime (configure.ac): ... to here.
7983         * modules/mktime-internal (configure.ac): ... and here.
7984         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
7985
7986 2011-05-21  Bruno Haible  <bruno@clisp.org>
7987
7988         mkstemps: Move AC_LIBOBJ invocations to module description.
7989         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
7990         here...
7991         * modules/mkstemps (configure.ac): ... to here.
7992
7993 2011-05-21  Bruno Haible  <bruno@clisp.org>
7994
7995         mkstemp: Move AC_LIBOBJ invocations to module description.
7996         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
7997         gl_PREREQ_MKSTEMP invocations from here...
7998         * modules/mkstemp (configure.ac): ... to here.
7999
8000 2011-05-21  Bruno Haible  <bruno@clisp.org>
8001
8002         mkostemps: Move AC_LIBOBJ invocations to module description.
8003         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
8004         here...
8005         * modules/mkostemps (configure.ac): ... to here.
8006
8007 2011-05-21  Bruno Haible  <bruno@clisp.org>
8008
8009         mkostemp: Move AC_LIBOBJ invocations to module description.
8010         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
8011         gl_PREREQ_MKOSTEMP invocations from here...
8012         * modules/mkostemp (configure.ac): ... to here.
8013
8014 2011-05-21  Bruno Haible  <bruno@clisp.org>
8015
8016         mknod: Move AC_LIBOBJ invocations to module description.
8017         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
8018         * modules/mknod (configure.ac): ... to here.
8019
8020 2011-05-21  Bruno Haible  <bruno@clisp.org>
8021
8022         mkfifoat: Move AC_LIBOBJ invocations to module description.
8023         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
8024         here...
8025         * modules/mkfifoat (configure.ac): ... to here.
8026
8027 2011-05-21  Bruno Haible  <bruno@clisp.org>
8028
8029         mkfifo: Respect rules for use of AC_LIBOBJ.
8030         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
8031         here...
8032         * modules/mkfifo (configure.ac): ... to here.
8033
8034 2011-05-21  Bruno Haible  <bruno@clisp.org>
8035
8036         mkdtemp: Move AC_LIBOBJ invocations to module description.
8037         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
8038         invocations from here...
8039         * modules/mkdtemp (configure.ac): ... to here.
8040
8041 2011-05-21  Bruno Haible  <bruno@clisp.org>
8042
8043         mkdir: Move AC_LIBOBJ invocations to module description.
8044         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
8045         * modules/mkdir (configure.ac): ... to here.
8046
8047 2011-05-21  Bruno Haible  <bruno@clisp.org>
8048
8049         memset: Move AC_LIBOBJ invocations to module description.
8050         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
8051         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
8052         here...
8053         * modules/memset (configure.ac): ... to here.
8054
8055 2011-05-21  Bruno Haible  <bruno@clisp.org>
8056
8057         memrchr: Move AC_LIBOBJ invocations to module description.
8058         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
8059         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
8060         here...
8061         * modules/memrchr (configure.ac): ... to here.
8062
8063 2011-05-21  Bruno Haible  <bruno@clisp.org>
8064
8065         mempcpy: Move AC_LIBOBJ invocations to module description.
8066         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
8067         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
8068         here...
8069         * modules/mempcpy (configure.ac): ... to here.
8070
8071 2011-05-21  Bruno Haible  <bruno@clisp.org>
8072
8073         memmove: Move AC_LIBOBJ invocations to module description.
8074         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
8075         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
8076         here...
8077         * modules/memmove (configure.ac): ... to here.
8078
8079 2011-05-21  Bruno Haible  <bruno@clisp.org>
8080
8081         memmem*: Move AC_LIBOBJ invocations to module description.
8082         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
8083         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
8084         here...
8085         (gl_FUNC_MEMMEM): ... and here...
8086         * modules/memmem-simple (configure.ac): ... to here.
8087         * modules/memmem (configure.ac): ... and here.
8088
8089 2011-05-21  Bruno Haible  <bruno@clisp.org>
8090
8091         memcpy: Move AC_LIBOBJ invocations to module description.
8092         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
8093         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
8094         here...
8095         * modules/memcpy (configure.ac): ... to here.
8096
8097 2011-05-21  Bruno Haible  <bruno@clisp.org>
8098
8099         memcmp: Simplify autoconf macro.
8100         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
8101         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
8102         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
8103
8104 2011-05-21  Bruno Haible  <bruno@clisp.org>
8105
8106         memcmp: Move AC_LIBOBJ invocations to module description.
8107         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
8108         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
8109         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
8110         * modules/memcmp (configure.ac): ... to here.
8111         (Depends-on): Update conditions.
8112
8113 2011-05-21  Bruno Haible  <bruno@clisp.org>
8114
8115         memchr: Respect rules for use of AC_LIBOBJ.
8116         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
8117         invocations from here...
8118         * modules/memchr (configure.ac): ... to here.
8119
8120 2011-05-21  Bruno Haible  <bruno@clisp.org>
8121
8122         mbtowc: Move AC_LIBOBJ invocations to module description.
8123         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
8124         invocations from here...
8125         * modules/mbtowc (configure.ac): ... to here.
8126
8127 2011-05-21  Bruno Haible  <bruno@clisp.org>
8128
8129         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
8130         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
8131         gl_PREREQ_MBSRTOWCS invocations from here...
8132         * modules/mbsrtowcs (configure.ac): ... to here.
8133
8134 2011-05-21  Bruno Haible  <bruno@clisp.org>
8135
8136         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
8137         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
8138         gl_PREREQ_MBSNRTOWCS invocations from here...
8139         * modules/mbsnrtowcs (configure.ac): ... to here.
8140
8141 2011-05-21  Bruno Haible  <bruno@clisp.org>
8142
8143         mbsinit: Move AC_LIBOBJ invocations to module description.
8144         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
8145         invocations from here...
8146         * modules/mbsinit (configure.ac): ... to here.
8147
8148 2011-05-21  Bruno Haible  <bruno@clisp.org>
8149
8150         mbrlen: Move AC_LIBOBJ invocations to module description.
8151         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
8152         invocations from here...
8153         * modules/mbrlen (configure.ac): ... to here.
8154
8155 2011-05-21  Bruno Haible  <bruno@clisp.org>
8156
8157         mbrtowc: Respect rules for use of AC_LIBOBJ.
8158         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
8159         invocations from here...
8160         * modules/mbrtowc (configure.ac): ... to here.
8161
8162 2011-05-21  Bruno Haible  <bruno@clisp.org>
8163
8164         malloc-*: Move AC_LIBOBJ invocations to module description.
8165         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
8166         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
8167         AC_LIBOBJ invocations from here...
8168         * modules/malloc-gnu (configure.ac): ... to here.
8169         * modules/malloc-posix (configure.ac): ... and here.
8170
8171 2011-05-21  Bruno Haible  <bruno@clisp.org>
8172
8173         lstat, openat: Respect rules for use of AC_LIBOBJ.
8174         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
8175         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
8176         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
8177         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
8178         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
8179         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
8180         here.
8181         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
8182
8183 2011-05-21  Bruno Haible  <bruno@clisp.org>
8184
8185         lseek: Move AC_LIBOBJ invocations to module description.
8186         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
8187         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
8188         * modules/lseek (configure.ac): ... to here.
8189
8190 2011-05-21  Bruno Haible  <bruno@clisp.org>
8191
8192         linkat: Move AC_LIBOBJ invocations to module description.
8193         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
8194         here...
8195         * modules/linkat (configure.ac): ... to here.
8196
8197 2011-05-21  Bruno Haible  <bruno@clisp.org>
8198
8199         link: Respect rules for use of AC_LIBOBJ.
8200         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
8201         * modules/link (configure.ac): ... to here.
8202
8203 2011-05-21  Bruno Haible  <bruno@clisp.org>
8204
8205         lchown: Move AC_LIBOBJ invocations to module description.
8206         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
8207         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
8208         * modules/lchown (configure.ac): ... to here.
8209
8210 2011-05-21  Bruno Haible  <bruno@clisp.org>
8211
8212         iswctype: Move AC_LIBOBJ invocations to module description.
8213         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
8214         here...
8215         * modules/iswctype (configure.ac): ... to here.
8216
8217 2011-05-21  Bruno Haible  <bruno@clisp.org>
8218
8219         iswblank: Move AC_LIBOBJ invocations to module description.
8220         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
8221         here...
8222         * modules/iswblank (configure.ac): ... to here.
8223
8224 2011-05-21  Bruno Haible  <bruno@clisp.org>
8225
8226         atanl: Move AC_LIBOBJ invocations to module description.
8227         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
8228         * modules/atanl (configure.ac): ... to here.
8229
8230 2011-05-21  Bruno Haible  <bruno@clisp.org>
8231
8232         acosl: Move AC_LIBOBJ invocations to module description.
8233         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
8234         * modules/acosl (configure.ac): ... to here.
8235
8236 2011-05-21  Bruno Haible  <bruno@clisp.org>
8237
8238         asinl: Respect rules for use of AC_LIBOBJ.
8239         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
8240         * modules/asinl (configure.ac): ... to here.
8241
8242 2011-05-21  Bruno Haible  <bruno@clisp.org>
8243
8244         tanl: Move AC_LIBOBJ invocations to module description.
8245         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
8246         * modules/tanl (configure.ac): ... to here.
8247
8248 2011-05-21  Bruno Haible  <bruno@clisp.org>
8249
8250         cosl: Move AC_LIBOBJ invocations to module description.
8251         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
8252         * modules/cosl (configure.ac): ... to here.
8253
8254 2011-05-21  Bruno Haible  <bruno@clisp.org>
8255
8256         sinl: Move AC_LIBOBJ invocations to module description.
8257         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
8258         * modules/sinl (configure.ac): ... to here.
8259
8260 2011-05-21  Bruno Haible  <bruno@clisp.org>
8261
8262         logl: Move AC_LIBOBJ invocations to module description.
8263         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
8264         * modules/logl (configure.ac): ... to here.
8265
8266 2011-05-21  Bruno Haible  <bruno@clisp.org>
8267
8268         expl: Move AC_LIBOBJ invocations to module description.
8269         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
8270         * modules/expl (configure.ac): ... to here.
8271
8272 2011-05-21  Bruno Haible  <bruno@clisp.org>
8273
8274         roundl: Move AC_LIBOBJ invocations to module description.
8275         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
8276         * modules/roundl (configure.ac): ... to here.
8277
8278 2011-05-21  Bruno Haible  <bruno@clisp.org>
8279
8280         round: Move AC_LIBOBJ invocations to module description.
8281         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
8282         * modules/round (configure.ac): ... to here.
8283
8284 2011-05-21  Bruno Haible  <bruno@clisp.org>
8285
8286         roundf: Move AC_LIBOBJ invocations to module description.
8287         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
8288         * modules/roundf (configure.ac): ... to here.
8289
8290 2011-05-21  Bruno Haible  <bruno@clisp.org>
8291
8292         truncl: Move AC_LIBOBJ invocations to module description.
8293         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
8294         * modules/truncl (configure.ac): ... to here.
8295
8296 2011-05-21  Bruno Haible  <bruno@clisp.org>
8297
8298         trunc: Move AC_LIBOBJ invocations to module description.
8299         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
8300         * modules/trunc (configure.ac): ... to here.
8301
8302 2011-05-21  Bruno Haible  <bruno@clisp.org>
8303
8304         truncf: Move AC_LIBOBJ invocations to module description.
8305         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
8306         * modules/truncf (configure.ac): ... to here.
8307
8308 2011-05-21  Bruno Haible  <bruno@clisp.org>
8309
8310         ceill: Move AC_LIBOBJ invocations to module description.
8311         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
8312         * modules/ceill (configure.ac): ... to here.
8313
8314 2011-05-21  Bruno Haible  <bruno@clisp.org>
8315
8316         ceil: Move AC_LIBOBJ invocations to module description.
8317         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
8318         * modules/ceil (configure.ac): ... to here.
8319
8320 2011-05-21  Bruno Haible  <bruno@clisp.org>
8321
8322         ceilf: Move AC_LIBOBJ invocations to module description.
8323         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
8324         * modules/ceilf (configure.ac): ... to here.
8325
8326 2011-05-21  Bruno Haible  <bruno@clisp.org>
8327
8328         floorl: Respect rules for use of AC_LIBOBJ.
8329         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
8330         * modules/floorl (configure.ac): ... to here.
8331
8332 2011-05-21  Bruno Haible  <bruno@clisp.org>
8333
8334         floor: Respect rules for use of AC_LIBOBJ.
8335         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
8336         * modules/floor (configure.ac): ... to here.
8337
8338 2011-05-21  Bruno Haible  <bruno@clisp.org>
8339
8340         floorf: Move AC_LIBOBJ invocations to module description.
8341         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
8342         * modules/floorf (configure.ac): ... to here.
8343
8344 2011-05-20  Bruno Haible  <bruno@clisp.org>
8345
8346         sqrtl: Respect rules for use of AC_LIBOBJ.
8347         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
8348         * modules/sqrtl (configure.ac): ... to here.
8349
8350 2011-05-20  Bruno Haible  <bruno@clisp.org>
8351
8352         ldexpl: Respect rules for use of AC_LIBOBJ.
8353         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
8354         * modules/ldexpl (configure.ac): ... to here.
8355
8356 2011-05-20  Bruno Haible  <bruno@clisp.org>
8357
8358         frexpl*: Respect rules for use of AC_LIBOBJ.
8359         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
8360         invocation from here...
8361         * modules/frexpl (configure.ac): ... to here.
8362         * modules/frexpl-nolibm (configure.ac): ... and here.
8363
8364 2011-05-20  Bruno Haible  <bruno@clisp.org>
8365
8366         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
8367         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
8368         invocation from here...
8369         * modules/frexp (configure.ac): ... to here.
8370         * modules/frexp-nolibm (configure.ac): ... and here.
8371
8372 2011-05-20  Bruno Haible  <bruno@clisp.org>
8373
8374         isnan: Respect rules for use of AC_LIBOBJ.
8375         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
8376         invocations here.
8377         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
8378         REPLACE_ISNAN.
8379         * modules/isnand (configure.ac): Likewise.
8380         * modules/isnanl (configure.ac): Likewise.
8381
8382 2011-05-20  Bruno Haible  <bruno@clisp.org>
8383
8384         isnanl*: Respect rules for use of AC_LIBOBJ.
8385         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
8386         invocation from here...
8387         * modules/isnanl (configure.ac): ... to here.
8388         * modules/isnanl-nolibm (configure.ac): ... and here.
8389
8390 2011-05-20  Bruno Haible  <bruno@clisp.org>
8391
8392         isnand*: Move AC_LIBOBJ invocations to module description.
8393         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
8394         invocation from here...
8395         * modules/isnand (configure.ac): ... to here.
8396         * modules/isnand-nolibm (configure.ac): ... and here.
8397
8398 2011-05-20  Bruno Haible  <bruno@clisp.org>
8399
8400         isnanf*: Move AC_LIBOBJ invocations to module description.
8401         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
8402         invocation from here...
8403         * modules/isnanf (configure.ac): ... to here.
8404         * modules/isnanf-nolibm (configure.ac): ... and here.
8405
8406 2011-05-20  Bruno Haible  <bruno@clisp.org>
8407
8408         isnan*: Separate the AC_LIBOBJ invocations.
8409         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
8410         AC_LIBOBJ invocation.
8411         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
8412         here.
8413         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
8414         AC_LIBOBJ invocation.
8415         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
8416         here.
8417         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
8418         AC_LIBOBJ invocation.
8419         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
8420         here.
8421         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
8422
8423 2011-05-08  Bruno Haible  <bruno@clisp.org>
8424
8425         isinf: Move AC_LIBOBJ invocations to module description.
8426         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
8427         * modules/isinf (configure.ac): ... to here.
8428
8429 2011-05-08  Bruno Haible  <bruno@clisp.org>
8430
8431         isfinite: Move AC_LIBOBJ invocations to module description.
8432         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
8433         * modules/isfinite (configure.ac): ... to here.
8434
8435 2011-05-08  Bruno Haible  <bruno@clisp.org>
8436
8437         isblank: Move AC_LIBOBJ invocations to module description.
8438         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
8439         here...
8440         * modules/isblank (configure.ac): ... to here.
8441
8442 2011-05-08  Bruno Haible  <bruno@clisp.org>
8443
8444         isapipe: Move AC_LIBOBJ invocations to module description.
8445         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
8446         gl_PREREQ_ISAPIPE invocations from here...
8447         * modules/isapipe (configure.ac): ... to here.
8448         (Depends-on): Update condition.
8449
8450 2011-05-08  Bruno Haible  <bruno@clisp.org>
8451
8452         ioctl: Move AC_LIBOBJ invocations to module description.
8453         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
8454         invocations from here...
8455         * modules/ioctl (configure.ac): ... to here.
8456         (Depends-on): Update condition.
8457
8458 2011-05-08  Bruno Haible  <bruno@clisp.org>
8459
8460         imaxdiv: Move AC_LIBOBJ invocations to module description.
8461         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
8462         invocations from here...
8463         * modules/imaxdiv (configure.ac): ... to here.
8464
8465 2011-05-08  Bruno Haible  <bruno@clisp.org>
8466
8467         imaxabs: Move AC_LIBOBJ invocations to module description.
8468         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
8469         invocations from here...
8470         * modules/imaxabs (configure.ac): ... to here.
8471
8472 2011-05-08  Bruno Haible  <bruno@clisp.org>
8473
8474         getaddrinfo: Move AC_LIBOBJ invocations to module description.
8475         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
8476         AC_LIBOBJ invocations from here...
8477         * modules/getaddrinfo (configure.ac): ... to here.
8478         (Depends-on): Add conditions.
8479
8480 2011-05-08  Bruno Haible  <bruno@clisp.org>
8481
8482         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
8483         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
8484         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
8485         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
8486         (gl_PREREQ_INET_PTON): ... from here.
8487         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
8488         gl_PREREQ_INET_PTON here.
8489         (Depends-on): Update condition.
8490
8491 2011-05-08  Bruno Haible  <bruno@clisp.org>
8492
8493         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
8494         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
8495         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
8496         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
8497         (gl_PREREQ_INET_NTOP): ... from here.
8498         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
8499         gl_PREREQ_INET_NTOP here.
8500         (Depends-on): Update condition.
8501
8502 2011-05-08  Bruno Haible  <bruno@clisp.org>
8503
8504         iconv_open: Move AC_LIBOBJ invocations to module description.
8505         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
8506         AC_LIBOBJ invocations from here...
8507         * modules/iconv_open (configure.ac): ... to here.
8508
8509 2011-05-08  Bruno Haible  <bruno@clisp.org>
8510
8511         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
8512         If module 'iconv_open' is among the main modules and module
8513         'iconv_open-utf' is among the tests dependencies, then
8514         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
8515         return the special iconv_t values. Therefore iconv() and iconv_close()
8516         must support these special iconv_t values, already in lib, not only in
8517         tests.
8518         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
8519         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
8520         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
8521         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
8522         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
8523         (Depends-on): Add the dependencies of iconv_open-utf.
8524         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
8525         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
8526         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
8527
8528 2011-05-08  Bruno Haible  <bruno@clisp.org>
8529
8530         group-member: Move AC_LIBOBJ invocations to module description.
8531         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
8532         gl_PREREQ_GROUP_MEMBER invocations from here...
8533         * modules/group-member (configure.ac): ... to here.
8534
8535 2011-05-08  Bruno Haible  <bruno@clisp.org>
8536
8537         grantpt: Move AC_LIBOBJ invocations to module description.
8538         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
8539         invocations from here...
8540         * modules/grantpt (configure.ac): ... to here.
8541
8542 2011-05-08  Bruno Haible  <bruno@clisp.org>
8543
8544         glob: Move AC_LIBOBJ invocations to module description.
8545         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
8546         from here...
8547         * modules/glob (configure.ac): ... to here.
8548
8549 2011-05-08  Bruno Haible  <bruno@clisp.org>
8550
8551         getusershell: Move AC_LIBOBJ invocations to module description.
8552         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
8553         Move AC_LIBOBJ invocation from here...
8554         * modules/getusershell (configure.ac): ... to here.
8555         (Depends-on): Update condition.
8556
8557 2011-05-08  Bruno Haible  <bruno@clisp.org>
8558
8559         gettimeofday: Move AC_LIBOBJ invocations to module description.
8560         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
8561         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
8562         gl_PREREQ_GETTIMEOFDAY invocations from here...
8563         * modules/gettimeofday (configure.ac): ... to here.
8564
8565 2011-05-08  Bruno Haible  <bruno@clisp.org>
8566
8567         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
8568         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
8569         just gl_FUNC_TZSET.
8570         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
8571         (gl_FUNC_TZSET_CLOBBER): Remove actions.
8572         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
8573         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
8574
8575 2011-05-08  Bruno Haible  <bruno@clisp.org>
8576
8577         getsubopt: Move AC_LIBOBJ invocations to module description.
8578         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
8579         gl_PREREQ_GETSUBOPT invocations from here...
8580         * modules/getsubopt (configure.ac): ... to here.
8581
8582 2011-05-08  Bruno Haible  <bruno@clisp.org>
8583
8584         getpass-gnu: Move AC_LIBOBJ invocations to module description.
8585         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
8586         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
8587         * modules/getpass-gnu (configure.ac): ... to here.
8588
8589 2011-05-08  Bruno Haible  <bruno@clisp.org>
8590
8591         getpass: Move AC_LIBOBJ invocations to module description.
8592         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
8593         gl_PREREQ_GETPASS invocations from here...
8594         * modules/getpass (configure.ac): ... to here.
8595
8596 2011-05-08  Bruno Haible  <bruno@clisp.org>
8597
8598         getpagesize: Move AC_LIBOBJ invocations to module description.
8599         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
8600         from here...
8601         * modules/getpagesize (configure.ac): ... to here.
8602
8603 2011-05-08  Bruno Haible  <bruno@clisp.org>
8604
8605         getopt: Move AC_LIBOBJ invocations to module description.
8606         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
8607         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
8608         invocations from here...
8609         * modules/getopt-gnu (configure.ac): ... to here.
8610         * modules/getopt-posix (configure.ac): ... and here.
8611         (Depends-on): Update condition.
8612
8613 2011-05-08  Bruno Haible  <bruno@clisp.org>
8614
8615         getopt, argp: Respect rules for use of AC_LIBOBJ.
8616         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
8617         (gl_REPLACE_GETOPT_ALWAYS): New macro.
8618         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
8619         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
8620
8621 2011-05-08  Bruno Haible  <bruno@clisp.org>
8622
8623         getlogin_r: Move AC_LIBOBJ invocations to module description.
8624         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
8625         gl_PREREQ_GETLOGIN_R invocations from here...
8626         * modules/getlogin_r (configure.ac): ... to here.
8627
8628 2011-05-08  Bruno Haible  <bruno@clisp.org>
8629
8630         getlogin: Move AC_LIBOBJ invocations to module description.
8631         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
8632         here...
8633         * modules/getlogin (configure.ac): ... to here.
8634
8635 2011-05-08  Bruno Haible  <bruno@clisp.org>
8636
8637         getloadavg: Move AC_LIBOBJ invocations to module description.
8638         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
8639         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
8640         * modules/getloadavg (configure.ac): ... to here.
8641
8642 2011-05-08  Bruno Haible  <bruno@clisp.org>
8643
8644         gethrxtime: Move AC_LIBOBJ invocations to module description.
8645         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
8646         LIB_GETHRXTIME from here...
8647         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
8648         invocations from here...
8649         * modules/gethrxtime (configure.ac): ... to here.
8650
8651 2011-05-08  Bruno Haible  <bruno@clisp.org>
8652
8653         gethostname: Move AC_LIBOBJ invocations to module description.
8654         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
8655         gl_PREREQ_GETHOSTNAME invocations from here...
8656         * modules/gethostname (configure.ac): ... to here.
8657
8658 2011-05-08  Bruno Haible  <bruno@clisp.org>
8659
8660         getgroups: Move AC_LIBOBJ invocations to module description.
8661         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
8662         here...
8663         * modules/getgroups (configure.ac): ... to here.
8664
8665 2011-05-08  Bruno Haible  <bruno@clisp.org>
8666
8667         getdtablesize: Move AC_LIBOBJ invocations to module description.
8668         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
8669         invocation from here...
8670         * modules/getdtablesize (configure.ac): ... to here.
8671
8672 2011-05-08  Bruno Haible  <bruno@clisp.org>
8673
8674         getdomainname: Move AC_LIBOBJ invocations to module description.
8675         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
8676         gl_PREREQ_GETDOMAINNAME invocations from here...
8677         * modules/getdomainname (configure.ac): ... to here.
8678
8679 2011-05-08  Bruno Haible  <bruno@clisp.org>
8680
8681         getline: Move AC_LIBOBJ invocations to module description.
8682         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
8683         invocations from here...
8684         * modules/getline (configure.ac): ... to here.
8685
8686 2011-05-08  Bruno Haible  <bruno@clisp.org>
8687
8688         getline: Simplify.
8689         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
8690         It's already handled through the module dependency.
8691
8692 2011-05-08  Bruno Haible  <bruno@clisp.org>
8693
8694         getdelim: Move AC_LIBOBJ invocations to module description.
8695         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
8696         and gl_PREREQ_GETDELIM invocations from here...
8697         * modules/getdelim (configure.ac): ... to here.
8698         (Depends-on): Fix condition.
8699
8700 2011-05-08  Bruno Haible  <bruno@clisp.org>
8701
8702         getcwd: Move AC_LIBOBJ invocations to module description.
8703         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
8704         invocations from here...
8705         * modules/getcwd (configure.ac): ... to here.
8706
8707 2011-05-08  Bruno Haible  <bruno@clisp.org>
8708
8709         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
8710         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
8711         here...
8712         * modules/getcwd-lgpl (configure.ac): ... to here.
8713
8714 2011-05-07  Bruno Haible  <bruno@clisp.org>
8715
8716         crypto/gc: Move AC_LIBOBJ invocations to module description.
8717         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
8718         * modules/crypto/gc (configure.ac): ... to here.
8719
8720 2011-05-07  Bruno Haible  <bruno@clisp.org>
8721
8722         fwriting: Move AC_LIBOBJ invocations to module description.
8723         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
8724         here...
8725         * modules/fwriting (configure.ac): ... to here.
8726
8727 2011-05-07  Bruno Haible  <bruno@clisp.org>
8728
8729         fwritable: Move AC_LIBOBJ invocations to module description.
8730         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
8731         here...
8732         * modules/fwritable (configure.ac): ... to here.
8733
8734 2011-05-07  Bruno Haible  <bruno@clisp.org>
8735
8736         futimens: Move AC_LIBOBJ invocations to module description.
8737         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
8738         here...
8739         * modules/futimens (configure.ac): ... to here.
8740
8741 2011-05-07  Bruno Haible  <bruno@clisp.org>
8742
8743         ftruncate: Move AC_LIBOBJ invocations to module description.
8744         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
8745         gl_PREREQ_FTRUNCATE invocations from here...
8746         * modules/ftruncate (configure.ac): ... to here.
8747
8748 2011-05-07  Bruno Haible  <bruno@clisp.org>
8749
8750         fsync: Move AC_LIBOBJ invocations to module description.
8751         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
8752         invocations from here...
8753         * modules/fsync (configure.ac): ... to here.
8754
8755 2011-05-07  Bruno Haible  <bruno@clisp.org>
8756
8757         fsusage: Move AC_LIBOBJ invocations to module description.
8758         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
8759         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
8760         * modules/fsusage (configure.ac): ... to here.
8761
8762 2011-05-07  Bruno Haible  <bruno@clisp.org>
8763
8764         freopen: Move AC_LIBOBJ invocations to module description.
8765         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
8766         invocations from here...
8767         * modules/freopen (configure.ac): ... to here.
8768
8769 2011-05-07  Bruno Haible  <bruno@clisp.org>
8770
8771         free: Move AC_LIBOBJ invocations to module description.
8772         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
8773         invocations from here...
8774         * modules/free (configure.ac): ... to here.
8775
8776 2011-05-07  Bruno Haible  <bruno@clisp.org>
8777
8778         freadable: Move AC_LIBOBJ invocations to module description.
8779         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
8780         here...
8781         * modules/freadable (configure.ac): ... to here.
8782
8783 2011-05-07  Bruno Haible  <bruno@clisp.org>
8784
8785         fpurge: Move AC_LIBOBJ invocations to module description.
8786         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
8787         invocations from here...
8788         * modules/fpurge (configure.ac): ... to here.
8789
8790 2011-05-07  Bruno Haible  <bruno@clisp.org>
8791
8792         fpending: Move AC_LIBOBJ invocations to module description.
8793         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
8794         gl_FUNC_FPENDING.
8795         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
8796         invocations from here...
8797         * modules/fpending (configure.ac): ... to here.
8798
8799 2011-05-07  Bruno Haible  <bruno@clisp.org>
8800
8801         fopen: Move AC_LIBOBJ invocations to module description.
8802         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
8803         invocations from here...
8804         * modules/fopen (configure.ac): ... to here.
8805
8806 2011-05-07  Bruno Haible  <bruno@clisp.org>
8807
8808         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
8809         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
8810         gl_FUNC_FNMATCH_POSIX.
8811         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
8812         invocations from here...
8813         * modules/fnmatch (configure.ac): ... to here.
8814         * modules/fnmatch-gnu (configure.ac): ... and here.
8815
8816 2011-05-07  Bruno Haible  <bruno@clisp.org>
8817
8818         flock: Move AC_LIBOBJ invocations to module description.
8819         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
8820         invocations from here...
8821         * modules/flock (configure.ac): ... to here.
8822
8823 2011-05-07  Bruno Haible  <bruno@clisp.org>
8824
8825         fileblocks: Move AC_LIBOBJ invocations to module description.
8826         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
8827         gl_PREREQ_FILEBLOCKS invocations from here...
8828         * modules/fileblocks (configure.ac): ... to here.
8829
8830 2011-05-06  Bruno Haible  <bruno@clisp.org>
8831
8832         fflush: Move AC_LIBOBJ invocations to module description.
8833         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
8834         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
8835         invocations from here...
8836         * modules/fflush (configure.ac): ... to here.
8837
8838 2011-05-06  Bruno Haible  <bruno@clisp.org>
8839
8840         fdopendir: Move AC_LIBOBJ invocations to module description.
8841         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
8842         here...
8843         * modules/fdopendir (configure.ac): ... to here.
8844         (Depends-on): Improve conditions.
8845
8846 2011-05-06  Bruno Haible  <bruno@clisp.org>
8847
8848         _Exit: Move AC_LIBOBJ invocations to module description.
8849         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
8850         invocations from here...
8851         * modules/_Exit (configure.ac): ... to here.
8852
8853 2011-05-21  Bruno Haible  <bruno@clisp.org>
8854
8855         euidaccess: Respect rules for use of AC_LIBOBJ.
8856         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
8857         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
8858         from here...
8859         * modules/euidaccess (configure.ac): ... to here.
8860
8861 2011-05-06  Bruno Haible  <bruno@clisp.org>
8862
8863         error: Move AC_LIBOBJ invocations to module description.
8864         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
8865         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
8866         invocations from here...
8867         * modules/error (configure.ac): ... to here.
8868
8869 2011-05-06  Bruno Haible  <bruno@clisp.org>
8870
8871         duplocale: Move AC_LIBOBJ invocations to module description.
8872         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
8873         gl_PREREQ_DUPLOCALE invocations from here...
8874         * modules/duplocale (configure.ac): ... to here.
8875
8876 2011-05-05  Bruno Haible  <bruno@clisp.org>
8877
8878         dirfd: Move AC_LIBOBJ invocations to module description.
8879         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
8880         gl_FUNC_DIRFD.
8881         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
8882         here...
8883         * modules/dirfd (configure.ac): ... to here.
8884         (Depends-on): Fix condition.
8885
8886 2011-05-05  Bruno Haible  <bruno@clisp.org>
8887
8888         chown: Respect rules for use of AC_LIBOBJ.
8889         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
8890         * modules/chown (configure.ac): ... to here.
8891
8892 2011-05-05  Bruno Haible  <bruno@clisp.org>
8893
8894         chdir-long: Move AC_LIBOBJ invocations to module description.
8895         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
8896         gl_PREREQ_CHDIR_LONG invocations from here...
8897         * modules/chdir-long (configure.ac): ... to here.
8898
8899 2011-05-05  Bruno Haible  <bruno@clisp.org>
8900
8901         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
8902         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
8903         from here...
8904         * modules/canonicalize-lgpl (configure.ac): ... to here.
8905
8906 2011-05-05  Bruno Haible  <bruno@clisp.org>
8907
8908         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
8909         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
8910         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
8911         REPLACE_CALLOC.
8912         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
8913         * modules/calloc-gnu (configure.ac): Likewise.
8914
8915 2011-05-05  Bruno Haible  <bruno@clisp.org>
8916
8917         btowc: Move AC_LIBOBJ invocations to module description.
8918         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
8919         invocations from here...
8920         * modules/btowc (configure.ac): ... to here.
8921
8922 2011-05-21  Bruno Haible  <bruno@clisp.org>
8923
8924         atexit: Move AC_LIBOBJ invocations to module description.
8925         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
8926         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
8927         here...
8928         * modules/atexit (configure.ac): ... to here.
8929
8930 2011-05-05  Bruno Haible  <bruno@clisp.org>
8931
8932         atoll: Move AC_LIBOBJ invocations to module description.
8933         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
8934         invocations from here...
8935         * modules/atoll (configure.ac): ... to here.
8936
8937 2011-05-05  Bruno Haible  <bruno@clisp.org>
8938
8939         argz: Move AC_LIBOBJ invocations to module description.
8940         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
8941         * modules/argz (configure.ac): ... to here.
8942
8943 2011-05-05  Bruno Haible  <bruno@clisp.org>
8944
8945         alphasort: Move AC_LIBOBJ invocations to module description.
8946         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
8947         gl_PREREQ_ALPHASORT invocations from here...
8948         * modules/alphasort (configure.ac): ... to here.
8949
8950 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
8951
8952         verify: new macro verify_expr; verify_true deprecated
8953         * NEWS: Mention this.
8954         * doc/verify.texi (Compile-time Assertions): Document this.
8955         * lib/verify.h (verify_true): Deprecate.
8956         (verify_expr): New macro.
8957         * tests/test-verify.c (function): Test verify_expr.
8958
8959 2011-06-14  Jim Meyering  <meyering@redhat.com>
8960
8961         init.sh: give more portable redirection-related advice in a comment
8962         * tests/init.sh (stderr_fileno_): Update the advice in comments.
8963         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
8964         for lots of discussion.  Stefano Lattarini suggested the solution
8965         of putting "9>&2" after the command.  Reported by Bruno Haible.
8966
8967 2011-06-13  Bruno Haible  <bruno@clisp.org>
8968
8969         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
8970         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
8971         'none'.
8972
8973 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
8974
8975         ftoastr: use strtof only if HAVE_STRTOF
8976         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
8977         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
8978         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
8979         * modules/ftoastr (configure.ac): Check for strtof.
8980
8981 2011-06-13  Bruno Haible  <bruno@clisp.org>
8982
8983         gnulib-tool: Addendum to 2011-06-08 commit.
8984         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
8985         and --witness-c-macro have been given, augment AM_CPPFLAGS.
8986
8987 2011-06-13  Bruno Haible  <bruno@clisp.org>
8988
8989         fseeko: Provide a non-inline replacement of fseek().
8990         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
8991         * modules/fseeko (Depends-on): Add fseek.
8992         * modules/fseek (License): Change to LGPLv2+.
8993
8994 2011-06-13  Bruno Haible  <bruno@clisp.org>
8995
8996         ftello: Provide a non-inline replacement of ftell().
8997         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
8998         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
8999         not have ftello() (such as on mingw).
9000         * modules/ftello (Depends-on): Add ftell.
9001         * modules/ftell (License): Change to LGPLv2+.
9002
9003 2011-05-07  Bruno Haible  <bruno@clisp.org>
9004
9005         ftell: Move AC_LIBOBJ invocations to module description.
9006         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
9007         * modules/ftell (configure.ac): ... to here.
9008
9009 2011-05-07  Bruno Haible  <bruno@clisp.org>
9010
9011         ftello: Respect rules for use of AC_LIBOBJ.
9012         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
9013         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
9014         here...
9015         * modules/ftello (configure.ac): ... to here.
9016
9017 2011-05-07  Bruno Haible  <bruno@clisp.org>
9018
9019         fseeko: Simplify.
9020         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
9021         (gl_FUNC_FSEEKO): Inline it here.
9022
9023 2011-05-07  Bruno Haible  <bruno@clisp.org>
9024
9025         fseek: Move AC_LIBOBJ invocations to module description.
9026         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
9027         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
9028         * modules/fseek (configure.ac): ... to here.
9029
9030 2011-05-07  Bruno Haible  <bruno@clisp.org>
9031
9032         fseek: Respect rules for use of AC_LIBOBJ.
9033         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
9034         here...
9035         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
9036
9037 2011-05-07  Bruno Haible  <bruno@clisp.org>
9038
9039         fseeko: Respect rules for use of AC_LIBOBJ.
9040         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
9041         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
9042         here...
9043         * modules/fseeko (configure.ac): ... to here.
9044
9045 2011-06-13  Bruno Haible  <bruno@clisp.org>
9046
9047         gnulib-tool: Allow comments in the 'Depends-on' section.
9048         * doc/gnulib.texi (Module description): Mention comment syntax in the
9049         Depends-on section.
9050         * gnulib-tool (func_get_dependencies): Filter out comment lines.
9051
9052 2011-06-13  Bruno Haible  <bruno@clisp.org>
9053
9054         file-set.h: guard __attibute__ use, now that it's not always defined
9055         * lib/file-set.h (record_file): Use __attribute__ only with compiler
9056         versions that support it.  This fixes a coreutils build failure with
9057         the vendor cc on HP-UX 11.31.
9058
9059 2011-06-12  Bruno Haible  <bruno@clisp.org>
9060
9061         acl: Add support for HP-UX >= 11.11 JFS ACLs.
9062         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
9063         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
9064         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
9065         (acl, aclsort): New declarations.
9066         (aclv_nontrivial): New declaration.
9067         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
9068         (file_has_acl): Read also the second kind of HP-UX ACLs.
9069         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
9070         kind of HP-UX ACLs if the first kind fails.
9071         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
9072         second kind of HP-UX ACLs.
9073         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
9074         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
9075         agree.
9076         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
9077         hpuxjfs.
9078         Handle hpuxjfs.
9079         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
9080         hpuxjfs.
9081         Handle hpuxjfs.
9082         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
9083         (func_test_same_acls): Use both lsacl and getacl.
9084         Handle hpuxjfs.
9085         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
9086         (func_test_same_acls): Use both lsacl and getacl.
9087         Handle hpuxjfs.
9088
9089 2011-06-12  Bruno Haible  <bruno@clisp.org>
9090
9091         acl: Complete the 2010-08-10 fix.
9092         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
9093         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
9094         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
9095         explicitly.
9096         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
9097         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
9098
9099 2011-06-12  Bruno Haible  <bruno@clisp.org>
9100
9101         spawn-pipe tests: Comments.
9102         * tests/test-spawn-pipe-child.c (main): Update comment.
9103         Reported by James Youngman <jay@gnu.org>.
9104
9105 2011-06-11  James Youngman  <jay@gnu.org>
9106
9107         New module 'stat-size'.
9108         * modules/stat-size: New module.  Provides macros for accessing
9109         file size information in instances of struct stat.  Depends on the
9110         fileblocks module because it calls st_blocks.
9111         * lib/stat-size.h: New file, adapted from coreutils' system.h.
9112         * doc/gnulib.texi: Include stat-size.texi.
9113         * doc/stat-size.texi: Documentation for this module.
9114         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
9115         * m4/fileblocks.m4: Mention that stat-size depends on the call to
9116         AC_STRUCT_ST_BLOCKS.
9117
9118 2011-06-09  Bruno Haible  <bruno@clisp.org>
9119
9120         thread: Support pthreads-win32.
9121         * lib/glthread/thread.h (gl_thread_self): Define differently on
9122         pthreads-win32.
9123         (gl_null_thread): New declaration.
9124         (gl_thread_self_pointer): New macro.
9125         * lib/glthread/thread.c (gl_null_thread): New constant.
9126         * tests/test-lock.c: Use gl_thread_self_pointer instead of
9127         gl_thread_self.
9128         * tests/test-tls.c: Likewise.
9129         Suggested by Paul Eggert. Reported by Eric Blake.
9130
9131 2011-06-09  Bruno Haible  <bruno@clisp.org>
9132
9133         thread: Fix confusion between NULL and 0.
9134         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
9135         Reported by Paul Eggert.
9136
9137 2011-06-09  Bruno Haible  <bruno@clisp.org>
9138
9139         spawn-pipe tests: Avoid test failure on HP-UX 11.
9140         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
9141         is closed.
9142
9143 2011-06-09  Bruno Haible  <bruno@clisp.org>
9144
9145         acl tests: Fix compilation error on HP-UX 11.
9146         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
9147
9148 2011-06-09  Bruno Haible  <bruno@clisp.org>
9149
9150         rmdir: Avoid test failure on HP-UX 10.20.
9151         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
9152         EEXIST.
9153
9154 2011-06-08  Eric Blake  <eblake@redhat.com>
9155
9156         perror: fix test on mingw
9157         * modules/perror-tests (Depends-on): Add dup2.
9158
9159         strerror_r-posix: fix on MacOS
9160         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
9161         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
9162         logic bug.
9163         * lib/strerror_r.c (strerror_r): Fix the bug.
9164         * lib/strerror.c (strerror): Likewise.
9165         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
9166         problem.
9167         * doc/posix-functions/strerror.texi (strerror): Likewise.
9168         * doc/posix-functions/perror.texi (perror): Likewise.
9169         * tests/test-strerror.c (main): Enhance test.
9170         * tests/test-strerror_r.c (main): Likewise.
9171
9172 2011-06-08  Bruno Haible  <bruno@clisp.org>
9173
9174         gnulib-tool: Better isolation between different gnulib-tool invocations.
9175         * gnulib-tool: New option --witness-c-macro.
9176         (witness_c_macro): New variable.
9177         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
9178         AM_CPPFLAGS define it as a C macro.
9179         (func_emit_tests_Makefile_am): Likewise.
9180         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
9181         read it from there.
9182         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
9183         m4_define, not AC_DEFUN.
9184         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
9185         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
9186         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
9187         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
9188         s|...|...|, to substitute the values of the GNULIB_* module indicator
9189         variables.
9190         * modules/dirent (Makefile.am): Likewise.
9191         * modules/fcntl-h (Makefile.am): Likewise.
9192         * modules/iconv-h (Makefile.am): Likewise.
9193         * modules/langinfo (Makefile.am): Likewise.
9194         * modules/locale (Makefile.am): Likewise.
9195         * modules/math (Makefile.am): Likewise.
9196         * modules/netdb (Makefile.am): Likewise.
9197         * modules/poll-h (Makefile.am): Likewise.
9198         * modules/pty (Makefile.am): Likewise.
9199         * modules/search (Makefile.am): Likewise.
9200         * modules/signal (Makefile.am): Likewise.
9201         * modules/spawn (Makefile.am): Likewise.
9202         * modules/stdio (Makefile.am): Likewise.
9203         * modules/stdlib (Makefile.am): Likewise.
9204         * modules/string (Makefile.am): Likewise.
9205         * modules/sys_ioctl (Makefile.am): Likewise.
9206         * modules/sys_select (Makefile.am): Likewise.
9207         * modules/sys_socket (Makefile.am): Likewise.
9208         * modules/sys_stat (Makefile.am): Likewise.
9209         * modules/sys_times (Makefile.am): Likewise.
9210         * modules/sys_utsname (Makefile.am): Likewise.
9211         * modules/sys_wait (Makefile.am): Likewise.
9212         * modules/termios (Makefile.am): Likewise.
9213         * modules/time (Makefile.am): Likewise.
9214         * modules/unistd (Makefile.am): Likewise.
9215         * modules/wchar (Makefile.am): Likewise.
9216
9217 2011-06-08  Eric Blake  <eblake@redhat.com>
9218
9219         strerror: simplify replacement
9220         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
9221         * modules/strerror (configure.ac): No prereqs needed here...
9222         * modules/strerror-override (configure.ac): ...but this needs it.
9223         (Files): Add file for needed prereq macro.
9224
9225 2011-06-08  Bruno Haible  <bruno@clisp.org>
9226
9227         strerror_r-posix: Tweaks.
9228         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
9229         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
9230         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
9231         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
9232         (gl_FUNC_STRERROR_R): ... to here.
9233         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
9234
9235 2011-06-07  Eric Blake  <eblake@redhat.com>
9236
9237         perror: document fixed bugs
9238         * doc/posix-functions/perror.texi (perror): Document recent
9239         patches.
9240
9241 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
9242
9243         stat-time: get_stat_birthtime failure is better-defined
9244         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
9245         return a timestamp whose tv_sec and tv_nsec values are both -1.
9246         Previously, the spec said only that the tv_nsec value was negative.
9247         This upward-compatible change simplifies GNU tar a bit.
9248
9249 2011-06-07  Eric Blake  <eblake@redhat.com>
9250
9251         strerror_r-posix: work around cygwin 1.7.9
9252         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
9253         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
9254         bug without replacing strerror_r.
9255         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
9256         strerror_r is buggy, but without requiring strerror_r compilation.
9257         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
9258
9259         test-perror: relax test to ignore cygwin bug
9260         * tests/test-perror2.c (main): Relax test on requiring detection
9261         of stream errors, and use unbuffered stream.
9262         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
9263         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
9264         * doc/posix-functions/fputc.texi (fputc): Likewise.
9265         * doc/posix-functions/fputs.texi (fputs): Likewise.
9266         * doc/posix-functions/fputws.texi (fputws): Likewise.
9267         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
9268         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
9269         * doc/posix-functions/getopt.texi (getopt): Likewise.
9270         * doc/posix-functions/perror.texi (perror): Likewise.
9271         * doc/posix-functions/printf.texi (printf): Likewise.
9272         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
9273         * doc/posix-functions/psignal.texi (psignal): Likewise.
9274         * doc/posix-functions/putc.texi (putc): Likewise.
9275         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
9276         Likewise.
9277         * doc/posix-functions/putchar.texi (putchar): Likewise.
9278         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
9279         Likewise.
9280         * doc/posix-functions/puts.texi (puts): Likewise.
9281         * doc/posix-functions/putwc.texi (putwc): Likewise.
9282         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
9283         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
9284         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
9285         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
9286         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
9287         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
9288         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
9289         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
9290
9291 2011-05-22  Bruno Haible  <bruno@clisp.org>
9292
9293         strerror: Move AC_LIBOBJ invocations to module description.
9294         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
9295         gl_PREREQ_STRERROR invocations from here...
9296         * modules/strerror (configure.ac): ... to here.
9297
9298 2011-05-21  Bruno Haible  <bruno@clisp.org>
9299
9300         perror: Use common idiom.
9301         * modules/perror (configure.ac): Reorder statements.
9302
9303 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
9304
9305         tests: fix usage message in 'mktempd_'
9306         * tests/init.sh (mktempd_): In the usage message, use literal
9307         'mktempd_', not '$ME' (which is even undefined), as the name of
9308         the subroutine.
9309
9310 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
9311
9312         tests init: new function 'fatal_', for hard errors
9313         Before this patch, the only way offered by tests/init.sh to
9314         properly signal a hard error was the `framework_failure_'
9315         function.  But the error message issued by that function,
9316         as its name would suggest, refers to a set-up failure in the
9317         testsuite, while hard errors can obviously also be due to
9318         other reasons.  The best way to fix this inconsistency is to
9319         introduce a new function with a more general error message.
9320         * tests/init.sh (fatal_): New function.
9321
9322 2011-06-06  Eric Blake  <eblake@redhat.com>
9323
9324         canonicalize-lgpl: use common idiom
9325         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
9326         over newer POSIX -Rf.
9327         Reported by Bruno Haible.
9328
9329         canonicalize-lgpl: work around AIX realpath bug
9330         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
9331         * doc/posix-functions/realpath.texi (realpath): Document it.
9332         Reported by Bruno Haible.
9333
9334         strerror: work around FreeBSD bug
9335         * lib/strerror.c (strerror): Special case 0.
9336         Reported by Bruno Haible.
9337
9338         strerror-override: avoid bloating errno module
9339         * modules/errno (Files, configure.ac): Move replacement strings...
9340         * modules/strerror-override: ...to new module.
9341         * modules/strerror (Depends-on): Add strerror-override.
9342         * modules/strerror_r-posix (Depends-on): Likewise.
9343         * MODULES.html.sh: Document new module.
9344         Reported by Bruno Haible.
9345
9346 2011-06-06  Bruno Haible  <bruno@clisp.org>
9347
9348         spawn-pipe tests: Rename program.
9349         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
9350         * tests/test-spawn-pipe-child.c: Update comment.
9351         * tests/test-spawn-pipe.sh: Update.
9352         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
9353
9354         spawn-pipe tests: Link the child program only against libc.
9355         * tests/test-spawn-pipe-child.c: New file, extracted from
9356         tests/test-spawn-pipe.c.
9357         (main): Expect only one argument.
9358         (is_open): New function, copied from tests/test-pipe.c.
9359         * tests/test-spawn-pipe.c: Don't include <errno.h>.
9360         (child_main): Remove function.
9361         (test_pipe): Pass only one argument to the child program.
9362         (main): Remove child process code. Expect the child program's name as
9363         first argument.
9364         * tests/test-spawn-pipe.sh: Pass the child program's name as first
9365         argument.
9366         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
9367         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
9368         test-spawn-pipe-child against no libraries.
9369
9370 2011-06-06  Bruno Haible  <bruno@clisp.org>
9371
9372         careadlinkat: Avoid mismatch between ssize_t and int.
9373         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
9374         * lib/careadlinkat.c (careadlinkatcwd): Define always.
9375
9376 2011-06-06  Jim Meyering  <meyering@redhat.com>
9377
9378         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
9379         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
9380         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
9381
9382 2011-06-05  Bruno Haible  <bruno@clisp.org>
9383
9384         ansi-c++-opt: Interoperability with libtool.
9385         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
9386         set the variable to "no", not to ":".
9387         * NEWS: Mention the change.
9388
9389 2011-06-05  Bruno Haible  <bruno@clisp.org>
9390
9391         acl: Fix test failure on AIX 7.
9392         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
9393         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
9394
9395 2011-06-05  Bruno Haible  <bruno@clisp.org>
9396
9397         pipe-filter-ii: Fix test failure on AIX and IRIX.
9398         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
9399         with EAGAIN, retry with a smaller buffer size.
9400
9401 2011-06-05  Bruno Haible  <bruno@clisp.org>
9402
9403         localename: Fix link dependencies.
9404         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
9405         * modules/localename-tests (Makefile.am): Link test-localename with
9406         $(LIBTHREAD).
9407
9408 2011-06-05  Bruno Haible  <bruno@clisp.org>
9409
9410         error: Avoid gcc warning.
9411         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
9412
9413 2011-06-05  Bruno Haible  <bruno@clisp.org>
9414
9415         unsetenv: Avoid gcc warning.
9416         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
9417
9418 2011-06-05  Bruno Haible  <bruno@clisp.org>
9419
9420         setenv: Avoid gcc warning.
9421         * lib/setenv.c (setenv): Provide declaration if system lacks it.
9422
9423 2011-06-05  Bruno Haible  <bruno@clisp.org>
9424
9425         sys_select: Ensure memset is declared also on AIX 7.
9426         * lib/sys_select.in.h: Include <string.h> also on AIX.
9427         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
9428         self-contained also on AIX 7.1.
9429
9430 2011-06-04  Jim Meyering  <meyering@redhat.com>
9431
9432         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
9433         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
9434         function name, "error".
9435         (_gl_translatable_diag_func_re): New configurable variable.
9436
9437 2011-06-04  Bruno Haible  <bruno@clisp.org>
9438
9439         getopt: Avoid gcc warning.
9440         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
9441
9442 2011-06-04  Bruno Haible  <bruno@clisp.org>
9443
9444         strerror_r: Fix comments.
9445         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
9446         commit.
9447
9448 2011-06-04  Bruno Haible  <bruno@clisp.org>
9449
9450         perror: Fix compilation error.
9451         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
9452         Undefine fprintf, not sprintf.
9453         * modules/perror (Depends-on): Remove intprops, verify.
9454
9455 2011-06-04  Bruno Haible  <bruno@clisp.org>
9456
9457         setlocale: Enable replacement on Cygwin 1.5.
9458         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
9459         Cygwin 1.5.x.
9460         * doc/posix-functions/setlocale.texi: Mention that the problem with the
9461         LC_CTYPE category also exists on Cygwin 1.5.x.
9462
9463 2011-06-04  Bruno Haible  <bruno@clisp.org>
9464
9465         strerror-override: Don't disable symbol renamings.
9466         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
9467         * lib/strerror-override.c: Include config.h.
9468         (strerror_override): Don't undefine.
9469
9470 2011-06-03  Bruno Haible  <bruno@clisp.org>
9471
9472         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
9473         * lib/localename.h: Update copyright header.
9474         * lib/localename.c: Likewise.
9475         * lib/relocatable.h: Likewise.
9476         * lib/relocatable.c: Likewise.
9477
9478 2011-06-02  Bruno Haible  <bruno@clisp.org>
9479
9480         doc: Fix a module name.
9481         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
9482
9483 2011-06-02  Bruno Haible  <bruno@clisp.org>
9484
9485         pipe2: Remove dependency on 'nonblocking' module.
9486         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
9487         O_NONBLOCK is defined by gnulib.
9488         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
9489         is zero.
9490         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
9491         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
9492         defined by gnulib.
9493         (get_nonblocking_flag): New function.
9494         (main): Test O_NONBLOCK flag only if it is nonzero.
9495         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
9496
9497 2011-06-03  Jim Meyering  <meyering@redhat.com>
9498
9499         maint: three new prohibit-header-without-use rules
9500         Prohibit use of cloexec.h, posixver.h, same.h without use.
9501         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
9502         (sc_prohibit_posixver_without_use): Likewise.
9503         (sc_prohibit_same_without_use): Likewise.
9504
9505 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
9506
9507         allocator: 'die' routine is now given requested size
9508         * lib/allocator.h (struct allocator.die): New size arg.
9509         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
9510         If the actual problem is an ssize_t limitation, not a size_t or
9511         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
9512
9513 2011-06-01  Eric Blake  <eblake@redhat.com>
9514
9515         strerror: drop strerror_r dependency
9516         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
9517         * lib/strerror-override.c (strerror_override): ...to new file.
9518         * lib/strerror-override.h: Add prototype.
9519         * lib/strerror-impl.h: Delete.
9520         * lib/strerror.c (strerror): New implementation.
9521         * modules/errno (Files): Add new files.
9522         (configure.ac): Compile new file as appropriate.
9523         * modules/strerror (Files): Drop unused file.
9524         (Depends-on): Drop strerror_r-posix.
9525         * MODULES.html.sh: Document strerror_r-posix.
9526         Requested by Sam Steingold.
9527
9528         perror: call strerror_r directly
9529         * modules/perror (Files): Drop strerror-impl.h.
9530         * lib/perror.c (perror): Use our own stack buffer, rather than
9531         calling a wrapper that uses static storage.
9532         * doc/posix-functions/perror.texi (perror): Document a limitation
9533         of our replacement.
9534
9535         strerror_r: fix includes for FreeBSD
9536         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
9537         since we use abort on some platforms.
9538         Reported by Matthias Bolte.
9539
9540 2011-05-31  Bruno Haible  <bruno@clisp.org>
9541
9542         Fix link errors in tests: openat-die uses gettext-h.
9543         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
9544         against $(LIBINTL).
9545         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
9546         against $(LIBINTL).
9547         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
9548         $(LIBINTL).
9549         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
9550         against $(LIBINTL).
9551         * modules/linkat-tests (Makefile.am): Link test-linkat against
9552         $(LIBINTL).
9553         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
9554         $(LIBINTL).
9555         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
9556         against $(LIBINTL).
9557         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
9558         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
9559         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
9560         $(LIBINTL).
9561         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
9562         $(LIBINTL).
9563         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
9564         $(LIBINTL).
9565         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9566
9567 2011-05-31  Bruno Haible  <bruno@clisp.org>
9568
9569         Fix link errors in tests: wait-process uses gettext-h.
9570         * modules/nonblocking-pipe-tests (Makefile.am): Set
9571         test_nonblocking_pipe_main_LDADD.
9572         * modules/nonblocking-socket-tests (Makefile.am): Link
9573         test-nonblocking-socket-main against $(LIBINTL).
9574         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9575
9576 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
9577
9578         assert-h: work around 'verify' incompatibility
9579         * lib/verify.h: Use @...@ directives, not ifdef.
9580         * modules/assert-h (assert.h): Implement the directives.
9581         (assert.h): Substitute the symbol-prefix more consistently.
9582
9583 2011-05-29  Jim Meyering  <meyering@redhat.com>
9584
9585         trim: remove three superfluous assignments
9586         * lib/trim.c (trim2): Remove three superfluous assignments
9587         and correct brace positioning.
9588
9589 2011-05-29  Bruno Haible  <bruno@clisp.org>
9590
9591         wctype-h: Avoid namespace pollution on Solaris 2.6.
9592         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
9593         identifiers.
9594         * doc/posix-headers/wctype.texi: Mention the problem.
9595         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9596
9597 2011-05-28  Jim Meyering  <meyering@redhat.com>
9598
9599         parse-datetime.y: accommodate -Wstrict-overflow
9600         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
9601         placate -Wstrict-overflow.
9602
9603         trim: avoid a warning from -O2 -Wstrict-overflow
9604         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
9605
9606 2011-05-29  Bruno Haible  <bruno@clisp.org>
9607
9608         gnulib-tool: Fix bug in yesterday's commit.
9609         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
9610         twice.
9611
9612 2011-05-29  Bruno Haible  <bruno@clisp.org>
9613
9614         Allow multiple gnulib generated include files to be combined.
9615         * gnulib-tool (func_compute_include_guard_prefix): New function.
9616         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
9617         ${gl_include_guard_prefix} references.
9618         (func_import, func_create_testdir): Invoke
9619         func_compute_include_guard_prefix.
9620         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
9621         * lib/ctype.in.h: Likewise.
9622         * lib/dirent.in.h: Likewise.
9623         * lib/errno.in.h: Likewise.
9624         * lib/fcntl.in.h: Likewise.
9625         * lib/float.in.h: Likewise.
9626         * lib/getopt.in.h: Likewise.
9627         * lib/iconv.in.h: Likewise.
9628         * lib/langinfo.in.h: Likewise.
9629         * lib/locale.in.h: Likewise.
9630         * lib/math.in.h: Likewise.
9631         * lib/netdb.in.h: Likewise.
9632         * lib/netinet_in.in.h: Likewise.
9633         * lib/poll.in.h: Likewise.
9634         * lib/pthread.in.h: Likewise.
9635         * lib/pty.in.h: Likewise.
9636         * lib/sched.in.h: Likewise.
9637         * lib/se-selinux.in.h: Likewise.
9638         * lib/search.in.h: Likewise.
9639         * lib/signal.in.h: Likewise.
9640         * lib/spawn.in.h: Likewise.
9641         * lib/stdarg.in.h: Likewise.
9642         * lib/stddef.in.h: Likewise.
9643         * lib/stdint.in.h: Likewise.
9644         * lib/stdio.in.h: Likewise.
9645         * lib/stdlib.in.h: Likewise.
9646         * lib/string.in.h: Likewise.
9647         * lib/strings.in.h: Likewise.
9648         * lib/sys_file.in.h: Likewise.
9649         * lib/sys_ioctl.in.h: Likewise.
9650         * lib/sys_select.in.h: Likewise.
9651         * lib/sys_socket.in.h: Likewise.
9652         * lib/sys_stat.in.h: Likewise.
9653         * lib/sys_time.in.h: Likewise.
9654         * lib/sys_times.in.h: Likewise.
9655         * lib/sys_uio.in.h: Likewise.
9656         * lib/sys_utsname.in.h: Likewise.
9657         * lib/sys_wait.in.h: Likewise.
9658         * lib/sysexits.in.h: Likewise.
9659         * lib/termios.in.h: Likewise.
9660         * lib/time.in.h: Likewise.
9661         * lib/unistd.in.h: Likewise.
9662         * lib/wchar.in.h: Likewise.
9663         * lib/wctype.in.h: Likewise.
9664         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
9665         * modules/ctype (Makefile.am): Likewise.
9666         * modules/dirent (Makefile.am): Likewise.
9667         * modules/errno (Makefile.am): Likewise.
9668         * modules/fcntl-h (Makefile.am): Likewise.
9669         * modules/float (Makefile.am): Likewise.
9670         * modules/getopt-posix (Makefile.am): Likewise.
9671         * modules/iconv-h (Makefile.am): Likewise.
9672         * modules/langinfo (Makefile.am): Likewise.
9673         * modules/locale (Makefile.am): Likewise.
9674         * modules/math (Makefile.am): Likewise.
9675         * modules/netdb (Makefile.am): Likewise.
9676         * modules/netinet_in (Makefile.am): Likewise.
9677         * modules/poll-h (Makefile.am): Likewise.
9678         * modules/pthread (Makefile.am): Likewise.
9679         * modules/pty (Makefile.am): Likewise.
9680         * modules/sched (Makefile.am): Likewise.
9681         * modules/search (Makefile.am): Likewise.
9682         * modules/selinux-h (Makefile.am): Likewise.
9683         * modules/signal (Makefile.am): Likewise.
9684         * modules/spawn (Makefile.am): Likewise.
9685         * modules/stdarg (Makefile.am): Likewise.
9686         * modules/stddef (Makefile.am): Likewise.
9687         * modules/stdint (Makefile.am): Likewise.
9688         * modules/stdio (Makefile.am): Likewise.
9689         * modules/stdlib (Makefile.am): Likewise.
9690         * modules/string (Makefile.am): Likewise.
9691         * modules/strings (Makefile.am): Likewise.
9692         * modules/sys_file (Makefile.am): Likewise.
9693         * modules/sys_ioctl (Makefile.am): Likewise.
9694         * modules/sys_select (Makefile.am): Likewise.
9695         * modules/sys_socket (Makefile.am): Likewise.
9696         * modules/sys_stat (Makefile.am): Likewise.
9697         * modules/sys_time (Makefile.am): Likewise.
9698         * modules/sys_times (Makefile.am): Likewise.
9699         * modules/sys_uio (Makefile.am): Likewise.
9700         * modules/sys_utsname (Makefile.am): Likewise.
9701         * modules/sys_wait (Makefile.am): Likewise.
9702         * modules/sysexits (Makefile.am): Likewise.
9703         * modules/termios (Makefile.am): Likewise.
9704         * modules/time (Makefile.am): Likewise.
9705         * modules/unistd (Makefile.am): Likewise.
9706         * modules/wchar (Makefile.am): Likewise.
9707         * modules/wctype-h (Makefile.am): Likewise.
9708         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
9709
9710 2011-05-29  Bruno Haible  <bruno@clisp.org>
9711
9712         assert-h: Allow multiple gnulib generated replacements to coexist.
9713         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
9714
9715 2011-05-29  Bruno Haible  <bruno@clisp.org>
9716
9717         argp: Allow coexistence with strerror_r-posix module.
9718         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
9719         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
9720         by gnulib's <string.h> replacement), assume it has the POSIX signature,
9721         not the glibc signature.
9722
9723 2011-05-28  Bruno Haible  <bruno@clisp.org>
9724
9725         gnulib-tool: Alternative structure of testdirs, similar to --import.
9726         * gnulib-tool: New option --single-configure.
9727         (func_usage): Document it.
9728         (single_configure): New variable.
9729         (func_modules_transitive_closure_separately,
9730         func_modules_transitive_closure_separately,
9731         func_determine_use_libtests, func_modules_add_dummy_separately,
9732         func_modules_to_filelist_separately): New functions, extracted from
9733         func_import.
9734         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
9735         (func_import): Use the new functions.
9736         (func_create_testdir): Set final_modules. Handle $single_configure =
9737         true case.
9738
9739 2011-05-28  Bruno Haible  <bruno@clisp.org>
9740
9741         getloadavg: Remove an unreliable safety check.
9742         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
9743         getloadavg.c is in place.
9744         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
9745         Reported by Sam Steingold <sds@gnu.org>.
9746
9747 2011-05-28  Bruno Haible  <bruno@clisp.org>
9748
9749         doc: Cleanup yet another file produced by texinfo.tex.
9750         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
9751
9752 2011-05-28  Bruno Haible  <bruno@clisp.org>
9753
9754         Finish the conditional dependencies mechanism.
9755         * gnulib-tool: New option --no-conditional-dependencies.
9756         (func_usage): Document it. Don't mark --conditional-dependencies as
9757         experimental.
9758         (cond_dependencies): The possible values can now be true, false, empty.
9759         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
9760         (func_import): Store setting in gnulib-cache.m4 and read it from there.
9761         * doc/gnulib-tool.texi (Conditional dependencies): New section.
9762
9763 2011-05-28  Bruno Haible  <bruno@clisp.org>
9764
9765         doc: Use a recent texinfo.tex.
9766         * doc/Makefile (tex_opts): New variable.
9767         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
9768
9769 2011-05-28  Jim Meyering  <meyering@redhat.com>
9770
9771         intprops.h: adjust comment to match code change
9772         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
9773         only once, it *may* have side effects.  Also fix an unrelated typo.
9774         (_GL_INT_SIGNED): Likewise.
9775
9776 2011-05-26  Simon Josefsson  <simon@josefsson.org>
9777
9778         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
9779
9780 2011-05-26  Bruno Haible  <bruno@clisp.org>
9781
9782         mbsrchr: Avoid collision with system function on Interix.
9783         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
9784         Reported by Markus Duft <mduft@gentoo.org>.
9785
9786 2011-05-15  James Youngman  <jay@gnu.org>
9787
9788         getopt: for ambiguous options, enumerate the possibilities.
9789         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
9790         the ambiguous options when an ambiguous prefix is given. This was
9791         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
9792         glibc change was
9793         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
9794
9795 2011-05-25  Eric Blake  <eblake@redhat.com>
9796
9797         getcwd: work around mingw bug
9798         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
9799         * doc/posix-functions/getcwd.texi (getcwd): Document it.
9800         Reported by Matthias Bolte.
9801
9802 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
9803
9804         test-intprops: disable -Wtype-limits diagnostics
9805         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
9806         diagnostics.  Otherwise, the integer overflow macros generate many
9807         diagnostics.  Reported by Jim Meyering in
9808         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
9809
9810         intprops: shorten, to pacify gcc -Woverlength-strings
9811         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
9812         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
9813         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
9814         likely to run afoul of C compiler limits for string constant lengths.
9815         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
9816
9817 2011-05-24  Eric Blake  <eblake@redhat.com>
9818
9819         docs: document recently fixed glibc printf bug
9820         * doc/posix-functions/fprintf.texi (fprintf): Document it.
9821         * doc/posix-functions/printf.texi (printf): Likewise.
9822         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
9823         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
9824
9825         closein-tests: convert to init.sh
9826         * modules/closein-tests (Files): Add init.sh
9827         * tests/test-closein.sh Use it.
9828
9829         yesno-tests: convert to init.sh
9830         * modules/yesno-tests (Files): Add init.sh.
9831         * tests/test-yesno.sh: Use it.
9832
9833         atexit-tests: ensure reliable exit status
9834         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
9835         Reported by Bruno Haible.
9836
9837 2011-05-24  Bruno Haible  <bruno@clisp.org>
9838
9839         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
9840         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
9841         gl_PREREQ_STRERROR_R invocations from here...
9842         * modules/strerror_r-posix (configure.ac): ... to here.
9843
9844 2011-05-24  Eric Blake  <eblake@redhat.com>
9845
9846         strerror_r: fix missing header
9847         * lib/strerror_r.c: Avoid compiler warning about snprintf.
9848
9849         strerror_r: fix AIX test failures
9850         * lib/strerror_r.c (strerror_r): Convert silent truncation to
9851         ERANGE failure.
9852
9853         strerror_r: fix Solaris test failures
9854         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
9855         failures.
9856         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
9857
9858         strerror_r: enforce POSIX recommendations
9859         * lib/strerror_r.c (safe_copy): New helper method.
9860         (strerror_r): Guarantee a non-empty string.
9861         * tests/test-strerror_r.c (main): Enhance tests to incorporate
9862         recent POSIX rulings and to match our strerror guarantees.
9863         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
9864
9865 2011-05-24  Jim Meyering  <meyering@redhat.com>
9866
9867         test-perror2.c: avoid warning about unused variable
9868         * tests/test-perror2.c (main): Remove declaration of unused "fp".
9869
9870 2011-05-24  Eric Blake  <eblake@redhat.com>
9871
9872         perror: avoid spurious test failure on HP-UX
9873         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
9874
9875         tests: fix logic bug in init.sh
9876         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
9877         shell.
9878
9879 2011-05-24  Jim Meyering  <meyering@redhat.com>
9880
9881         utimensat: do not reference an out-of-scope buffer
9882         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
9883         declared in an inner scope, yet "times" would be dereferenced outside
9884         the scope in which "ts" was valid.
9885         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
9886         of ts[2] "out/up", so that the use of aliased "times" (via
9887         "times = ts;") does not end up referencing an out-of-scope "ts"
9888
9889         opendir-safer.c: don't clobber errno; don't close negative FD
9890         * lib/opendir-safer.c (opendir_safer):
9891         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
9892         file descriptor, and more importantly, don't clobber the
9893         offending errno value with EINVAL.  Before, upon failure
9894         of dup_safer, we would pass the negative file descriptor to
9895         fdopendir, which would clobber errno.
9896
9897 2011-05-23  Bruno Haible  <bruno@clisp.org>
9898
9899         idcache: Fix module description.
9900         * modules/idcache (Include): Set to "idcache.h".
9901
9902 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
9903
9904         gnulib-tool: fix portability problem with MacOS sed
9905         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
9906         before the "}".  Problem reported by Leo in
9907         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
9908         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
9909         sed_extract_condition1, sed_extract_condition2.
9910
9911 2011-05-23  Bruno Haible  <bruno@clisp.org>
9912
9913         hash: Simplify autoconf macro.
9914         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
9915
9916 2011-05-23  Bruno Haible  <bruno@clisp.org>
9917
9918         getugroups: Fix module description.
9919         * modules/getugroups (Include): Set to "getugroups.h".
9920
9921 2011-05-23  Bruno Haible  <bruno@clisp.org>
9922
9923         linkat: Simplify autoconf macro.
9924         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
9925
9926 2011-05-23  Bruno Haible  <bruno@clisp.org>
9927             Eric Blake  <eblake@redhat.com>
9928
9929         linkat, renameat: Update dependencies.
9930         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
9931         * modules/linkat (Depends-on): Likewise. Remove also readlink,
9932         symlinkat.
9933
9934 2011-05-23  Jim Meyering  <meyering@redhat.com>
9935
9936         maint.mk: more tight_scope improvements
9937         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
9938         (_gl_TS_headers): Define only in if-0'd block.
9939         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
9940         sometimes we must *not* use it.  Adjust uses accordingly.
9941         (sc_tight_scope): Use much simpler grep-based test to determine
9942         whether we skip this rule.
9943
9944         maint.mk: generalize/improve the tight-scope rule
9945         * top/maint.mk: Emit a warning when the test is skipped.
9946         (_gl_TS_dir): Add $(srcdir)/ prefix.
9947         (_gl_TS_function_match): Simplify, rather than trying
9948         to enumerate common types.  Otherwise, it would fail to match an
9949         "extern unsigned char const *" declaration in idutils.
9950         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
9951         a way to support use of that type of macro.
9952         (_gl_TS_var_match): Simplify regexp.
9953         (_gl_TS_obj_files): New configurable variable.
9954         (_gl_TS_headers): Likewise.
9955
9956 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
9957
9958         verify: fix bug when gnulib <assert.h> is also included
9959         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
9960         is defined, not if _GL_STATIC_ASSERT_H is not defined.
9961         Perhaps there's a better way, but this fixes the immediate problem.
9962         Problem reported by Bruno Haible in
9963         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
9964
9965 2011-05-22  Bruno Haible  <bruno@clisp.org>
9966
9967         xgetcwd: Simplify autoconf macro.
9968         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
9969
9970 2011-05-22  Bruno Haible  <bruno@clisp.org>
9971
9972         New module 'mktime-internal'.
9973         * modules/mktime-internal: New file.
9974         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
9975         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
9976         mktime_internal as a C macro if libc has __mktime_internal.
9977         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
9978         conditions.
9979         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
9980
9981 2011-05-22  Bruno Haible  <bruno@clisp.org>
9982
9983         timegm: Correct mktime replacement statements.
9984         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
9985         defining mktime as a C macro. This completes a 2009-07-28 commit.
9986
9987 2011-05-22  Bruno Haible  <bruno@clisp.org>
9988
9989         timegm: Simplify autoconf macro.
9990         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
9991
9992 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
9993
9994         clock-time: change to LGPLv2+.
9995         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
9996         BSD-like but we have no mark for that; this is good enough for now.
9997
9998 2011-05-21  Bruno Haible  <bruno@clisp.org>
9999
10000         strerror_r: Fix comments.
10001         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
10002
10003 2011-05-21  Bruno Haible  <bruno@clisp.org>
10004
10005         relocatable-prog-wrapper: Fix possible link error.
10006         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
10007         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
10008         (gl_FUNC_SETENV): ... to here.
10009         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
10010         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
10011
10012 2011-05-21  Bruno Haible  <bruno@clisp.org>
10013
10014         relocatable-prog-wrapper: Assume strerror() exists.
10015         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
10016         m4/strerror.m4.
10017         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
10018         * lib/relocwrapper.c: Remove mention of strerror module.
10019         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
10020         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
10021         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
10022         C macro.
10023
10024 2011-05-21  Bruno Haible  <bruno@clisp.org>
10025
10026         select: Simplify replacement idiom.
10027         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
10028         Win32 platforms.
10029         * lib/sys_select.in.h (select): Simplify accordingly.
10030         * modules/select (Depends-on): Likewise.
10031
10032 2011-05-21  Bruno Haible  <bruno@clisp.org>
10033
10034         mkdir-p: Simplify autoconf macro.
10035         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
10036         gl_FUNC_LCHOWN.
10037
10038 2011-05-21  Eric Blake  <eblake@redhat.com>
10039
10040         strerror_r: avoid clobbering strerror on cygwin
10041         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
10042         fall back instead to sys_errlist.
10043         * modules/strerror (configure.ac): Add witness.
10044         * tests/test-strerror_r.c (main): Enhance test.
10045         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
10046         * tests/test-perror2.c (main): Free memory before exit.
10047
10048 2011-05-21  Bruno Haible  <bruno@clisp.org>
10049
10050         mkdtemp: Use gnulib naming conventions.
10051         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
10052         * modules/mkdtemp (configure.ac): Update.
10053
10054 2011-05-20  Eric Blake  <eblake@redhat.com>
10055
10056         strerror_r: avoid corrupting errno on Solaris
10057         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
10058         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
10059
10060         strerror_r: avoid compiler warning
10061         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
10062
10063         strerror_r: simplify AIX code
10064         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
10065
10066         test-perror: avoid spurious failure on FreeBSD
10067         * modules/perror-tests (Depends-on): Add strerror, now that
10068         strerror_r no longer pulls it in.
10069
10070 2011-05-20  Bruno Haible  <bruno@clisp.org>
10071
10072         strerror_r-posix: Remove unused dependencies.
10073         * modules/strerror_r-posix (Depends-on): Remove strerror.
10074         Reported by Eric Blake.
10075
10076 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
10077
10078         intprops: remove assumption about A|B representation
10079         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
10080         is a valid integer if both A and B are.  Although this is true for
10081         all known practical hosts, the C standard doesn't guarantee it,
10082         and the code need not assume it.  Also, this change may work around
10083         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
10084         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
10085
10086 2011-05-20  Eric Blake  <eblake@redhat.com>
10087
10088         perror: work around FreeBSD bug
10089         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
10090         is broken.  Move AC_LIBOBJ...
10091         * modules/perror (configure.ac): Here.
10092         * doc/posix-functions/perror.texi (perror): Document this.
10093         * tests/test-perror2.c (main): Enhance test.
10094
10095         test-perror: check for strerror interactions
10096         * tests/macros.h (STREQ): Add macro.
10097         * modules/perror-tests (Files): Add second test.
10098         * tests/test-perror2.c (main): New file.
10099         * doc/posix-functions/perror.texi (perror): Document glibc bug.
10100
10101         test-perror: rewrite to use init script
10102         * modules/perror-tests (Files): Add init.sh.
10103         * tests/test-perror.sh: Use temporary directory.
10104
10105 2011-05-20  Jim Meyering  <meyering@redhat.com>
10106
10107         maint: replace misused "a" with "an"
10108         * doc/intprops.texi: "a integer"
10109         * doc/regex.texi: "a explanation"
10110         * lib/alignof.h: "a object"
10111         * lib/argmatch.h: "a explanation"
10112         * lib/argp-help.c: "a option" and "a OPTION_DOC"
10113         * lib/stdint.in.h: "a integer"
10114         * lib/userspec.c: "a owner"
10115         * doc/gnulib.texi: Fix "a idea", and reword.
10116
10117 2011-05-19  Jim Meyering  <meyering@redhat.com>
10118
10119         maint: correct misuse of "a" and "an"
10120         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
10121         * lib/argp-help.c: "an docum...": s/an/a/
10122         * lib/argp-parse.c: "An vector": s/An/A/
10123         * lib/execute.c: "an native": s/an/a/
10124         * lib/spawn-pipe.c: Likewise.
10125         * lib/gc.h: "an Gc_rc": s/an/a/
10126         * lib/unigbrk.in.h: "an grapheme": s/an/a/
10127         * lib/fts.c: "an stat.st_dev": s/an/a/
10128
10129 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
10130
10131         intprops-tests: work around HP-UX 11.23 cc bug with constants
10132         * tests/test-intprops.c (VERIFY): New macro.
10133         (main): Use it, instead of verify, to work around the compiler bug; see
10134         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
10135
10136         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
10137         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
10138         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
10139         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
10140         (_GL_REMAINDER_OVERFLOW): Use it.
10141
10142         intprops-tests: revert unsigned part of previous change
10143         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
10144         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
10145         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
10146         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
10147
10148 2011-05-19  Bruno Haible  <bruno@clisp.org>
10149
10150         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
10151         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
10152         strerror_r() returned without filling the buffer.
10153         Reported by Eric Blake.
10154
10155 2011-05-19  Eric Blake  <eblake@redhat.com>
10156
10157         strerror_r: guarantee unchanged errno
10158         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
10159         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
10160         failure.
10161         * tests/test-strerror_r.c (main): Enhance test.
10162
10163 2011-05-19  Bruno Haible  <bruno@clisp.org>
10164
10165         strerror_r: Reorder #if blocks.
10166         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
10167         for consistency with the previous commit.
10168
10169 2011-05-19  Bruno Haible  <bruno@clisp.org>
10170
10171         perror: Avoid clobbering the strerror buffer when possible.
10172         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
10173         * lib/strerror.c: Include it.
10174         * modules/strerror (Files): Add lib/strerror-impl.h.
10175         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
10176         (my_strerror): New function, defined through lib/strerror-impl.h.
10177         (perror): Use it instead of strerror.
10178         * modules/perror (Files): Add lib/strerror-impl.h.
10179         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
10180
10181 2011-05-19  Eric Blake  <eblake@redhat.com>
10182
10183         strerror_r: fix on newer cygwin
10184         * lib/strerror_r.c (strerror_r): Cygwin now has
10185         __xpg_strerror_r, use it.
10186
10187 2011-05-19  Bruno Haible  <bruno@clisp.org>
10188
10189         strerror_r: Avoid clobbering the strerror buffer when possible.
10190         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
10191         (sys_nerr, sys_errlist): New declarations.
10192         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
10193         HP-UX, native Win32, IRIX, and 32-bit Solaris.
10194         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
10195
10196 2011-05-19  Bruno Haible  <bruno@clisp.org>
10197
10198         strerror_r: Fix test failure on mingw.
10199         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
10200         EXTEND_STRERROR_R.
10201         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
10202         macros from errno.in.h instead.
10203
10204 2011-05-19  Eric Blake  <eblake@redhat.com>
10205
10206         strerror: relax test for Solaris
10207         * tests/test-strerror.c (main): Permit Solaris behavior.
10208         * tests/test-strerror_r.c (main): Likewise.
10209
10210         strerror: enforce POSIX ruling on strerror(0)
10211         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
10212         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
10213         * lib/strerror_r.c (rpl_strerror_r): Work around it.
10214         * doc/posix-functions/strerror.texi (strerror): Document it.
10215         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
10216         * tests/test-strerror.c (main): Strengthen test.
10217         * tests/test-strerror_r.c (main): Likewise.
10218
10219 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
10220
10221         intprop-tests: port to older and more-pedantic compilers
10222         * modules/intprops-tests (Files): Add tests/macros.h.
10223         * tests/test-intprops.c: Include macros.h.
10224         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
10225         it's no longer documented to expand to an integer constant expression.
10226         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
10227         argument is floating point, as it's no longer documented to expand
10228         to an integer constant expression in that case.
10229         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
10230         compiler bugs reported by Bruno Haible.  See
10231         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
10232         (U0, U1): New constants, to work around the same bugs.  Also,
10233         in tests, use e.g., "(unsigned int) 39" rather than "39u".
10234
10235         intprops: work around C compiler bugs
10236         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
10237         bug in Sun C 5.11 2010/08/13 and other compilers; see
10238         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
10239
10240         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
10241         * doc/intprops.texi (Integer Type Determination): Fix
10242         documentation for TYPE_IS_INTEGER: it returns an constant
10243         expression, not an integer constant expression.  Fix doc for
10244         TYPE_SIGNED: it returns an integer constant expression only if its
10245         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
10246         hardly worth documented that way....)
10247
10248 2011-05-18  Bruno Haible  <bruno@clisp.org>
10249
10250         strerror_r: Avoid clobbering the strerror buffer when possible.
10251         * lib/strerror_r.c (strerror_r): Merge the three implementations.
10252         Handle gnulib defined errno values here. When strerror() returns NULL
10253         or an empty string, return EINVAL.
10254         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
10255         gnulib defined errno values here.
10256         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
10257
10258 2011-05-18  Eric Blake  <eblake@redhat.com>
10259
10260         fnmatch: avoid compiler warning
10261         * lib/fnmatch_loop.c (FCT): Use correct type.
10262         Reported by Matthias Bolte.
10263
10264 2011-05-13  Jim Meyering  <meyering@redhat.com>
10265
10266         maint.mk: three new prohibit_<HDR>_without_use rules
10267         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
10268         (sc_prohibit_stdio-safer_without_use): Likewise.
10269         (sc_prohibit_xfreopen_without_use): Likewise.
10270
10271 2011-05-17  Jim Meyering  <meyering@redhat.com>
10272
10273         announce-gen: fail if the NEWS delta is empty
10274         If there's nothing noteworthy in NEWS, then either you forgot
10275         or you shouldn't be releasing.
10276         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
10277
10278 2011-05-17  Pádraig Brady <P@draigBrady.com>
10279
10280         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
10281         reserved symbols starting with double underscore from the check.
10282
10283 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
10284
10285         intprops: add doc
10286         * doc/intprops.texi: New file, documenting intprops.
10287         * doc/gnulib.texi (Particular Modules): Include it.
10288
10289         verify: add doc to gnulib manual and fix example
10290         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
10291         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
10292         (Compile-time Assertions): Fix example so it can't overflow.
10293
10294 2011-05-17  Jim Meyering  <meyering@redhat.com>
10295
10296         warnings.m4: don't usurp save_CPPFLAGS variable name
10297         * m4/warnings.m4: Prefix local temporary variable name with gl_.
10298
10299         doc: fix typo
10300         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
10301
10302 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
10303             Bruno Haible  <bruno@clisp.org>
10304
10305         doc: Tweak recent change.
10306         * README (Portability guidelines): Tweak new text.
10307         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
10308         Interix 6.1.
10309
10310 2011-05-16  Eric Blake  <eblake@redhat.com>
10311
10312         inttypes: avoid autoconf warning
10313         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
10314         * m4/stdint.m4 (gl_STDINT_H): Likewise.
10315
10316 2011-05-16  Sam Steingold <sds@gnu.org>
10317         and Eric Blake  <eblake@redhat.com>
10318
10319         vc-list-files: accept multiple directory operands
10320         * build-aux/vc-list-files: Iterate over all remaining operands.
10321
10322 2011-05-16  Bruno Haible  <bruno@clisp.org>
10323
10324         Fix confusion regarding deprecated modules.
10325         * modules/calloc (Status, Notice): Mark module as deprecated, not
10326         obsolete.
10327         * modules/fnmatch-posix (Status, Notice): Likewise.
10328         * modules/getdate (Status, Notice): Likewise.
10329         * modules/getopt (Status, Notice): Likewise.
10330         * modules/malloc (Status, Notice): Likewise.
10331         * modules/pipe (Status, Notice): Likewise.
10332         * modules/realloc (Status, Notice): Likewise.
10333         * modules/rename-dest-slash (Status, Notice): Likewise.
10334         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
10335         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
10336         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
10337         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
10338         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
10339
10340 2011-05-16  Bruno Haible  <bruno@clisp.org>
10341
10342         doc: List the target platforms.
10343         * doc/gnulib-intro.texi (Target Platforms): New section.
10344         * doc/gnulib.texi (Introduction): Update menu.
10345         * README (Portability guidelines): Refer to the new section. Update
10346         statement about oldest supported environment. Remove rationale why
10347         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
10348         unportable C89 function.
10349         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
10350         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
10351
10352 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
10353
10354         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
10355
10356 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
10357
10358         intprops-tests: new module
10359         * modules/intprops-tests, tests/test-intprops.c: New files.
10360
10361         intprops: add safe, portable integer overflow checking
10362         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
10363         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
10364         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
10365         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
10366         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
10367         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
10368         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
10369         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
10370         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
10371         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
10372         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
10373
10374 2011-05-12  James Youngman  <jay@gnu.org>
10375
10376         Add a test for glibc's Bugzilla bug #12378.
10377         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
10378         doesn't allow the literal matching of a lone "[" (which is
10379         required by POSIX).
10380         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
10381
10382 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
10383
10384         Sync glibc change fixing Bugzilla bug #12378.
10385         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
10386         beginning and fall back to matching as normal character if the
10387         string ends before the matching ']' is found.  This is what POSIX
10388         requires.
10389
10390 2011-05-13  Eric Blake  <eblake@redhat.com>
10391
10392         getcwd-lgpl: relax test for FreeBSD
10393         * doc/posix-functions/getcwd.texi (getcwd): Document portability
10394         issue.
10395         * tests/test-getcwd-lgpl.c (main): Relax test.
10396         Reported by Matthias Bolte.
10397
10398 2011-05-11  Eric Blake  <eblake@redhat.com>
10399
10400         test-fflush: silence compiler warning
10401         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
10402
10403 2011-05-11  Bruno Haible  <bruno@clisp.org>
10404
10405         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
10406         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
10407         * modules/canonicalize (Depends-on): Add 'nocrash'.
10408         * modules/canonicalize-lgpl (Depends-on): Likewise.
10409         * doc/posix-functions/realpath.texi: Update platforms list.
10410         Reported by Ryan Schmidt <ryandesign@macports.org>.
10411
10412 2011-05-11  Bruno Haible  <bruno@clisp.org>
10413
10414         group-member: Declare function in <unistd.h>.
10415         * lib/unistd.in.h (group_member): New declaration.
10416         * lib/group-member.h: Remove file.
10417         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
10418         * tests/test-unistd-c++.cc: Check signature of group_member.
10419         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
10420         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
10421         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
10422         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
10423         HAVE_GROUP_MEMBER.
10424         * modules/group-member (Files): Remove lib/group-member.h.
10425         (Depends-on): Add unistd. Specify conditions.
10426         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
10427         (Include): Change to <unistd.h>.
10428         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
10429         HAVE_GROUP_MEMBER.
10430         * NEWS: Mention the change.
10431         * lib/euidaccess.c: Don't include group-member.h.
10432
10433 2011-05-11  Bruno Haible  <bruno@clisp.org>
10434
10435         group-member: Document module.
10436         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
10437         module.
10438
10439 2011-05-11  Bruno Haible  <bruno@clisp.org>
10440
10441         fclose: Fix mistake earlier today.
10442         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
10443
10444 2011-05-11  Eric Blake  <eblake@redhat.com>
10445
10446         fclose: preserve fflush errors
10447         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
10448         Reported by Jim Meyering.
10449
10450         bootstrap: support a prereq of 'rpcgen -' on RHEL5
10451         * build-aux/bootstrap (check_versions): When no specific version
10452         is required, merely check that the app produces an exit status
10453         that indicates its existence.
10454
10455         maint.mk: drop redundant check
10456         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
10457         the same but better.
10458
10459 2011-05-11  Bruno Haible  <bruno@clisp.org>
10460
10461         fclose: Fix possible link error.
10462         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
10463         unregister_shadow_fd. Improve comments.
10464         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
10465         Eric Blake.
10466
10467 2011-05-11  Jim Meyering  <meyering@redhat.com>
10468
10469         maint.mk: improve "can not" detection and generalize rule name
10470         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
10471         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
10472         Use the same technique as in sc_prohibit_doubled_word, so that
10473         we recognize "can not" also when the words are separated by a newline.
10474         Suggested by Eric Blake.
10475         (perl_filename_lineno_text_): Define.  Factored out of...
10476         (prohibit_doubled_word_): ...here.  Use the new definition.
10477         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
10478         (prohibit_undesirable_word_seq_RE_): New overridable variable.
10479         (ignore_undesirable_word_sequence_RE_): New overridable variable.
10480
10481 2011-05-10  Eric Blake  <eblake@redhat.com>
10482
10483         fclose: avoid double close race when possible
10484         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
10485         all but WINDOWS_SOCKETS.
10486
10487 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
10488
10489         openat: correct new comment
10490         * lib/openat-proc.c (openat_proc_name): Correct the comment.
10491
10492 2011-05-10  Jim Meyering  <meyering@redhat.com>
10493
10494         openat: add comments
10495         * lib/openat-proc.c (openat_proc_name): Add comments,
10496         mostly from Eric Blake.
10497
10498 2011-05-09  Eric Blake  <eblake@redhat.com>
10499
10500         openat: reduce syscalls in first probe of /proc
10501         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
10502         be a directory.  Simplify the probe for .. bugs.
10503         * modules/openat (Depends-on): Drop same-inode.
10504         Reported by Bastien ROUCARIES.
10505
10506 2011-05-09  Jim Meyering  <meyering@redhat.com>
10507
10508         maint.mk: change semantics/name of tight_scope variables
10509         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
10510         Rename variables to align with semantics that make them more useful.
10511
10512         maint.mk: tweak new rule's name not to impinge
10513         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
10514         (sc_tight_scope): Use new rule name rather than $@-0.
10515
10516         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
10517         * top/maint.mk (sc_tight_scope): New rule.
10518         (sc_tight_scope-0): New rule, ifdef'd out.
10519         (_gl_TS_dir): Default.
10520         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
10521         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
10522
10523 2011-05-09  Simon Josefsson  <simon@josefsson.org>
10524
10525         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
10526         Haible <bruno@clisp.org>.
10527
10528 2011-05-08  Bruno Haible  <bruno@clisp.org>
10529
10530         Comments.
10531         * m4/isnanf.m4: Add comment.
10532         * m4/isnanl.m4: Likewise.
10533
10534 2011-05-08  Bruno Haible  <bruno@clisp.org>
10535
10536         glob: Remove obsolete macro.
10537         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
10538
10539 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
10540
10541         intprops: Sun C 5.11 supports __typeof__
10542         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
10543         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
10544         which is new.
10545         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
10546
10547         intprops: switch to usual gnulib indenting and naming
10548         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
10549         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
10550
10551         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
10552
10553 2011-05-08  Jim Meyering  <meyering@redhat.com>
10554
10555         maint.mk: suppress "Entering/Leaving directory" diag in announcement
10556         * top/maint.mk (release-prep): Use make's --no-print-directory
10557         option when generating the announcement.  This eliminates the
10558         pesky "make[2]: Entering/Leaving directory" diagnostics in the
10559         generated announcement template.
10560
10561 2011-05-08  Bruno Haible  <bruno@clisp.org>
10562
10563         tzset: Fix gettimeofday wrapper on Solaris 2.6.
10564         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
10565         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
10566
10567 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
10568
10569         ignore-value, verify: Omit include files from lib_SOURCES.
10570         * modules/ignore-value, modules/verify (Makefile.am):
10571         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
10572         that leads Automake to duplicate use of am__objects_... variables
10573         in Makefile.in.  See
10574         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
10575
10576 2011-05-07  Bruno Haible  <bruno@clisp.org>
10577
10578         fclose: Simplify autoconf macro.
10579         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
10580         defined.
10581
10582 2011-05-07  Bruno Haible  <bruno@clisp.org>
10583
10584         canonicalize-lgpl: Fix autoconf macro ordering bug.
10585         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
10586         gl_STDLIB_H_DEFAULTS.
10587
10588 2011-05-06  Eric Blake  <eblake@redhat.com>
10589
10590         maintainer-makefile: make sc_po_check easier to tune
10591         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
10592         to probe for strings, such as an alternate location for gnulib.
10593
10594         fclose: guarantee behavior on seekable stdin
10595         * modules/fclose (Depends-on): Add fflush.
10596         * doc/posix-functions/fclose.texi (fclose): Document this.
10597         * tests/test-fclose.c (main): Make test for this unconditional.
10598
10599 2011-05-06  Bruno Haible  <bruno@clisp.org>
10600
10601         fflush, fpurge: Relicense under LGPLv2+.
10602         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
10603         * modules/fpurge (License): Likewise.
10604         With permission from Eric Blake and Jim Meyering.
10605         Suggested by Eric Blake.
10606
10607 2011-05-06  Karl Berry  <karl@gnu.org>
10608
10609         * MODULES.html.sh (func_all_modules): remove exit.
10610
10611 2011-05-06  Jim Meyering  <meyering@redhat.com>
10612
10613         maint.mk: use info-gnu@ as the default only for a stable release
10614         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
10615         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
10616         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
10617         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
10618
10619 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
10620
10621         assert-h: new module, which supports C1X-style static_assert
10622         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
10623         * lib/verify.h: Revamp so that this can be copied into assert.h,
10624         while retaining the ability to use it standalone as before.
10625         Rename private identifiers so as not to encroach on the
10626         standard C namespace, since this is now used by assert.h.
10627         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
10628         the old verify_true.
10629         (_GL_VERIFY_TRUE): New macro, with much of the contents of
10630         the old verify_true.  Use _GL_VERIFY_TYPE.
10631         (_GL_VERIFY): New macro, with much of the contents of the old verify.
10632         (static_assert): New macro, if _GL_STATIC_ASSERT_H
10633         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
10634         defined when this file is copied into the replacement assert.h.
10635         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
10636         and _Static_assert is not built in.
10637         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
10638         defined, and use the new macros mentioned above.
10639         * doc/posix-headers/assert.texi: Document this.
10640
10641 2011-05-05  Bruno Haible  <bruno@clisp.org>
10642
10643         fclose, fflush: Respect rules for use of AC_LIBOBJ.
10644         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
10645         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
10646         gl_REPLACE_FCLOSE here.
10647         * modules/fflush (Depends-on): Remove fclose.
10648         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
10649         combination with module 'fclose'.
10650
10651 2011-05-05  Bruno Haible  <bruno@clisp.org>
10652
10653         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
10654         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
10655         gl_FUNC_FFLUSH.
10656         (gl_FUNC_FFLUSH): Use it.
10657         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
10658         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
10659         gl_REPLACE_FSEEKO here.
10660
10661 2011-05-05  Bruno Haible  <bruno@clisp.org>
10662
10663         tzset: Relicense under LGPL.
10664         * modules/tzset (License): Change to LGPL.
10665         No agreement needed; it's a no-op.
10666
10667         strtoimax, strtoumax: Relicense under LGPL.
10668         * modules/strtoimax (License): Change to LGPL.
10669         * modules/strtoumax (License): Likewise.
10670         With permission from Jim Meyering, Paul Eggert:
10671         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
10672         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
10673
10674         getgroups: Relicense under LGPL.
10675         * modules/getgroups (License): Change to LGPL.
10676         With permission from Jim Meyering, Paul Eggert, Eric Blake:
10677         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
10678         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
10679         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
10680
10681         nanosleep: Relicense under LGPL.
10682         * modules/nanosleep (License): Change to LGPL.
10683         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
10684         Haible:
10685         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
10686         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
10687         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
10688         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
10689
10690         futimens: Relicense under LGPL.
10691         * modules/futimens (License): Change to LGPL.
10692         With permission from Eric Blake:
10693         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
10694
10695         fflush: Relicense under LGPL.
10696         * modules/fflush (License): Change to LGPL.
10697         With permission from Eric Blake, Bruno Haible, Jim Meyering:
10698         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
10699         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
10700         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
10701
10702         tmpfile: Relicense under LGPL.
10703         * modules/tmpfile (License): Change to LGPL.
10704         With permission from Ben Pfaff:
10705         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
10706
10707         isfinite: Relicense under LGPL.
10708         * modules/isfinite (License): Change to LGPL.
10709         With permission from Ben Pfaff, Bruno Haible:
10710         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
10711         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
10712
10713         acosl..tanl: Relicense under LGPL.
10714         * modules/acosl (License): Change to LGPL.
10715         * modules/asinl (License): Likewise.
10716         * modules/atanl (License): Likewise.
10717         * modules/cosl (License): Likewise.
10718         * modules/expl (License): Likewise.
10719         * modules/logl (License): Likewise.
10720         * modules/sinl (License): Likewise.
10721         * modules/sqrtl (License): Likewise.
10722         * modules/tanl (License): Likewise.
10723         Source code originally from glibc and Paolo Bonzini. Agreements:
10724         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
10725         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
10726
10727 2011-05-05  Bruno Haible  <bruno@clisp.org>
10728
10729         signal: Define sighandler_t.
10730         * lib/signal.in.h (sighandler_t): New type.
10731         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
10732         whether sighandler_t is defined.
10733         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
10734         * modules/signal (Depends-on): Add extensions.
10735         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
10736         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
10737         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
10738
10739 2011-05-05  Eric Blake  <eblake@redhat.com>
10740
10741         maint: remove useless REPLACE_*_H macros
10742         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
10743         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
10744         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
10745         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
10746         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
10747         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
10748         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
10749         * m4/btowc.m4: Update callers.
10750         * m4/dirfd.m4: Likewise.
10751         * m4/duplocale.m4: Likewise.
10752         * m4/fchdir.m4: Likewise.
10753         * m4/fdopendir.m4: Likewise.
10754         * m4/inet_ntop.m4: Likewise.
10755         * m4/inet_pton.m4: Likewise.
10756         * m4/ioctl.m4: Likewise.
10757         * m4/mbrlen.m4: Likewise.
10758         * m4/mbrtowc.m4: Likewise.
10759         * m4/mbsinit.m4: Likewise.
10760         * m4/mbsnrtowcs.m4: Likewise.
10761         * m4/mbsrtowcs.m4: Likewise.
10762         * m4/poll.m4: Likewise.
10763         * m4/setlocale.m4: Likewise.
10764         * m4/wcrtomb.m4: Likewise.
10765         * m4/wcsnrtombs.m4: Likewise.
10766         * m4/wcsrtombs.m4: Likewise.
10767         * m4/wctob.m4: Likewise.
10768         * m4/wcwidth.m4: Likewise.
10769         * modules/posix_spawn: Likewise.
10770         * modules/posix_spawn_file_actions_addclose: Likewise.
10771         * modules/posix_spawn_file_actions_adddup2: Likewise.
10772         * modules/posix_spawn_file_actions_addopen: Likewise.
10773         * modules/posix_spawn_file_actions_destroy: Likewise.
10774         * modules/posix_spawn_file_actions_init: Likewise.
10775         * modules/posix_spawnattr_destroy: Likewise.
10776         * modules/posix_spawnattr_getflags: Likewise.
10777         * modules/posix_spawnattr_getpgroup: Likewise.
10778         * modules/posix_spawnattr_getschedparam: Likewise.
10779         * modules/posix_spawnattr_getschedpolicy: Likewise.
10780         * modules/posix_spawnattr_getsigdefault: Likewise.
10781         * modules/posix_spawnattr_getsigmask: Likewise.
10782         * modules/posix_spawnattr_init: Likewise.
10783         * modules/posix_spawnattr_setflags: Likewise.
10784         * modules/posix_spawnattr_setpgroup: Likewise.
10785         * modules/posix_spawnattr_setschedparam: Likewise.
10786         * modules/posix_spawnattr_setschedpolicy: Likewise.
10787         * modules/posix_spawnattr_setsigdefault: Likewise.
10788         * modules/posix_spawnattr_setsigmask: Likewise.
10789         * modules/posix_spawnp: Likewise.
10790
10791 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
10792
10793         Add option to do-release-commit-and-tag to specify branch.
10794         * build-aux/do-release-commit-and-tag: Add --branch.
10795
10796 2011-05-03  Bruno Haible  <bruno@clisp.org>
10797
10798         Avoid unnecessary compilation units, through conditional dependencies.
10799         * modules/accept (Depends-on): Add conditions to the dependencies.
10800         * modules/acosl (Depends-on): Likewise.
10801         * modules/argz (Depends-on): Likewise.
10802         * modules/asinl (Depends-on): Likewise.
10803         * modules/atanl (Depends-on): Likewise.
10804         * modules/atoll (Depends-on): Likewise.
10805         * modules/bind (Depends-on): Likewise.
10806         * modules/btowc (Depends-on): Likewise.
10807         * modules/canonicalize-lgpl (Depends-on): Likewise.
10808         * modules/ceil (Depends-on): Likewise.
10809         * modules/ceilf (Depends-on): Likewise.
10810         * modules/ceill (Depends-on): Likewise.
10811         * modules/chdir-long (Depends-on): Likewise.
10812         * modules/chown (Depends-on): Likewise.
10813         * modules/close (Depends-on): Likewise.
10814         * modules/connect (Depends-on): Likewise.
10815         * modules/cosl (Depends-on): Likewise.
10816         * modules/dirfd (Depends-on): Likewise.
10817         * modules/dprintf (Depends-on): Likewise.
10818         * modules/dprintf-posix (Depends-on): Likewise.
10819         * modules/error (Depends-on): Likewise.
10820         * modules/euidaccess (Depends-on): Likewise.
10821         * modules/expl (Depends-on): Likewise.
10822         * modules/faccessat (Depends-on): Likewise.
10823         * modules/fchdir (Depends-on): Likewise.
10824         * modules/fclose (Depends-on): Likewise.
10825         * modules/fcntl (Depends-on): Likewise.
10826         * modules/fdopendir (Depends-on): Likewise.
10827         * modules/fflush (Depends-on): Likewise.
10828         * modules/floor (Depends-on): Likewise.
10829         * modules/floorf (Depends-on): Likewise.
10830         * modules/floorl (Depends-on): Likewise.
10831         * modules/fnmatch (Depends-on): Likewise.
10832         * modules/fopen (Depends-on): Likewise.
10833         * modules/fprintf-posix (Depends-on): Likewise.
10834         * modules/frexp (Depends-on): Likewise.
10835         * modules/frexp-nolibm (Depends-on): Likewise.
10836         * modules/frexpl (Depends-on): Likewise.
10837         * modules/frexpl-nolibm (Depends-on): Likewise.
10838         * modules/fseek (Depends-on): Likewise.
10839         * modules/fsusage (Depends-on): Likewise.
10840         * modules/ftell (Depends-on): Likewise.
10841         * modules/ftello (Depends-on): Likewise.
10842         * modules/futimens (Depends-on): Likewise.
10843         * modules/getcwd (Depends-on): Likewise.
10844         * modules/getcwd-lgpl (Depends-on): Likewise.
10845         * modules/getdelim (Depends-on): Likewise.
10846         * modules/getdomainname (Depends-on): Likewise.
10847         * modules/getgroups (Depends-on): Likewise.
10848         * modules/gethostname (Depends-on): Likewise.
10849         * modules/getline (Depends-on): Likewise.
10850         * modules/getlogin_r (Depends-on): Likewise.
10851         * modules/getopt-posix (Depends-on): Likewise.
10852         * modules/getpeername (Depends-on): Likewise.
10853         * modules/getsockname (Depends-on): Likewise.
10854         * modules/getsockopt (Depends-on): Likewise.
10855         * modules/getsubopt (Depends-on): Likewise.
10856         * modules/getusershell (Depends-on): Likewise.
10857         * modules/glob (Depends-on): Likewise.
10858         * modules/grantpt (Depends-on): Likewise.
10859         * modules/iconv_open (Depends-on): Likewise.
10860         * modules/iconv_open-utf (Depends-on): Likewise.
10861         * modules/inet_ntop (Depends-on): Likewise.
10862         * modules/inet_pton (Depends-on): Likewise.
10863         * modules/ioctl (Depends-on): Likewise.
10864         * modules/isapipe (Depends-on): Likewise.
10865         * modules/isfinite (Depends-on): Likewise.
10866         * modules/isinf (Depends-on): Likewise.
10867         * modules/lchown (Depends-on): Likewise.
10868         * modules/ldexpl (Depends-on): Likewise.
10869         * modules/link (Depends-on): Likewise.
10870         * modules/linkat (Depends-on): Likewise.
10871         * modules/listen (Depends-on): Likewise.
10872         * modules/logl (Depends-on): Likewise.
10873         * modules/lstat (Depends-on): Likewise.
10874         * modules/mbrlen (Depends-on): Likewise.
10875         * modules/mbrtowc (Depends-on): Likewise.
10876         * modules/mbsinit (Depends-on): Likewise.
10877         * modules/mbsnrtowcs (Depends-on): Likewise.
10878         * modules/mbsrtowcs (Depends-on): Likewise.
10879         * modules/mbtowc (Depends-on): Likewise.
10880         * modules/memcmp (Depends-on): Likewise.
10881         * modules/mkdir (Depends-on): Likewise.
10882         * modules/mkdtemp (Depends-on): Likewise.
10883         * modules/mkfifo (Depends-on): Likewise.
10884         * modules/mkfifoat (Depends-on): Likewise.
10885         * modules/mknod (Depends-on): Likewise.
10886         * modules/mkostemp (Depends-on): Likewise.
10887         * modules/mkostemps (Depends-on): Likewise.
10888         * modules/mkstemp (Depends-on): Likewise.
10889         * modules/mkstemps (Depends-on): Likewise.
10890         * modules/mktime (Depends-on): Likewise.
10891         * modules/nanosleep (Depends-on): Likewise.
10892         * modules/open (Depends-on): Likewise.
10893         * modules/openat (Depends-on): Likewise.
10894         * modules/perror (Depends-on): Likewise.
10895         * modules/poll (Depends-on): Likewise.
10896         * modules/popen (Depends-on): Likewise.
10897         * modules/posix_spawn (Depends-on): Likewise.
10898         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
10899         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
10900         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
10901         * modules/posix_spawnp (Depends-on): Likewise.
10902         * modules/pread (Depends-on): Likewise.
10903         * modules/printf-posix (Depends-on): Likewise.
10904         * modules/ptsname (Depends-on): Likewise.
10905         * modules/putenv (Depends-on): Likewise.
10906         * modules/pwrite (Depends-on): Likewise.
10907         * modules/readline (Depends-on): Likewise.
10908         * modules/readlink (Depends-on): Likewise.
10909         * modules/readlinkat (Depends-on): Likewise.
10910         * modules/recv (Depends-on): Likewise.
10911         * modules/recvfrom (Depends-on): Likewise.
10912         * modules/regex (Depends-on): Likewise.
10913         * modules/remove (Depends-on): Likewise.
10914         * modules/rename (Depends-on): Likewise.
10915         * modules/renameat (Depends-on): Likewise.
10916         * modules/rmdir (Depends-on): Likewise.
10917         * modules/round (Depends-on): Likewise.
10918         * modules/roundf (Depends-on): Likewise.
10919         * modules/roundl (Depends-on): Likewise.
10920         * modules/rpmatch (Depends-on): Likewise.
10921         * modules/select (Depends-on): Likewise.
10922         * modules/send (Depends-on): Likewise.
10923         * modules/sendto (Depends-on): Likewise.
10924         * modules/setenv (Depends-on): Likewise.
10925         * modules/setlocale (Depends-on): Likewise.
10926         * modules/setsockopt (Depends-on): Likewise.
10927         * modules/shutdown (Depends-on): Likewise.
10928         * modules/sigaction (Depends-on): Likewise.
10929         * modules/signbit (Depends-on): Likewise.
10930         * modules/sigprocmask (Depends-on): Likewise.
10931         * modules/sinl (Depends-on): Likewise.
10932         * modules/sleep (Depends-on): Likewise.
10933         * modules/snprintf (Depends-on): Likewise.
10934         * modules/snprintf-posix (Depends-on): Likewise.
10935         * modules/socket (Depends-on): Likewise.
10936         * modules/sprintf-posix (Depends-on): Likewise.
10937         * modules/sqrtl (Depends-on): Likewise.
10938         * modules/stat (Depends-on): Likewise.
10939         * modules/strchrnul (Depends-on): Likewise.
10940         * modules/strdup-posix (Depends-on): Likewise.
10941         * modules/strerror (Depends-on): Likewise.
10942         * modules/strerror_r-posix (Depends-on): Likewise.
10943         * modules/strndup (Depends-on): Likewise.
10944         * modules/strnlen (Depends-on): Likewise.
10945         * modules/strptime (Depends-on): Likewise.
10946         * modules/strsep (Depends-on): Likewise.
10947         * modules/strsignal (Depends-on): Likewise.
10948         * modules/strstr-simple (Depends-on): Likewise.
10949         * modules/strtod (Depends-on): Likewise.
10950         * modules/strtoimax (Depends-on): Likewise.
10951         * modules/strtok_r (Depends-on): Likewise.
10952         * modules/strtoumax (Depends-on): Likewise.
10953         * modules/symlink (Depends-on): Likewise.
10954         * modules/symlinkat (Depends-on): Likewise.
10955         * modules/tanl (Depends-on): Likewise.
10956         * modules/tcgetsid (Depends-on): Likewise.
10957         * modules/tmpfile (Depends-on): Likewise.
10958         * modules/trunc (Depends-on): Likewise.
10959         * modules/truncf (Depends-on): Likewise.
10960         * modules/truncl (Depends-on): Likewise.
10961         * modules/uname (Depends-on): Likewise.
10962         * modules/unlink (Depends-on): Likewise.
10963         * modules/unlockpt (Depends-on): Likewise.
10964         * modules/unsetenv (Depends-on): Likewise.
10965         * modules/usleep (Depends-on): Likewise.
10966         * modules/utimensat (Depends-on): Likewise.
10967         * modules/vasprintf (Depends-on): Likewise.
10968         * modules/vdprintf (Depends-on): Likewise.
10969         * modules/vdprintf-posix (Depends-on): Likewise.
10970         * modules/vfprintf-posix (Depends-on): Likewise.
10971         * modules/vprintf-posix (Depends-on): Likewise.
10972         * modules/vsnprintf (Depends-on): Likewise.
10973         * modules/vsnprintf-posix (Depends-on): Likewise.
10974         * modules/vsprintf-posix (Depends-on): Likewise.
10975         * modules/wcrtomb (Depends-on): Likewise.
10976         * modules/wcscasecmp (Depends-on): Likewise.
10977         * modules/wcscspn (Depends-on): Likewise.
10978         * modules/wcsdup (Depends-on): Likewise.
10979         * modules/wcsncasecmp (Depends-on): Likewise.
10980         * modules/wcsnrtombs (Depends-on): Likewise.
10981         * modules/wcspbrk (Depends-on): Likewise.
10982         * modules/wcsrtombs (Depends-on): Likewise.
10983         * modules/wcsspn (Depends-on): Likewise.
10984         * modules/wcsstr (Depends-on): Likewise.
10985         * modules/wcstok (Depends-on): Likewise.
10986         * modules/wcswidth (Depends-on): Likewise.
10987         * modules/wctob (Depends-on): Likewise.
10988         * modules/wctomb (Depends-on): Likewise.
10989         * modules/wctype (Depends-on): Likewise.
10990         * modules/wcwidth (Depends-on): Likewise.
10991         * modules/write (Depends-on): Likewise.
10992
10993 2011-05-03  Bruno Haible  <bruno@clisp.org>
10994
10995         Support for conditional dependencies.
10996         * doc/gnulib.texi (Module description): Document the syntax of
10997         conditional dependencies.
10998         * gnulib-tool: New option --conditional-dependencies.
10999         (func_usage): Document it.
11000         (cond_dependencies): New variable.
11001         (func_get_automake_snippet_conditional,
11002         func_get_automake_snippet_unconditional): New functions, extracted from
11003         func_get_automake_snippet.
11004         (func_get_automake_snippet): Use them.
11005         (sed_first_32_chars): New variable.
11006         (func_module_shellfunc_name): New function.
11007         (func_module_shellvar_name): New function.
11008         (func_module_conditional_name): New function.
11009         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
11010         func_cond_module_condition): New functions.
11011         (func_modules_transitive_closure): Add support for conditional
11012         dependencies.
11013         (func_emit_lib_Makefile_am): For a conditional module, enclose the
11014         conditional automake snippet in an automake conditional.
11015         (func_emit_autoconf_snippets): Emit shell functions that contain the
11016         code for conditional modules.
11017         (func_import, func_create_testdir): Update specification.
11018
11019 2011-05-03  Eric Blake  <eblake@redhat.com>
11020
11021         test-getaddrinfo: report error information
11022         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
11023
11024 2011-05-03  Jim Meyering  <meyering@redhat.com>
11025
11026         bootstrap: avoid build failure when $GZIP is set
11027         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
11028         program name.  If defined at all, it is supposed to list gzip options.
11029         Reported by Alan Curry in http://debbugs.gnu.org/8609
11030
11031 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
11032
11033         readme-release: new module with release instructions
11034         * modules/readme-release: New module.
11035         * top/README-release: New file, from coreutils, grep, diffutils.
11036         * MODULES.html.sh (Support for maintaining and releasing): Add it.
11037
11038 2011-05-02  Eric Blake  <eblake@redhat.com>
11039
11040         fflush: also replace fclose when fixing fflush
11041         * modules/fflush (Depends-on): Add fclose.
11042         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
11043         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
11044         memstreams with no backing fd.
11045         * doc/posix-functions/fclose.texi (fclose): Document the use of
11046         fflush module to fix the bug.
11047         * tests/test-fclose.c (main): Relax test when fclose is used in
11048         isolation.
11049
11050         fclose: add some tests
11051         * modules/fclose-tests: New test module.
11052         * tests/test-fclose.c: New file.
11053         * doc/posix-functions/fclose.texi (fclose): Document the bug.
11054
11055         fclose: reduced dependencies
11056         * modules/fclose (Depends-on): Switch from fflush/fseeko to
11057         simpler lseek.
11058         * lib/fclose.c (rpl_fclose): Likewise.
11059         Reported by Simon Josefsson.
11060
11061         exit: drop remaining clients
11062         * modules/argmatch (Depends-on): Replace exit with stdlib.
11063         * modules/copy-file (Depends-on): Likewise.
11064         * modules/execute (Depends-on): Likewise.
11065         * modules/exitfail (Depends-on): Likewise.
11066         * modules/obstack (Depends-on): Likewise.
11067         * modules/pagealign_alloc (Depends-on): Likewise.
11068         * modules/pipe-filter-gi (Depends-on): Likewise.
11069         * modules/pipe-filter-ii (Depends-on): Likewise.
11070         * modules/savewd (Depends-on): Likewise.
11071         * modules/spawn-pipe (Depends-on): Likewise.
11072         * modules/wait-process (Depends-on): Likewise.
11073         * modules/xsetenv (Depends-on): Likewise.
11074         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
11075         * modules/git-merge-changelog (Depends-on): Likewise.
11076         * modules/long-options (Depends-on): Likewise.
11077         * modules/pt_chown (Depends-on): Likewise.
11078         * modules/sysexits (Depends-on): Likewise.
11079
11080         freading: relax license from LGPLv3+ to LGPLv2+
11081         * modules/freading (License): Relax LGPL version.
11082
11083 2011-05-02  Bruno Haible  <bruno@clisp.org>
11084
11085         fchdir: Remove unused dependencies.
11086         * modules/fchdir (Depends-on): Remove include_next.
11087
11088 2011-05-02  Bruno Haible  <bruno@clisp.org>
11089
11090         gnulib-tool: Refactor.
11091         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
11092         from func_emit_autoconf_snippets.
11093         (func_emit_autoconf_snippets): Use it.
11094
11095 2011-05-02  Simon Josefsson  <simon@josefsson.org>
11096
11097         * NEWS: Document removal of 'exit'.
11098         * modules/exit: Remove file.
11099
11100 2011-05-01  Bruno Haible  <bruno@clisp.org>
11101
11102         Update DEPENDENCIES.
11103         * DEPENDENCIES (gettext): Recommend the newest release.
11104         Reported by Simon Josefsson.
11105
11106 2011-05-01  Bruno Haible  <bruno@clisp.org>
11107
11108         gnulib-tool: Reduce code duplication.
11109         * gnulib-tool (func_emit_autoconf_snippets): New function.
11110         (func_import, func_create_testdir): Use it.
11111
11112 2011-04-30  Eric Blake  <eblake@redhat.com>
11113
11114         fclose: don't fail on non-seekable input stream
11115         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
11116         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
11117         since fflush is allowed to fail in that case.
11118
11119 2011-04-30  Bruno Haible  <bruno@clisp.org>
11120
11121         dup3: cleanup
11122         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
11123
11124 2011-04-30  Bruno Haible  <bruno@clisp.org>
11125
11126         netdb: Make it work in C++ mode.
11127         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
11128         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
11129         module.
11130         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
11131         gl_MODULE_INDICATOR_FOR_TESTS.
11132         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
11133         * modules/netdb-c++-tests: New file.
11134         * tests/test-netdb-c++.cc: New file.
11135
11136 2011-04-30  Bruno Haible  <bruno@clisp.org>
11137
11138         New modules 'vfscanf', 'vscanf'.
11139         * modules/vfscanf: New file.
11140         * modules/vscanf: New file.
11141         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
11142         here.
11143         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
11144         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
11145
11146 2011-04-30  Bruno Haible  <bruno@clisp.org>
11147
11148         passfd: Add comments.
11149         * lib/passfd.c: Add comments about platforms.
11150
11151 2011-04-30  Bruno Haible  <bruno@clisp.org>
11152
11153         sys_uio: Make <sys/uio.h> self-contained.
11154         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
11155         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
11156
11157 2011-04-30  Bruno Haible  <bruno@clisp.org>
11158
11159         sys_socket: Ensure 'struct iovec' definition.
11160         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
11161         <sys/socket.h>.
11162         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
11163
11164 2011-04-30  Bruno Haible  <bruno@clisp.org>
11165
11166         sys_uio: Protect definition of 'struct iovec'.
11167         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
11168         it as a C struct.
11169
11170 2011-04-30  Bruno Haible  <bruno@clisp.org>
11171
11172         manywarnings: fix indentation
11173         * m4/manywarnings.m4: Indent by 2 spaces consistently.
11174
11175 2011-04-30  Pádraig Brady <P@draigBrady.com>
11176
11177         manywarnings: add -Wno-missing-field-initializers if needed.
11178         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
11179         option if it's needed to allow initialization with { 0, }
11180
11181 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
11182
11183         announce-gen: cosmetic improvement
11184         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
11185
11186 2011-04-29  Jim Meyering  <meyering@redhat.com>
11187
11188         vc-list-files: indent with spaces, not TABs
11189         * build-aux/vc-list-files: Convert leading TABs to spaces,
11190         to match the style of most other files in gnulib.
11191
11192         announce-gen: indent with spaces, not TABs
11193         * build-aux/announce-gen: Convert all TABs to spaces, to match
11194         the style of most other files in gnulib.
11195
11196 2011-04-29  Eric Blake  <eblake@redhat.com>
11197
11198         quotearg: avoid uninitialized variable use
11199         * lib/quotearg.c (quoting_options_from_style): Initialize
11200         remaining fields, and ensure that custom styles are only used via
11201         quoting_options rather than quoting_style.
11202
11203 2011-04-29  Jim Meyering  <meyering@redhat.com>
11204
11205         maint.mk: remove unused VC-tag variable
11206         * top/maint.mk (VC-tag): Remove unused variable.
11207
11208 2011-04-29  Bruno Haible  <bruno@clisp.org>
11209
11210         netdb: fix gai_strerror replacements
11211         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
11212         * modules/netdb: Substitute it.
11213
11214 2011-04-29  Jim Meyering  <meyering@redhat.com>
11215
11216         test-getcwd.c: avoid new set-but-not-used warning
11217         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
11218         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
11219         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
11220         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
11221
11222         test-hash.c: avoid a new shadowing warning
11223         * tests/test-hash.c (main): Don't shadow "dup".
11224
11225 2011-04-28  Eric Blake  <eblake@redhat.com>
11226
11227         getaddrinfo: fix gai_strerror signature
11228         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
11229         and work around mingw with UNICODE defined.
11230         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
11231         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
11232         * modules/netdb (Makefile.am): Substitute it.
11233         * lib/netdb.in.h (gai_strerror): Declare replacement.
11234         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
11235         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
11236         the fix.
11237
11238         getsockopt: avoid compiler warning
11239         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
11240         Reported by Matthias Bolte.
11241
11242         tests: drop unused link dependency
11243         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
11244         * modules/dirent-safer-tests (Makefile.am): Likewise.
11245         * modules/fdopendir-tests (Makefile.am): Likewise.
11246         * modules/mkfifoat-tests (Makefile.am): Likewise.
11247         * modules/openat-safer-tests (Makefile.am): Likewise.
11248         * modules/openat-tests (Makefile.am): Likewise.
11249         * modules/readlinkat-tests (Makefile.am): Likewise.
11250         * modules/symlinkat-tests (Makefile.am): Likewise.
11251         * modules/linkat-tests (Makefile.am): Likewise.
11252         (Depends-on): Switch to filenamecat-lgpl.
11253         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
11254         LIBINTL.
11255         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
11256         * tests/test-linkat.c (main): Don't require xalloc.
11257
11258         hash, mgetgroups: drop xalloc dependency
11259         * lib/hash.c (includes): Adjust includes.
11260         * lib/mgetgroups.c (includes): Likewise.
11261         (xgetgroups): Move...
11262         * lib/xgetgroups.c: ...to new file.
11263         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
11264         * modules/xgetgroups: New file, split from...
11265         * modules/mgetgroups: ...here.
11266         (Depends-on): Add xalloc-oversized.
11267         * modules/hash (Depends-on): Likewise.
11268         * modules/hash-tests (Depends-on): Drop xalloc.
11269         (test_hash_LDADD): Drop unused library.
11270         * tests/test-hash.c (main): Break xalloc dependency.
11271         (includes): Drop unused include.
11272
11273         xalloc-oversized: new module
11274         * modules/xalloc-oversized: New module.
11275         * modules/xalloc (Depends-on): Add it.
11276         * lib/xalloc.h (xalloc_oversized): Move...
11277         * lib/xalloc-oversized.h: ...into new file.
11278
11279         utimecmp: drop dependency on xmalloc
11280         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
11281         due to memory pressure.
11282         * modules/utimecmp (Depends-on): Drop xalloc.
11283
11284 2011-04-27  Eric Blake  <eblake@redhat.com>
11285
11286         getcwd: fix mingw bugs
11287         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
11288         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
11289         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
11290
11291 2011-04-27  Bruno Haible  <bruno@clisp.org>
11292
11293         mkstemps: Ensure declaration on MacOS X 10.5.
11294         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
11295         * doc/glibc-functions/mkstemps.texi: Document header file problem on
11296         MacOS X.
11297
11298 2011-04-27  Bruno Haible  <bruno@clisp.org>
11299
11300         mkstemp: More documentation.
11301         * doc/posix-functions/mkstemp.texi: Document header file problem on
11302         MacOS X.
11303
11304 2011-04-27  Bruno Haible  <bruno@clisp.org>
11305
11306         mkstemp: Tweak configure message when cross-compiling.
11307         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
11308         result as a guess.
11309
11310 2011-04-27  Bruno Haible  <bruno@clisp.org>
11311
11312         clean-temp: Clarify what it does.
11313         * lib/clean-temp.h: Add more comments.
11314         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
11315         module.
11316         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
11317         * doc/glibc-functions/mkstemps.texi: Likewise.
11318         * doc/glibc-functions/mkostemps.texi: Likewise.
11319
11320 2011-04-27  Eric Blake  <eblake@redhat.com>
11321
11322         fchdir: avoid extra chdir and fix test
11323         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
11324         getcwd-lgpl.
11325         * lib/fchdir.c (get_name): Any absolute name will do; it does not
11326         have to be canonical.
11327         (canonicalize_file_name): Drop unused macro.
11328         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
11329
11330         filenamecat-lgpl: fix licence
11331         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
11332         when it was first created.
11333
11334         linkat, renameat: add missing dependency
11335         * modules/linkat (Depends-on): Require getcwd-lgpl.
11336         * modules/renameat (Depends-on): Likewise.
11337
11338         tests: reduce dependencies
11339         * tests/test-linkat.c (main): Use lighter-weight getcwd.
11340         * tests/test-renameat.c (main): Likewise.
11341         * modules/linkat-tests (Depends-on): Relax dependency.
11342         * modules/renameat-tests (Depends-on): Likewise.
11343         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
11344         dependency explicit.
11345
11346         save-cwd: reduce default dependency
11347         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
11348         * lib/save-cwd.c: Update comments.
11349         * NEWS: Document the semantic change.
11350
11351         getcwd: enhance tests
11352         * tests/test-getcwd-lgpl.c: New file, taken from...
11353         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
11354         repeat long path stress tests from m4 probe.
11355         * modules/getcwd-lgpl-tests: New module.
11356         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
11357         * m4/getcwd-abort-bug.m4: Update comment.
11358         * m4/getcwd-path-max.m4: Likewise.
11359
11360         getcwd-lgpl: new module
11361         * modules/getcwd-lgpl: New module.
11362         * lib/getcwd-lgpl.c: New file.
11363         * doc/posix-functions/getcwd.texi (getcwd): Document it.
11364         * MODULES.html.sh (lacking POSIX:2008): Likewise.
11365         * modules/getcwd (configure.ac): Set C witness.
11366         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
11367
11368         getcwd: tweak comments
11369         * m4/getcwd-abort-bug.m4: Fix comments.
11370         * m4/getcwd-path-max.m4: Likewise.
11371         * m4/getcwd.m4: Likewise.
11372
11373 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
11374         and Eric Blake  <eblake@redhat.com>
11375
11376         mkstemp: replace if system version uses wrong permissions
11377         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
11378         read/write mode bits set in file created by mkstemp.
11379         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
11380
11381 2011-04-27  Eric Blake  <eblake@redhat.com>
11382
11383         passfd: avoid compiler warning
11384         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
11385         Reported by Laine Stump.
11386
11387 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
11388
11389         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
11390         required by the NetBSD (and perhaps other 4.4BSD derived) join.
11391
11392 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
11393         and Eric Blake  <eblake@redhat.com>
11394
11395         mkstemp: mention clean-temp module
11396         * lib/mkstemp.c: Add comment.
11397         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
11398
11399 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
11400
11401         inttypes: also provide default values for 32-bit tests
11402         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
11403         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
11404
11405 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
11406
11407         strtoumax: remove dependency on strtoimax
11408         This is like the strtoull change of yesterday.
11409         * modules/strtoumax (Files): Add lib/strtoimax.c.
11410         (Depends-on): Remove strtoimax and add verify.
11411
11412         inttypes-incomplete: new module
11413         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
11414         all but the PRI* and SCN* parts of gl_INTTYPES_H.
11415         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
11416         of gl_INTTYPES_H.
11417         (gl_INTTYPES_H): Rewrite in terms of these new macros.
11418         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
11419         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
11420         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
11421         * modules/strtoumax, modules/xstrtol (Depends-on):
11422         Depend on inttypes-incomplete, not inttypes.
11423         * modules/inttypes-incomplete: New module, containing the contents
11424         of the old modules/inttypes module, except that the Files: section
11425         omits m4/inttypes-pri.m4, and the configure.ac section invokes
11426         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
11427         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
11428         (Depends-on): Depend only on inttypes-incomplete.
11429         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
11430
11431         inttypes: omit now-redundant strtoimax and strtoumax work
11432         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
11433         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
11434
11435         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
11436         This supports apps that need pointers to strtoimax and strtoumax,
11437         and ports to HP-UX 11.00 64.bit, which has macros that expand to
11438         nonexistent functions.  See
11439         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
11440         et seq.
11441         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
11442         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
11443         a macro.
11444         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
11445
11446 2011-04-25  Simon Josefsson  <simon@josefsson.org>
11447
11448         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
11449
11450 2011-04-25  Bruno Haible  <bruno@clisp.org>
11451
11452         strtol, strtoul: Mark modules as obsolete.
11453         * modules/strtol (Status, Notice): New sections.
11454         * modules/strtoul (Status, Notice): New sections.
11455
11456 2011-04-25  Bruno Haible  <bruno@clisp.org>
11457
11458         strtod: Remove check for strtod, unless supporting old platforms.
11459         * modules/strtod-obsolete: New file.
11460         * m4/strtod-obsolete.m4: New file.
11461         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
11462         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
11463         * modules/strtod (Depends-on): Add strtod-obsolete.
11464         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
11465
11466 2011-04-25  Bruno Haible  <bruno@clisp.org>
11467
11468         strcase: Make module obsolete.
11469         * modules/strcase (Status, Notice): New sections.
11470
11471 2011-04-25  Bruno Haible  <bruno@clisp.org>
11472
11473         dup2: Remove check for dup2, unless supporting old obsolete platforms.
11474         * modules/dup2-obsolete: New file.
11475         * m4/dup2-obsolete.m4: New file.
11476         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
11477         gl_FUNC_DUP2_OBSOLETE is not also defined.
11478         * modules/dup2 (Depends-on): Add dup2-obsolete.
11479         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
11480
11481 2011-04-25  Bruno Haible  <bruno@clisp.org>
11482
11483         strnlen: Avoid memchr related link error on old obsolete platforms.
11484         * modules/memchr-obsolete: New file.
11485         * m4/memchr-obsolete.m4: New file.
11486         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
11487         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
11488         * modules/memchr (Depends-on): Add memchr-obsolete.
11489         * modules/strnlen (Depends-on): Likewise.
11490         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
11491
11492 2011-04-25  Jim Meyering  <meyering@redhat.com>
11493
11494         maint.mk: makefile_at_at_check extend and clean up
11495         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
11496         in addition to */Makefile.am.
11497         Exempt legitimate uses of @VAR@ notation, e.g.,
11498         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
11499         Remove obsolete coreutils-specific comment.
11500         Prompted by discussion here:
11501         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
11502
11503 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
11504
11505         strtoul: remove dependency on strtol
11506         This is so that 'configure' need not check for strtol merely because
11507         the application needs strtoul.
11508         * modules/strtoul (Files): Add lib/strtol.c.
11509         (Depends-on): Remove strtol.
11510
11511         strtoull: remove dependency on strtoul
11512         This is like the strtoll change.
11513         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
11514         (Depends-on): Remove strtoul.
11515
11516         strtoll: remove dependency on strtol
11517         This is so that 'configure' need not check for strtol merely because
11518         the application needs strtoll.
11519         * modules/strtoll (Files): Add lib/strtol.c.
11520         (Depends-on): Remove strtol.
11521
11522 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
11523
11524         inttypes: Move some configure check to module 'imaxdiv'.
11525         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
11526         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
11527         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
11528
11529 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
11530
11531         inttypes: Move some configure check to module 'imaxabs'.
11532         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
11533         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
11534         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
11535
11536 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
11537
11538         inttypes: Remove configure tests that are not needed since 2009-12-31.
11539         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
11540         gl_cv_header_working_inttypes_h.
11541
11542 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
11543
11544         * modules/strnlen (Depends-on): Remove memchr.
11545         The strnlen implementation doesn't need the memchr module's fixes; see
11546         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
11547
11548         strtol: remove dependency on wchar
11549         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
11550         * modules/strtol (Depends-on): Remove wchar.
11551
11552 2011-04-21  Eric Blake  <eblake@redhat.com>
11553
11554         passfd: fix test regression on Linux
11555         * modules/passfd-tests (configure.ac): Correct socketpair check.
11556
11557         passfd: speed up configure and drop unused code
11558         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
11559         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
11560         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
11561         Instead of probing at configure for unix_scm_rights_bsd44_way,
11562         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
11563         check to a struct member probe.
11564         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
11565         (sendfd, recvfd): Update preprocessor checks.
11566         * modules/passfd (Files): Reflect rename, and drop unused file.
11567         (Depends-on): Drop unused dependency.
11568
11569         passfd: allow compilation on mingw
11570         * modules/sys_socket (Depends-on): Add sys_uio.
11571         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
11572         iovec and a minimal struct msghdr.
11573         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
11574         * tests/test-sys_socket.c (main): Enhance test.
11575         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
11576         guaranteed to provide what we need.
11577         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
11578         * modules/passfd-tests (Depends-on): Add sys_wait.
11579         * tests/test-passfd.c (main): Skip test on mingw, for now.
11580         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
11581         partial 'struct msghdr' implementation.
11582
11583         sys_uio: new module
11584         * modules/sys_uio: New module.
11585         * modules/sys_uio-tests: Likewise.
11586         * lib/sys_uio.in.h: New file.
11587         * m4/sys_uio_h.m4: Likewise.
11588         * tests/test-sys_uio.c: Likewise.
11589         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
11590         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
11591
11592 2011-04-20  Jim Meyering  <meyering@redhat.com>
11593
11594         useless-if-before-free: avoid false-positive
11595         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
11596         disjunct so that it too requires a terminating ";".  Without that,
11597         this script would identify as useless one statement from gcc that
11598         was not:
11599           if (aligned_ptr)
11600             free (((void **) aligned_ptr) [-1]);
11601
11602 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
11603
11604         doc: update users.txt.
11605         * users.txt: Add barcode.
11606
11607 2011-04-19  Bruno Haible  <bruno@clisp.org>
11608
11609         ioctl: Remove link dependency on native Windows.
11610         * lib/fd-hook.h: Renamed from lib/close-hook.h.
11611         (gl_close_fn, gl_ioctl_fn): New types.
11612         (struct fd_hook): Renamed from struct close_hook. Change type of
11613         private_close_fn field. Add private_ioctl_fn field.
11614         (close_hook_fn): Add parameter for primary close method.
11615         (execute_close_hooks, execute_all_close_hooks): Likewise.
11616         (ioctl_hook_fn): New type.
11617         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
11618         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
11619         argument.
11620         (unregister_fd_hook): Renamed from unregister_close_hook.
11621         * lib/fd-hook.c: Renamed from lib/close-hook.c.
11622         Don't include <unistd.h>.
11623         (close): Remove undef.
11624         (anchor): Update.
11625         (execute_close_hooks): Add argument for primary close method.
11626         (execute_all_close_hooks): Likewise.
11627         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
11628         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
11629         argument. Allow each argument to be NULL.
11630         (unregister_fd_hook): Renamed from unregister_close_hook.
11631         * lib/close.c (rpl_close): Pass 'close' function pointer to
11632         execute_all_close_hooks.
11633         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
11634         (primary_ioctl): New function.
11635         (ioctl): Don't call ioctlsocket here. Instead, call
11636         execute_all_ioctl_hooks.
11637         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
11638         close method.
11639         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
11640         (fd_sockets_hook): Renamed from close_sockets_hook.
11641         (gl_sockets_startup, gl_sockets_cleanup): Update.
11642         * modules/fd-hook: Renamed from modules/close-hook. Update.
11643         * modules/close (Depends-on): Add fd-hook, remove close-hook.
11644         * modules/sockets (Depends-on): Likewise.
11645         * modules/ioctl (Depends-on): Add fd-hook.
11646         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
11647         GNULIB_SOCKET.
11648
11649 2011-04-19  Bruno Haible  <bruno@clisp.org>
11650
11651         Move the support of O_NONBLOCK in open() to the 'open' module.
11652         * modules/nonblocking (Depends-on): Remove 'open'.
11653         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
11654         gl_cv_have_open_O_NONBLOCK.
11655         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
11656         O_NONBLOCK support.
11657         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
11658
11659 2011-04-17  Bruno Haible  <bruno@clisp.org>
11660
11661         pipe2: Simplify code.
11662         * lib/pipe2.c (pipe2): Reduce code duplication.
11663
11664 2011-04-17  Bruno Haible  <bruno@clisp.org>
11665
11666         nonblocking: Add comment.
11667         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
11668
11669 2011-04-17  Bruno Haible  <bruno@clisp.org>
11670
11671         nonblocking: Add tests for sockets.
11672         * tests/test-nonblocking-socket.sh: New file.
11673         * tests/test-nonblocking-socket-main.c: New file.
11674         * tests/test-nonblocking-socket-child.c: New file.
11675         * tests/test-nonblocking-socket.h: New file.
11676         * tests/socket-server.h: New file.
11677         * tests/socket-client.h: New file.
11678         * modules/nonblocking-socket-tests: New file.
11679         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
11680
11681 2011-04-17  Bruno Haible  <bruno@clisp.org>
11682
11683         nonblocking: Add tests for pipes.
11684         * tests/test-nonblocking-pipe.sh: New file.
11685         * tests/test-nonblocking-pipe-main.c: New file.
11686         * tests/test-nonblocking-pipe-child.c: New file.
11687         * tests/test-nonblocking-pipe.h: New file.
11688         * tests/test-nonblocking-writer.h: New file.
11689         * tests/test-nonblocking-reader.h: New file.
11690         * tests/test-nonblocking-misc.h: New file.
11691         * modules/nonblocking-pipe-tests: New file.
11692         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
11693
11694 2011-04-16  Bruno Haible  <bruno@clisp.org>
11695
11696         gettext: Clarify the needed programmer actions.
11697         * modules/gettext (Notice): New field.
11698         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
11699
11700 2011-04-16  Bruno Haible  <bruno@clisp.org>
11701
11702         strchrnul: Tweak last commit.
11703         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
11704         bug.
11705         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
11706         as in _GL_FUNCDECL_SYS.
11707         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
11708         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
11709
11710 2011-04-15  Eric Blake  <eblake@redhat.com>
11711
11712         strchrnul: work around cygwin bug
11713         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
11714         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
11715         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
11716         * modules/string (Makefile.am): Substitute it.
11717         * lib/string.in.h (strchrnul): Use it.
11718
11719 2011-04-15  Bruno Haible  <bruno@clisp.org>
11720
11721         Don't require lib/stdio-write.c when only module 'stdio' is used.
11722         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
11723         invocation.
11724         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
11725
11726 2011-04-14  Bruno Haible  <bruno@clisp.org>
11727
11728         Support non-blocking pipe I/O in read() on native Windows.
11729         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
11730         (read): New declaration.
11731         * lib/read.c: New file.
11732         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
11733         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
11734         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
11735         vscanf): New declarations.
11736         * lib/stdio-read.c: New file.
11737         * m4/read.m4: New file.
11738         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
11739         REPLACE_READ.
11740         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
11741         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
11742         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
11743         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
11744         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
11745         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
11746         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
11747         * modules/read: New file.
11748         * modules/nonblocking (Files): Add lib/stdio-read.c.
11749         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
11750         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
11751         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
11752         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
11753         * modules/pread (Depends-on): Add read.
11754         * modules/safe-read (Depends-on): Likewise.
11755         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
11756         gets, scanf, vfscanf, vscanf): Verify signatures.
11757         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
11758         problem with non-blocking pipes.
11759         * doc/posix-functions/fgetc.texi: Likewise.
11760         * doc/posix-functions/fgets.texi: Likewise.
11761         * doc/posix-functions/fread.texi: Likewise.
11762         * doc/posix-functions/fscanf.texi: Likewise.
11763         * doc/posix-functions/getc.texi: Likewise.
11764         * doc/posix-functions/getchar.texi: Likewise.
11765         * doc/posix-functions/gets.texi: Likewise.
11766         * doc/posix-functions/scanf.texi: Likewise.
11767         * doc/posix-functions/vfscanf.texi: Likewise.
11768         * doc/posix-functions/vscanf.texi: Likewise.
11769
11770 2011-04-14  Bruno Haible  <bruno@clisp.org>
11771
11772         Support non-blocking pipe I/O in write() on native Windows.
11773         * lib/write.c (rpl_write): Split a write request that failed merely
11774         because the byte count was larger than the pipe buffer's size.
11775         * doc/posix-functions/write.texi: Mention the problem with large byte
11776         counts.
11777
11778 2011-04-14  Bruno Haible  <bruno@clisp.org>
11779
11780         wchar: Ensure that wchar_t gets defined on uClibc.
11781         * lib/wchar.in.h: On uClibc, include <stddef.h>.
11782         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
11783
11784 2011-04-13  Bruno Haible  <bruno@clisp.org>
11785
11786         safe-write, full-read: Avoid unnecessary compilation units.
11787         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
11788         (Depends-on): Remove safe-read. Add ssize_t.
11789         * modules/full-read (Files): Add lib/full-write.c.
11790         (Depends-on): Add full-write.
11791
11792 2011-04-13  Bruno Haible  <bruno@clisp.org>
11793
11794         Support non-blocking pipe I/O and SIGPIPE in pwrite().
11795         * modules/pwrite (Depends-on): Add 'write'.
11796
11797 2011-04-13  Bruno Haible  <bruno@clisp.org>
11798
11799         Support non-blocking pipe I/O in write() on native Windows.
11800         * lib/unistd.in.h (write): Enable replacement also if
11801         GNULIB_UNISTD_H_NONBLOCKING is 1.
11802         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
11803         (rpl_write): When failing to write on a non-blocking pipe, change
11804         errno from ENOSPC to EAGAIN.
11805         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
11806         putchar, puts, vfprintf, vprintf): Enable replacement also if
11807         GNULIB_STDIO_H_NONBLOCKING is 1.
11808         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
11809         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
11810         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
11811         CALL_WITH_SIGPIPE_EMULATION.
11812         (CALL_WITH_SIGPIPE_EMULATION): Use them.
11813         * m4/nonblocking.m4: New file.
11814         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
11815         for non-blocking I/O support.
11816         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
11817         GNULIB_UNISTD_H_NONBLOCKING.
11818         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
11819         required for non-blocking I/O support.
11820         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
11821         * modules/nonblocking (Files): Add m4/nonblocking.m4,
11822         lib/stdio-write.c, m4/asm-underscore.m4.
11823         (Depends-on): Add stdio, unistd.
11824         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
11825         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
11826         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
11827         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
11828         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
11829         problem with non-blocking pipes.
11830         * doc/posix-functions/fputc.texi: Likewise.
11831         * doc/posix-functions/fputs.texi: Likewise.
11832         * doc/posix-functions/fwrite.texi: Likewise.
11833         * doc/posix-functions/printf.texi: Likewise.
11834         * doc/posix-functions/putc.texi: Likewise.
11835         * doc/posix-functions/putchar.texi: Likewise.
11836         * doc/posix-functions/puts.texi: Likewise.
11837         * doc/posix-functions/vfprintf.texi: Likewise.
11838         * doc/posix-functions/vprintf.texi: Likewise.
11839         * doc/posix-functions/write.texi: Likewise.
11840
11841 2011-04-10  Jim Meyering  <meyering@redhat.com>
11842
11843         maint.mk: prohibit doubled words
11844         Detect them also when they're separated by a newline.
11845         There are 3 ways to customize it:
11846           - disable the test on a per file basis, as usual with rules using
11847             $(VC_LIST_EXCEPT)
11848           - replace the default doubled-word-selecting regexp (affects all files)
11849           - ignore a particular file-vs-doubled-word match
11850         I nearly used that last one to ignore the "is is" match in
11851         coreutils' NEWS file, since the text was "ls -is is ..."
11852         To do that, I would have added this line to cfg.mk:
11853           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
11854         but it would have ignored any "is is" match in NEWS.
11855         Low probability, but still...
11856         Instead, I changed the text, slightly:
11857           -  ls -is is now consistent with ls -lis in ignoring values returned
11858           +  "ls -is" is now consistent with ls -lis in ignoring values returned
11859         * top/maint.mk (prohibit_double_word_RE_): Provide default.
11860         (prohibit_doubled_word_): Define.
11861         (sc_prohibit_doubled_word): New rule.
11862         (sc_prohibit_the_the): Remove.  Subsumed by the above.
11863
11864 2011-04-10  Jim Meyering  <meyering@redhat.com>
11865
11866         maint: fix doubled-word typo in comment
11867         * m4/gethostname.m4: s/is is/it is/
11868         * m4/getdomainname.m4: Likewise.
11869
11870 2011-04-10  Jim Meyering  <meyering@redhat.com>
11871
11872         maint: remove doubled word: s/it it/it/
11873         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
11874
11875 2011-04-10  Jim Meyering  <meyering@redhat.com>
11876
11877         maint.mk: remove useless semicolon and backslash
11878         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
11879         semicolon and backslash.
11880
11881 2011-04-10  Bruno Haible  <bruno@clisp.org>
11882
11883         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
11884         * modules/stdint-tests (Depends-on): Add wchar.
11885
11886 2011-04-10  Jim Meyering  <meyering@redhat.com>
11887
11888         maint: remove doubled words in comments, e.g., s/a a/a/
11889         * lib/strptime.c (day_of_the_week): s/the the/the/
11890         * tests/test-chown.h (test_chown): s/a a/a/
11891
11892         test-chown.h: correct a cast
11893         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
11894         when the destination is a stat.st_gid.
11895
11896 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
11897
11898         getaddrinfo: Fix test for sa_len member.
11899         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
11900         include <sys/types.h> before <sys/socket.h>.
11901
11902 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
11903
11904         maint: change "can not" to "cannot"
11905         * doc/posix-functions/iconv.texi (iconv): This one crossed line
11906         boundaries.
11907
11908 2011-04-09  Jim Meyering  <meyering@redhat.com>
11909
11910         maint: change "a a" to "a"
11911         * tests/test-lchown.h (test_lchown): s/a a/a/
11912
11913         maint.mk: prohibit \<the the\>
11914         * top/maint.mk (sc_prohibit_the_the): New rule.
11915
11916         maint: fix "the the" in comment
11917         * lib/count-one-bits.h: s/the the/the/
11918
11919         maint: change "can not" to "cannot"
11920         But do not change the occurrences in maintain.texi or in
11921         build-aux/po/Makefile.in.in, which I presume comes from gettext.
11922         * doc/gnulib-tool.texi: s/can not/cannot/
11923         * doc/posix-functions/accept.texi (accept): Likewise.
11924         * doc/posix-functions/socket.texi (socket): Likewise.
11925         * lib/mbrtowc.c: Likewise.
11926
11927         maint.mk: prohibit use of "can not"
11928         * top/maint.mk (sc_prohibit_can_not): New rule.
11929         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
11930
11931 2011-04-09  Bruno Haible  <bruno@clisp.org>
11932
11933         careadlinkat: Guard against misuse of careadlinkatcwd.
11934         * lib/careadlinkat.c: Include <stdlib.h>.
11935         (careadlinkatcwd): Check that the fd argument is as expected.
11936
11937 2011-04-09  Bruno Haible  <bruno@clisp.org>
11938
11939         careadlinkat: Use common coding style.
11940         * lib/careadlinkat.c: Move gnulib includes after system includes.
11941
11942 2011-04-09  Bruno Haible  <bruno@clisp.org>
11943
11944         careadlinkat: Clarify specification.
11945         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
11946         (careadlinkatcwd): Add comment.
11947         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
11948
11949 2011-04-09  Bruno Haible  <bruno@clisp.org>
11950
11951         areadlinkat: Avoid link error on many platforms.
11952         * modules/areadlinkat (Depends-on): Add areadlink.
11953
11954 2011-04-09  Bruno Haible  <bruno@clisp.org>
11955
11956         allocator, careadlinkat: Fix double-inclusion guard.
11957         * lib/allocator.h: Fix double-inclusion guard.
11958         * lib/careadlinkat.h: Likewise.
11959
11960 2011-04-09  Bruno Haible  <bruno@clisp.org>
11961
11962         relocatable-prog-wrapper: Update after module 'areadlink' changed.
11963         * lib/relocwrapper.c: Update dependencies hierarchy.
11964         * build-aux/install-reloc: Update list of files to be compiled.
11965         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
11966         lib/allocator.[hc].
11967
11968 2011-04-08  Eric Blake  <eblake@redhat.com>
11969
11970         strftime: silence gnulib-tool warning
11971         * modules/strftime-tests (Depends-on): Drop automatic dependency.
11972
11973 2011-04-08  Bruno Haible  <bruno@clisp.org>
11974
11975         verify: Fix syntax error with GCC 4.6 in C++ mode.
11976         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
11977         (HAVE_STATIC_ASSERT): New macro.
11978         (verify_true, verify): Use 'static_assert' if it is supported and
11979         '_Static_assert' is not supported.
11980
11981 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
11982
11983         allocator: New module.
11984         * modules/allocator, lib/allocator.c: New files.
11985         * lib/allocator.h (stdlib_allocator): New decl.
11986         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
11987         Remove.  Do not include <stdlib.h>.
11988         (careadlinkat): Use stdlib_allocator instead of rolling our own.
11989         * modules/careadlinkat (Files): Remove lib/allocator.h.
11990         (Depends-on): Add allocator.
11991
11992         stdlib: let modules use system malloc, realloc
11993         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
11994         if !_GL_USE_STDLIB_ALLOC.
11995         (malloc, realloc): Limit this change to a smaller scope.
11996
11997         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
11998         (malloc, realloc): Don't #undef; no longer needed.
11999         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
12000         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
12001         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
12002         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
12003         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
12004         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
12005         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
12006         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
12007
12008         careadlinkat: rename members to avoid problem
12009         * lib/allocator.h (struct allocator): Rename members from
12010         malloc/realloc to allocate/reallocate, to avoid problems if malloc
12011         and realloc are #define'd.  Reported by Eric Blake in
12012         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
12013         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
12014
12015 2011-04-08  Eric Blake  <eblake@redhat.com>
12016
12017         nonblocking: reduce dependency
12018         * tests/test-nonblocking.c: Only test sockets when in use.
12019         * modules/nonblocking-tests (Depends-on): Drop socket.
12020         (Makefile.am): Link even if sockets are not present.
12021         * modules/pipe2-tests (Makefile.am): Likewise.
12022         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
12023
12024         pipe2: fix O_NONBLOCK support on mingw
12025         * modules/pipe2 (Depends-on): Add nonblocking.
12026         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
12027         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
12028         * tests/test-nonblocking.c (main): Likewise.
12029         * modules/pipe2-tests (Makefile.am): Avoid link failure.
12030
12031         fcntl-h: fix O_ACCMODE on cygwin
12032         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
12033         * lib/fcntl.in.h (O_ACCMODE): Fix it.
12034
12035         pipe-filter: drop O_NONBLOCK workarounds
12036         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
12037         * modules/pipe-filter-ii (Depends-on): Likewise.
12038         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
12039
12040         nonblocking: provide O_NONBLOCK for mingw
12041         * modules/nonblocking (Depends-on): Add open.
12042         (configure.ac): Set new witness macro.
12043         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
12044         * modules/fcntl-h (Makefile.am): Substitute it.
12045         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
12046         nonblocking module is in use.
12047         * lib/nonblocking.c: Adjust portability test.
12048         * lib/open.c (open): Don't let native open see gnulib flag.
12049         * tests/test-fcntl-h.c (main): Enhance test.
12050         * tests/test-open.h (test_open): Likewise.
12051         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
12052
12053         careadlinkat: fix compilation error on mingw
12054         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
12055         within struct allocator.
12056
12057 2011-04-06  Eric Blake  <eblake@redhat.com>
12058
12059         binary-io: relicense under LGPLv2+
12060         * modules/binary-io (License): Relax to LGPLv2+.
12061         Requested for libvirt, and required by pipe2.
12062
12063 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
12064
12065         verify: use _Static_assert if available
12066         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
12067         (verify_true, verify): Use it if available.  This generates better
12068         diagnostics with GCC 4.6.0 and later.
12069
12070 2011-04-05  Bruno Haible  <bruno@clisp.org>
12071
12072         Remove leftover generated .h files after config.status changed.
12073
12074         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
12075         GL_GENERATE_ALLOCA_H.
12076         * modules/alloca-opt (Makefile.am): Remove alloca.h if
12077         GL_GENERATE_ALLOCA_H evaluates to false.
12078
12079         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
12080         GL_GENERATE_ARGZ_H.
12081         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
12082         evaluates to false.
12083
12084         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
12085         GL_GENERATE_BYTESWAP_H.
12086         * modules/byteswap (Makefile.am): Remove byteswap.h if
12087         GL_GENERATE_BYTESWAP_H evaluates to false.
12088
12089         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
12090         GL_GENERATE_ERRNO_H.
12091         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
12092         evaluates to false.
12093
12094         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
12095         GL_GENERATE_FLOAT_H.
12096         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
12097         evaluates to false.
12098
12099         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
12100         GL_GENERATE_FNMATCH_H.
12101         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
12102         GL_GENERATE_FNMATCH_H evaluates to false.
12103
12104         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
12105         GL_GENERATE_GLOB_H.
12106         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
12107         evaluates to false.
12108
12109         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
12110         automake conditional GL_GENERATE_ICONV_H.
12111         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
12112         evaluates to false.
12113
12114         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
12115         GL_GENERATE_NETINET_IN_H.
12116         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
12117         GL_GENERATE_NETINET_IN_H evaluates to false.
12118
12119         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
12120         conditional GL_GENERATE_PTHREAD_H.
12121         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
12122         * modules/pthread (Makefile.am): Remove pthread.h if
12123         GL_GENERATE_PTHREAD_H evaluates to false.
12124
12125         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
12126         GL_GENERATE_SCHED_H.
12127         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
12128         evaluates to false.
12129
12130         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
12131         conditional GL_GENERATE_SELINUX_CONTEXT_H.
12132         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
12133         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
12134
12135         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
12136         GL_GENERATE_STDARG_H.
12137         * modules/stdarg (Makefile.am): Remove stdarg.h if
12138         GL_GENERATE_STDARG_H evaluates to false.
12139
12140         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
12141         GL_GENERATE_STDBOOL_H.
12142         * modules/stdbool (Makefile.am): Remove stdbool.h if
12143         GL_GENERATE_STDBOOL_H evaluates to false.
12144
12145         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
12146         conditional GL_GENERATE_STDDEF_H.
12147         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
12148         * modules/stddef (Makefile.am): Remove stddef.h if
12149         GL_GENERATE_STDDEF_H evaluates to false.
12150
12151         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
12152         GL_GENERATE_STDINT_H.
12153         * modules/stdint (Makefile.am): Remove stdint.h if
12154         GL_GENERATE_STDINT_H evaluates to false.
12155
12156         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
12157         GL_GENERATE_SYSEXITS_H.
12158         * modules/sysexits (Makefile.am): Remove sysexits.h if
12159         GL_GENERATE_SYSEXITS_H evaluates to false.
12160
12161         Reported by Karl Berry and Ralf Wildenhues.
12162
12163 2011-04-05  Bruno Haible  <bruno@clisp.org>
12164
12165         Ensure to rebuild generated .h files when config.status has changed.
12166         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
12167         config.status.
12168         * modules/ctype (Makefile.am): Likewise.
12169         * modules/dirent (Makefile.am): Likewise.
12170         * modules/errno (Makefile.am): Likewise.
12171         * modules/fcntl-h (Makefile.am): Likewise.
12172         * modules/float (Makefile.am): Likewise.
12173         * modules/getopt-posix (Makefile.am): Likewise.
12174         * modules/glob (Makefile.am): Likewise.
12175         * modules/iconv-h (Makefile.am): Likewise.
12176         * modules/inttypes (Makefile.am): Likewise.
12177         * modules/langinfo (Makefile.am): Likewise.
12178         * modules/locale (Makefile.am): Likewise.
12179         * modules/math (Makefile.am): Likewise.
12180         * modules/netdb (Makefile.am): Likewise.
12181         * modules/netinet_in (Makefile.am): Likewise.
12182         * modules/poll-h (Makefile.am): Likewise.
12183         * modules/pthread (Makefile.am): Likewise.
12184         * modules/pty (Makefile.am): Likewise.
12185         * modules/sched (Makefile.am): Likewise.
12186         * modules/search (Makefile.am): Likewise.
12187         * modules/selinux-h (Makefile.am): Likewise.
12188         * modules/signal (Makefile.am): Likewise.
12189         * modules/spawn (Makefile.am): Likewise.
12190         * modules/stdarg (Makefile.am): Likewise.
12191         * modules/stdbool (Makefile.am): Likewise.
12192         * modules/stddef (Makefile.am): Likewise.
12193         * modules/stdint (Makefile.am): Likewise.
12194         * modules/stdio (Makefile.am): Likewise.
12195         * modules/stdlib (Makefile.am): Likewise.
12196         * modules/string (Makefile.am): Likewise.
12197         * modules/strings (Makefile.am): Likewise.
12198         * modules/sys_file (Makefile.am): Likewise.
12199         * modules/sys_ioctl (Makefile.am): Likewise.
12200         * modules/sys_select (Makefile.am): Likewise.
12201         * modules/sys_socket (Makefile.am): Likewise.
12202         * modules/sys_stat (Makefile.am): Likewise.
12203         * modules/sys_time (Makefile.am): Likewise.
12204         * modules/sys_times (Makefile.am): Likewise.
12205         * modules/sys_utsname (Makefile.am): Likewise.
12206         * modules/sys_wait (Makefile.am): Likewise.
12207         * modules/sysexits (Makefile.am): Likewise.
12208         * modules/termios (Makefile.am): Likewise.
12209         * modules/time (Makefile.am): Likewise.
12210         * modules/unistd (Makefile.am): Likewise.
12211         * modules/wchar (Makefile.am): Likewise.
12212         * modules/wctype-h (Makefile.am): Likewise.
12213         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
12214
12215 2011-04-05  Bruno Haible  <bruno@clisp.org>
12216
12217         pipe2: Relicense under LGPLv2+.
12218         * modules/pipe2 (License): Change to LGPLv2+.
12219         Requested by Eric Blake, for libvirt.
12220
12221 2011-04-05  Bruce Korb  <bkorb@gnu.org>
12222
12223         bootstrap: compute gnulib_extra_files after updating build_aux
12224         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
12225         change build_aux or also supply gnulib_extra_files.  Handle correctly.
12226
12227 2011-04-05  Eric Blake  <eblake@redhat.com>
12228
12229         bootstrap: preserve git whitelist item sorting
12230         * build-aux/bootstrap (sort_patterns): New function.
12231         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
12232
12233 2011-04-05  Simon Josefsson  <simon@josefsson.org>
12234
12235         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
12236         sc_space_tab check.
12237
12238 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
12239
12240         areadlink, areadlinkat: rewrite in terms of careadlinkat
12241         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
12242         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
12243         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
12244         (malloc, realloc): Remove #undefs.
12245         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
12246         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
12247         readlink, ssize_t, stdint, unistd.
12248         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
12249         areadlink, stdint.
12250
12251         careadlinkat: new module
12252         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
12253         * modules/careadlinkat: New files, written by me with
12254         a review and feedback from Ben Pfaff in
12255         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
12256
12257 2011-04-01  Bruno Haible  <bruno@clisp.org>
12258
12259         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
12260         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
12261         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
12262         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
12263         Reported by Bruce Korb <bruce.korb@gmail.com>.
12264
12265 2011-04-01  Bruno Haible  <bruno@clisp.org>
12266
12267         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
12268         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
12269         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
12270         * modules/wcpcpy (Depends-on): Add extensions.
12271         * modules/wcpncpy (Depends-on): Likewise.
12272         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
12273         systems.
12274         * doc/posix-functions/wcpncpy.texi: Likewise.
12275         * doc/posix-functions/wcwidth.texi: Likewise.
12276
12277 2011-03-31  Eric Blake  <eblake@redhat.com>
12278
12279         nonblocking: fix mingw test failures
12280         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
12281         non-blocking flag on regular file.
12282         (get_nonblocking_flag): Set errno on invalid fd.
12283         * tests/test-nonblocking.c (main): Avoid test failure on
12284         directories if fchdir is not active.
12285         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
12286
12287 2011-03-31  Bruno Haible  <bruno@clisp.org>
12288
12289         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
12290         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
12291         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
12292         Reported by Simon Josefsson <simon@josefsson.org>.
12293
12294 2011-03-31  Bruno Haible  <bruno@clisp.org>
12295         and Eric Blake  <eblake@redhat.com>
12296
12297         nonblocking: new module
12298         * modules/nonblocking: New module.
12299         * modules/nonblocking-tests: Likewise.
12300         * lib/nonblocking.h: New file.
12301         * lib/nonblocking.c: Likewise.
12302         * tests/test-nonblocking.c: New test.
12303         * lib/ioctl.c (ioctl) [mingw]: Update comment.
12304
12305 2011-03-30  Bruno Haible  <bruno@clisp.org>
12306
12307         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
12308         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
12309         instead of 'printf' format for GCC >= 4.4.
12310         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
12311         (fprintf, printf, vfprintf, vprintf): Declare with
12312         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
12313         the system's vfprintf() function.
12314         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
12315
12316 2011-03-30  Eric Blake  <eblake@redhat.com>
12317
12318         passfd: fix scoping bug
12319         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
12320         before sendmsg/recvmsg.
12321
12322         passfd: standardize coding conventions
12323         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
12324         can be learned at compile time.
12325         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
12326         ifdefs.
12327         (sendfd, recvfd): Follow gnulib code conventions.
12328
12329         passfd: fix incorrect sendmsg arguments
12330         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
12331         incorrect msg_controllen value.
12332         * modules/passfd-tests (Depends-on): Check for alarm.
12333         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
12334         Reported by Bastien ROUCARIES.
12335
12336 2011-03-30  Bruno Haible  <bruno@clisp.org>
12337
12338         c-strcasestr: Relicense under LGPLv2+.
12339         * modules/c-strcasestr (License): Change to LGPLv2+.
12340         Requested by Eric Blake, for libvirt.
12341
12342 2011-03-30  Simon Josefsson  <simon@josefsson.org>
12343
12344         * users.txt: Add libidn2.  Fix libtasn1 link.
12345
12346 2011-03-30  Jim Meyering  <meyering@redhat.com>
12347
12348         tests: readlink* ("",... fails with EINVAL on newer kernels
12349         readlink and readlinkat have typically failed with ENOENT for
12350         the invalid, empty file name,  "".  However, with the advent
12351         of linux-2.6.39, they fail with EINVAL.
12352         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
12353         when operating on the empty file name.
12354         * tests/test-readlink.h (test_readlink): Likewise.
12355
12356 2011-03-29  Bruno Haible  <bruno@clisp.org>
12357
12358         Relicense some modules under LGPLv2+, for libidn2.
12359         * modules/array-mergesort (License): Change to LGPLv2+.
12360         * modules/c-strcaseeq (License): Likewise.
12361         * modules/striconveh (License): Likewise.
12362         * modules/striconveha (License): Likewise.
12363         * modules/uniconv/base (License): Likewise.
12364         * modules/uniconv/u8-conv-from-enc (License): Likewise.
12365         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
12366         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
12367         * modules/unictype/base (License): Likewise.
12368         * modules/unictype/bidiclass-of (License): Likewise.
12369         * modules/unictype/category-M (License): Likewise.
12370         * modules/unictype/category-none (License): Likewise.
12371         * modules/unictype/category-of (License): Likewise.
12372         * modules/unictype/category-test (License): Likewise.
12373         * modules/unictype/category-test-withtable (License): Likewise.
12374         * modules/unictype/combining-class (License): Likewise.
12375         * modules/unictype/joiningtype-of (License): Likewise.
12376         * modules/unictype/scripts (License): Likewise.
12377         * modules/uninorm/base (License): Likewise.
12378         * modules/uninorm/canonical-decomposition (License): Likewise.
12379         * modules/uninorm/composition (License): Likewise.
12380         * modules/uninorm/decompose-internal (License): Likewise.
12381         * modules/uninorm/decomposition-table (License): Likewise.
12382         * modules/uninorm/nfc (License): Likewise.
12383         * modules/uninorm/nfd (License): Likewise.
12384         * modules/uninorm/u32-normalize (License): Likewise.
12385         * modules/unistr/base (License): Likewise.
12386         * modules/unistr/u32-cpy (License): Likewise.
12387         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
12388         * modules/unistr/u32-to-u8 (License): Likewise.
12389         * modules/unistr/u32-uctomb (License): Likewise.
12390         * modules/unistr/u8-check (License): Likewise.
12391         * modules/unistr/u8-mblen (License): Likewise.
12392         * modules/unistr/u8-mbtouc (License): Likewise.
12393         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
12394         * modules/unistr/u8-mbtoucr (License): Likewise.
12395         * modules/unistr/u8-prev (License): Likewise.
12396         * modules/unistr/u8-strlen (License): Likewise.
12397         * modules/unistr/u8-to-u32 (License): Likewise.
12398         * modules/unistr/u8-uctomb (License): Likewise.
12399         * modules/unitypes (License): Likewise.
12400         Requested by Simon Josefsson.
12401
12402 2011-03-29  Simon Josefsson  <simon@josefsson.org>
12403
12404         lib-symbol-visibility: Add a notice.
12405         * modules/lib-symbol-visibility (Notice): New field.
12406
12407 2011-03-29  Bruno Haible  <bruno@clisp.org>
12408
12409         getaddrinfo: Doc fix.
12410         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
12411         section "fixed in Gnulib".
12412
12413 2011-03-28  Simon Josefsson  <simon@josefsson.org>
12414
12415         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
12416         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
12417
12418 2011-03-26  Bruno Haible  <bruno@clisp.org>
12419
12420         unictype/property-byname: Reduce the number of load-time relocations.
12421         * lib/unictype/pr_byname.c: Include <stdlib.h>.
12422         (UC_PROPERTY_INDEX_*): New enumeration values.
12423         (uc_property_byname): Convert an index from the lookup table to an
12424         uc_property_t.
12425         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
12426         values.
12427
12428 2011-03-26  Bruno Haible  <bruno@clisp.org>
12429
12430         unictype/property-byname: Allow omitted word separators and aliases.
12431         * lib/unictype/pr_byname.gperf: Add property names without word
12432         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
12433         for 'space'.
12434
12435 2011-03-26  Bruno Haible  <bruno@clisp.org>
12436
12437         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
12438         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
12439         also hyphens to space.
12440         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
12441         without spaces.
12442         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
12443
12444 2011-03-26  Bruno Haible  <bruno@clisp.org>
12445
12446         unictype/joiningtype-byname: Recognize long names as well.
12447         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
12448         a long name.
12449         * lib/unictype/joiningtype_byname.c: Include <string.h>,
12450         unictype/joiningtype_byname.h.
12451         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
12452         * lib/unictype/joiningtype_byname.gperf: New file.
12453         * modules/unictype/joiningtype-byname (Files): Add
12454         lib/unictype/joiningtype_byname.gperf.
12455         (Depends-on): Add gperf.
12456         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
12457         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
12458         long names.
12459
12460         Tests for module 'unictype/joiningtype-longname'.
12461         * modules/unictype/joiningtype-longname-tests: New file.
12462         * tests/unictype/test-joiningtype_longname.c: New file.
12463
12464         New module 'unictype/joiningtype-longname'.
12465         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
12466         * lib/unictype/joiningtype_longname.c: New file.
12467         * modules/unictype/joiningtype-longname: New file.
12468         * modules/unictype/joiningtype-all (Depends-on): Add
12469         unictype/joiningtype-longname.
12470
12471 2011-03-26  Bruno Haible  <bruno@clisp.org>
12472
12473         unictype/bidiclass-byname: Recognize long names as well.
12474         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
12475         name.
12476         * lib/unictype/bidi_byname.c: Include <string.h>,
12477         unictype/bidi_byname.h.
12478         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
12479         * lib/unictype/bidi_byname.gperf: New file.
12480         * modules/unictype/bidiclass-byname (Files): Add
12481         lib/unictype/bidi_byname.gperf.
12482         (Depends-on): Add gperf.
12483         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
12484         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
12485         long names.
12486
12487         Tests for module 'unictype/bidiclass-longname'.
12488         * modules/unictype/bidiclass-longname-tests: New file.
12489         * tests/unictype/test-bidi_longname.c: New file.
12490
12491         New module 'unictype/bidiclass-longname'.
12492         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
12493         * lib/unictype/bidi_longname.c: New file.
12494         * modules/unictype/bidiclass-longname: New file.
12495         * modules/unictype/bidiclass-all (Depends-on): Add
12496         unictype/bidiclass-longname.
12497
12498 2011-03-26  Bruno Haible  <bruno@clisp.org>
12499
12500         unictype/bidi*: Rename modules.
12501         * modules/unictype/bidiclass-all: Renamed from
12502         modules/unictype/bidicategory-all.
12503         * modules/unictype/bidiclass-name: Renamed from
12504         modules/unictype/bidiclass-name.
12505         (Description): Update.
12506         * modules/unictype/bidiclass-name-tests: Renamed from
12507         modules/unictype/bidicategory-name-tests.
12508         * modules/unictype/bidiclass-byname: Renamed from
12509         modules/unictype/bidicategory-byname.
12510         (Description): Update.
12511         * modules/unictype/bidiclass-byname-tests: Renamed from
12512         modules/unictype/bidicategory-byname-tests.
12513         * modules/unictype/bidiclass-of: Renamed from
12514         modules/unictype/bidicategory-of.
12515         (Description): Update.
12516         * modules/unictype/bidiclass-of-tests: Renamed from
12517         modules/unictype/bidicategory-of-tests.
12518         * modules/unictype/bidiclass-test: Renamed from
12519         modules/unictype/bidicategory-test.
12520         (Description): Update.
12521         * modules/unictype/bidiclass-test-tests: Renamed from
12522         modules/unictype/bidicategory-test-tests.
12523         * modules/unictype/bidicategory-all: New file, a simple redirection.
12524         * modules/unictype/bidicategory-name: Likewise.
12525         * modules/unictype/bidicategory-byname: Likewise.
12526         * modules/unictype/bidicategory-of: Likewise.
12527         * modules/unictype/bidicategory-test: Likewise.
12528         * modules/unictype/property-bidi-* (Dependencies): Update.
12529         * lib/unictype/bidi_*.c: Update comment.
12530
12531 2011-03-26  Bruno Haible  <bruno@clisp.org>
12532
12533         unictype/bidi*: Rename functions, part 2.
12534         * modules/unictype/bidicategory-name (configure.ac): Update required
12535         libunistring version.
12536         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
12537
12538 2011-03-25  Bruno Haible  <bruno@clisp.org>
12539
12540         New module 'unictype/combining-class-all'.
12541         * modules/unictype/combining-class-all: New file.
12542
12543         Tests for module 'unictype/combining-class-byname'.
12544         * modules/unictype/combining-class-byname-tests: New file.
12545         * tests/unictype/test-combiningclass_byname.c: New file.
12546
12547         New module 'unictype/combining-class-byname'.
12548         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
12549         * lib/unictype/combiningclass_byname.c: New file.
12550         * lib/unictype/combiningclass_byname.gperf: New file.
12551         * modules/unictype/combining-class-byname: New file.
12552
12553         Tests for module 'unictype/combining-class-longname'.
12554         * modules/unictype/combining-class-longname-tests: New file.
12555         * tests/unictype/test-combiningclass_longname.c: New file.
12556
12557         New module 'unictype/combining-class-longname'.
12558         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
12559         * lib/unictype/combiningclass_longname.c: New file.
12560         * modules/unictype/combining-class-longname: New file.
12561
12562         Tests for module 'unictype/combining-class-name'.
12563         * modules/unictype/combining-class-name-tests: New file.
12564         * tests/unictype/test-combiningclass_name.c: New file.
12565
12566         New module 'unictype/combining-class-name'.
12567         * lib/unictype.in.h (uc_combining_class_name): New declaration.
12568         * lib/unictype/combiningclass_name.c: New file.
12569         * modules/unictype/combining-class-name: New file.
12570
12571 2011-03-25  Bruno Haible  <bruno@clisp.org>
12572
12573         unictype/combining-class: Rename source files.
12574         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
12575         of unictype/combining.h.
12576         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
12577         Update.
12578         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
12579         * modules/unictype/combining-class (Description): Fix.
12580         (Files, Makefile.am): Update.
12581         * tests/unictype/test-combiningclass.c: Renamed from
12582         tests/unictype/test-combining.c.
12583         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
12584
12585 2011-03-25  Bruno Haible  <bruno@clisp.org>
12586
12587         unictype: Update list of canonical combining classes.
12588         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
12589
12590 2011-03-25  Bruno Haible  <bruno@clisp.org>
12591
12592         unictype/category-byname: Recognize long names as well.
12593         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
12594         a long name.
12595         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
12596         unictype/categ_byname.h.
12597         (UC_CATEGORY_INDEX_*): New enumeration values.
12598         (uc_general_category_byname): Use uc_general_category_lookup and
12599         convert from index to value.
12600         * lib/unictype/categ_byname.gperf: New file.
12601         * modules/unictype/category-byname (Files): Add
12602         lib/unictype/categ_byname.gperf.
12603         (Depends-on): Add gperf.
12604         (Makefile.am): Add rule for generating unictype/categ_byname.h.
12605         * tests/unictype/test-categ_byname.c (main): Test the recognition of
12606         long names.
12607
12608         Tests for module 'unictype/category-longname'.
12609         * modules/unictype/category-longname-tests: New file.
12610         * tests/unictype/test-categ_longname.c: New file.
12611
12612         New module 'unictype/category-longname'.
12613         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
12614         * lib/unictype/categ_longname.c: New file.
12615         * modules/unictype/category-longname: New file.
12616         * modules/unictype/category-all (Depends-on): Add it.
12617
12618 2011-03-25  Bruno Haible  <bruno@clisp.org>
12619
12620         Tests for module 'unictype/category-LC'.
12621         * modules/unictype/category-LC-tests: New file.
12622         * tests/unictype/test-categ_LC.c: New file, automatically generated.
12623
12624         New module 'unictype/category-LC'.
12625         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
12626         (UC_CATEGORY_LC): New declaration.
12627         (UC_CASED_LETTER): New macro.
12628         * lib/gen-uni-tables.c (is_category_LC): New function.
12629         (output_categories): Also handle category LC.
12630         (UC_CATEGORY_MASK_LC): New enumeration value.
12631         (general_category_byname): Also handle category LC.
12632         * lib/unictype/categ_LC.c: New file.
12633         * lib/unictype/categ_LC.h: New file, automatically generated.
12634         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
12635         category LC.
12636         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
12637         * modules/unictype/category-LC: New file.
12638         * modules/unictype/category-byname (Depends-on): Add
12639         unictype/category-LC.
12640         * modules/unictype/category-all (Depends-on): Likewise.
12641
12642 2011-03-25  Eric Blake  <eblake@redhat.com>
12643
12644         xmalloc: revert yesterday's regression
12645         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
12646         realloc's underlying behavior (allowing allocation of zero-size
12647         objects, especially if malloc-gnu is also in use).
12648
12649 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
12650
12651         maint.mk: add missing version to VC-tag
12652         * top/maint.mk: git tag was missing actual tag name; add it.
12653
12654         valgrind: do leak checking, and exit with code 1 on error (not 0)
12655         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
12656         to VALGRIND.
12657
12658 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
12659
12660         posix-modules: say what it does.
12661         * posix-modules: Add a line to the --help output saying what it does.
12662
12663 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
12664
12665         xmalloc: Do not leak if underlying realloc is C99 compatible.
12666         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
12667         This avoids a leak on C99-based systems.  See
12668         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
12669
12670 2011-03-24  Eric Blake  <eblake@redhat.com>
12671
12672         realloc: document portability problem
12673         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
12674         passing 0 size to realloc.
12675
12676 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
12677
12678         doc: update users.txt
12679         * users.txt: Add cvsps, tmpwatch
12680
12681 2011-03-23  Matt Rice  <ratmice@gmail.com>
12682
12683         doc: update users.txt
12684         * users.txt: Add gdb.
12685
12686 2011-03-23  Jim Meyering  <meyering@redhat.com>
12687
12688         doc: update users.txt
12689         Looking through matches up to the following URL (there are still
12690         several more pages), I found several projects that use gnulib:
12691         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
12692         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
12693         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
12694
12695 2011-03-22  Bruno Haible  <bruno@clisp.org>
12696
12697         unictype/bidi*: Rename functions.
12698         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
12699         uc_bidi_class, uc_is_bidi_class): New declarations.
12700         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
12701         uc_bidi_category_byname.
12702         (uc_bidi_category_byname): New function.
12703         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
12704         u_bidi_category_name.
12705         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
12706         (uc_bidi_category_name): New function.
12707         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
12708         uc_bidi_category.
12709         (uc_bidi_category): New function.
12710         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
12711         uc_is_bidi_category. Invoke uc_bidi_class.
12712         (uc_is_bidi_category): New function.
12713         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
12714         instead of uc_bidi_category_byname.
12715         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
12716         instead of uc_bidi_category_name.
12717         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
12718         uc_bidi_category.
12719         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
12720         instead of uc_is_bidi_category.
12721
12722 2011-03-21  Bruno Haible  <bruno@clisp.org>
12723
12724         New module 'unictype/joininggroup-all'.
12725         * modules/unictype/joininggroup-all: New file.
12726
12727         Tests for module 'unictype/joininggroup-of'.
12728         * modules/unictype/joininggroup-of-tests: New file.
12729         * tests/unictype/test-joininggroup_of.c: New file.
12730         * tests/unictype/test-joininggroup_of.h: New file, automatically
12731         generated by gen-uni-tables.
12732
12733         New module 'unictype/joininggroup-of'.
12734         * modules/unictype/joininggroup-of: New file.
12735         * lib/unictype/joininggroup_of.c: New file.
12736         * lib/unictype/joininggroup_of.h: New file, automatically generated by
12737         gen-uni-tables.
12738
12739         Tests for module 'unictype/joininggroup-byname'.
12740         * modules/unictype/joininggroup-byname-tests: New file.
12741         * tests/unictype/test-joininggroup_byname.c: New file.
12742
12743         New module 'unictype/joininggroup-byname'.
12744         * modules/unictype/joininggroup-byname: New file.
12745         * lib/unictype/joininggroup_byname.c: New file.
12746         * lib/unictype/joininggroup_byname.gperf: New file.
12747
12748         Tests for module 'unictype/joininggroup-name'.
12749         * modules/unictype/joininggroup-name-tests: New file.
12750         * tests/unictype/test-joininggroup_name.c: New file.
12751
12752         New module 'unictype/joininggroup-name'.
12753         * modules/unictype/joininggroup-name: New file.
12754         * lib/unictype/joininggroup_name.c: New file.
12755         * lib/unictype/joininggroup_name.h: New file.
12756
12757         New module 'unictype/joiningtype-all'.
12758         * modules/unictype/joiningtype-all: New file.
12759
12760         Tests for module 'unictype/joiningtype-of'.
12761         * modules/unictype/joiningtype-of-tests: New file.
12762         * tests/unictype/test-joiningtype_of.c: New file.
12763         * tests/unictype/test-joiningtype_of.h: New file, automatically
12764         generated by gen-uni-tables.
12765
12766         New module 'unictype/joiningtype-of'.
12767         * modules/unictype/joiningtype-of: New file.
12768         * lib/unictype/joiningtype_of.c: New file.
12769         * lib/unictype/joiningtype_of.h: New file, automatically generated by
12770         gen-uni-tables.
12771
12772         Tests for module 'unictype/joiningtype-byname'.
12773         * modules/unictype/joiningtype-byname-tests: New file.
12774         * tests/unictype/test-joiningtype_byname.c: New file.
12775
12776         New module 'unictype/joiningtype-byname'.
12777         * modules/unictype/joiningtype-byname: New file.
12778         * lib/unictype/joiningtype_byname.c: New file.
12779
12780         Tests for module 'unictype/joiningtype-name'.
12781         * modules/unictype/joiningtype-name-tests: New file.
12782         * tests/unictype/test-joiningtype_name.c: New file.
12783
12784         New module 'unictype/joiningtype-name'.
12785         * modules/unictype/joiningtype-name: New file.
12786         * lib/unictype/joiningtype_name.c: New file.
12787
12788         unictype: Add support for Arabic shaping properties.
12789         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
12790         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
12791         declarations.
12792         (UC_JOINING_GROUP_*): New enumeration values.
12793         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
12794         declarations.
12795         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
12796         (unicode_joining_type): New variable.
12797         (UC_JOINING_GROUP_*): New enumeration values.
12798         (unicode_joining_group): New variable.
12799         (fill_arabicshaping, joining_type_as_c_identifier,
12800         output_joining_type_test, output_joining_type,
12801         joining_group_as_c_identifier, output_joining_group_test,
12802         output_joining_group): New functions.
12803         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
12804         fill_arabicshaping and output_joining_type_test, output_joining_type,
12805         output_joining_group_test, output_joining_group.
12806         Reported by Simon Josefsson.
12807
12808 2011-03-21  Jim Meyering  <meyering@redhat.com>
12809
12810         strftime: fix a bug in yesterday's change
12811         * lib/strftime.c (add): Accommodate width's initial value of -1.
12812         Otherwise, nstrftime would copy uninitialized data into
12813         the result buffer.
12814
12815 2011-03-21  Jim Meyering  <meyering@redhat.com>
12816
12817         tests: add strftime-tests module
12818         * tests/test-strftime.c: New file.
12819         * modules/strftime-tests: New module.
12820
12821 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
12822
12823         strftime: don't assume a byte count fits in 'int'
12824         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
12825         found this problem by static analysis, using gcc -Wstrict-overflow
12826         (GCC 4.5.2, x86-64).  This reported an optimization that depended
12827         on an integer overflow having undefined behavior, but it turns out
12828         that the argument is a size, which might not fit in 'int' anyway,
12829
12830 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
12831
12832         stdio: don't require ignore_value around fwrite
12833
12834         This patch works around libc bug 11959
12835         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
12836         Without this patch, applications must often write
12837         ignore_value (fwrite (...)) even though the ignore_value is
12838         not helpful here.  It's common to write many objects, using
12839         fwrite/printf/etc., and then use ferror to detect output error.
12840
12841         I considered making this patch optional, but decided against it,
12842         because libc is obviously being inconsistent here: there is no
12843         reason libc should insist that user code must inspect fwrite
12844         return's value without also insisting that it inspect printf's,
12845         putchar's, etc.  If user code wants to have a strict style where
12846         all these functions' values are checked (so that ferror need not
12847         be checked), we could add support for that style in a new gnulib
12848         module, but in the meantime it's better to be consistent and to
12849         support common usage.
12850
12851         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
12852         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
12853         that we are compiling in checking mode, and if not C++, and
12854         if not already wrapping fwrite for some other reason.
12855         (fwrite): #define to rpl_fwrite if the latter is defined.
12856
12857 2011-03-20  Bruno Haible  <bruno@clisp.org>
12858
12859         verror: Fix compilation error introduced on 2011-02-13.
12860         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
12861         instead of __attribute__.
12862         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12863
12864 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
12865             Bruno Haible  <bruno@clisp.org>
12866
12867         socklen: do not depend on sys_socket
12868         While trying to modify Emacs to use gnulib's socklen module,
12869         I discovered a circular dependency: socklen depends on sys_socket
12870         and vice versa.  Emacs can use socklen, but it does not need
12871         sys_socket because it has its own substitute for sys/socket.h.
12872         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
12873         gl_TYPE_SOCKLEN_T.
12874         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
12875         gl_PREREQ_SYS_H_SOCKET.
12876         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
12877         gl_PREREQ_SYS_H_SOCKET.
12878         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
12879         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
12880         * modules/socklen (Depends-on): Do not depend on sys_socket.
12881         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
12882
12883 2011-03-20  Jim Meyering  <meyering@redhat.com>
12884
12885         maint.mk: sort file names *after* new transformation
12886         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
12887         prefix would have led to an unwarranted failure in GNU parted.
12888         Sort after that transformation.
12889
12890 2011-03-19  Jim Meyering  <meyering@redhat.com>
12891
12892         maint.mk: fix po-file syntax-check rule
12893         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
12894         Patch by Bruno Haible.
12895
12896 2011-03-19  Bruno Haible  <bruno@clisp.org>
12897
12898         socklen: Update comment.
12899         * m4/socklen.m4: Update comment about platforms.
12900
12901 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
12902             Bruno Haible  <bruno@clisp.org>
12903
12904         inet_ntop, inet_pton: Simplify.
12905         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
12906         documented to provide socklen_t and we already depend on sys_socket.
12907         * modules/inet_pton (Depends-on): Likewise.
12908         * lib/arpa_inet.in.h: Adjust comment.
12909
12910 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
12911             Bruno Haible  <bruno@clisp.org>
12912
12913         netdb: Simplify.
12914         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
12915         documented to provide socklen_t and we already depend on sys_socket.
12916         * lib/netdb.in.h: Adjust comment.
12917
12918 2011-03-19  Bruno Haible  <bruno@clisp.org>
12919
12920         sys_socket, netdb: Document problem with socklen_t.
12921         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
12922         platforms.
12923         * doc/posix-headers/netdb.texi: Likewise.
12924
12925 2011-03-18  Eric Blake  <eblake@redhat.com>
12926
12927         maint.mk: let po check work in VPATH build
12928         * top/maint.mk (po_file): Allow cfg.mk override.
12929         (sc_po_check): Allow VPATH use.
12930         Reported by Jiri Denemark.
12931
12932 2011-03-16  Jim Meyering  <meyering@redhat.com>
12933
12934         maint.mk: allow fine-grained syntax-check exclusion via Make variables
12935         Before, you would have had to create one .x-sc_ file per rule in order
12936         to exempt offending files.  Now, you may instead use a Make variable --
12937         usually defined in cfg.mk -- whose name identifies the affected rule.
12938         * top/maint.mk (_sc_excl): Define.
12939         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
12940         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
12941
12942 2011-03-13  Bruno Haible  <bruno@clisp.org>
12943
12944         ignore-value tests: Avoid warnings.
12945         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
12946         empty for gcc < 3.4.
12947
12948 2011-03-13  Bruno Haible  <bruno@clisp.org>
12949
12950         passfd: Fix link error on Solaris.
12951         * modules/passfd (Description): Correct.
12952         (Depends-on): Add socketlib.
12953         (Link): New section.
12954         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
12955
12956 2011-03-13  Bruno Haible  <bruno@clisp.org>
12957
12958         passfd: Fix link error on AIX 5.2.
12959         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
12960
12961 2011-03-13  Bruno Haible  <bruno@clisp.org>
12962
12963         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
12964         * lib/sys_socket.in.h: Include <stddef.h>.
12965         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
12966         CMSG_FIRSTHDR. Remove unused variable.
12967
12968 2011-03-13  Bruno Haible  <bruno@clisp.org>
12969
12970         passfd: Fix compilation error on OpenBSD.
12971         * lib/passfd.c: Include <sys/uio.h>.
12972
12973 2011-03-13  Bruno Haible  <bruno@clisp.org>
12974
12975         passfd test: Fix warnings.
12976         * tests/test-passfd.c: Include <sys/wait.h>.
12977         (main): Fix typo.
12978
12979 2011-03-13  Bruno Haible  <bruno@clisp.org>
12980
12981         passfd module, part 4, tweaks.
12982         * tests/test-passfd.c: Reorder includes.
12983         (main): Fix perror and printf calls.
12984
12985 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
12986
12987         passfd module, part 4.
12988         * modules/passfd-tests: New file.
12989         * tests/test-passfd.c: New file.
12990
12991 2011-03-13  Jim Meyering  <meyering@redhat.com>
12992
12993         Makefile: rely on GNU make; derive syntax-check rule names
12994         Rather than requiring that each sc_ rule be listed as a dependent
12995         of "check", use features of GNU make to derive the list.
12996         * Makefile (syntax-check-rules): Define.
12997         (check): Depend on the new variable, not the hard-coded list.
12998
12999 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
13000             Bruno Haible  <bruno@clisp.org>
13001
13002         passfd module, part 3.
13003         * lib/passfd.h (recvfd): Add a flags argument.
13004         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
13005         (recvfd): Add a flags argument.
13006         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
13007         exists.
13008         * modules/passfd (Depends-on): Add cloexec.
13009         Suggested by Eric Blake.
13010
13011 2011-03-13  Bruno Haible  <bruno@clisp.org>
13012
13013         passfd module, part 2, tweaks.
13014         * modules/passfd (Files): Reorder.
13015         (Depends-on): Remove errno.
13016         (Include): Remove <sys/socket.h>, <sys/un.h>.
13017         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
13018         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
13019         specification header. Include <sys/socket.h> always. Don't include
13020         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
13021         (sendfd): Clarify that it sets errno when it fails.
13022         (recvfd): Fix specification.
13023
13024 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
13025
13026         passfd module, part 2.
13027         * modules/passfd: New file.
13028         * lib/passfd.h: New file.
13029         * lib/passfd.c: New file.
13030
13031 2011-03-12  Bruno Haible  <bruno@clisp.org>
13032
13033         wcswidth, mbswidth: Avoid integer overflow.
13034         * lib/wcswidth.c: Include <limits.h>.
13035         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
13036         * lib/mbswidth.c: Include <limits.h>.
13037         (mbsnwidth): Avoid 'int' overflow.
13038         Reported by Jim Meyering.
13039
13040 2011-03-12  Bruno Haible  <bruno@clisp.org>
13041
13042         futimens, utimensat: Avoid endless recursion on Solaris 10.
13043         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
13044         Solaris.
13045         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
13046         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
13047
13048 2011-03-11  Jim Meyering  <meyering@redhat.com>
13049
13050         maint.mk: relax a regexp to accommodate other formatting styles
13051         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
13052         between "ngettext" and the following "(".
13053
13054 2011-03-11  Pádraig Brady <P@draigBrady.com>
13055
13056         maint.mk: suppress a false positive warning
13057         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
13058         diagnostics are marked with ngettext.
13059
13060 2011-03-10  Eric Blake  <eblake@redhat.com>
13061
13062         wchar: add explicit dependencies, for Tru64
13063         * modules/mbmemcasecoll (Depends-on): Add wchar.
13064         * modules/mbtowc (Depends-on): Likewise.
13065         * modules/vasnprintf (Depends-on): Likewise.
13066         * modules/unistdio/u-printf-args (Depends-on): Likewise.
13067         * modules/wctomb (Depends-on): Likewise.
13068         Reported by Peter O'Gorman.
13069
13070 2011-03-08  Bruno Haible  <bruno@clisp.org>
13071
13072         passfd module, part 1, tweaks.
13073         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
13074         Improve indentation. Improve AC_MSG_CHECKING messages.
13075         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
13076         gl_SOCKET_FAMILIES.
13077
13078 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
13079
13080         passfd module, part 1.
13081         * m4/afunix.m4: New file.
13082         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
13083         sockets.
13084
13085 2011-03-08  Bruno Haible  <bruno@clisp.org>
13086
13087         regex-quote: New API.
13088         * lib/regex-quote.h: Include <stdbool.h>.
13089         (struct regex_quote_spec): New type.
13090         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
13091         New declarations.
13092         (regex_quote_length, regex_quote_copy, regex_quote): Take a
13093         'const struct regex_quote_spec *' argument.
13094         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
13095         (pcre_special): New constant.
13096         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
13097         New functions.
13098         (regex_quote_length, regex_quote_copy, regex_quote): Take a
13099         'const struct regex_quote_spec *' argument.
13100         * modules/regex-quote (Depends-on): Add stdbool.
13101         * tests/test-regex-quote.c (check): Update for new API. Add test for
13102         anchored results.
13103         * NEWS: Mention the API change.
13104         Reported by Reuben Thomas and Eric Blake.
13105
13106 2011-03-06  Bruno Haible  <bruno@clisp.org>
13107
13108         regex-quote: Fix creation of POSIX extended regular expressions.
13109         * lib/regex-quote.c (ere_special): Add grouping and alternation
13110         operators.
13111
13112 2011-03-05  Bruno Haible  <bruno@clisp.org>
13113
13114         doc: Improve doc regarding autopoint vs. gnulib.
13115         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
13116         disable autopoint while running autoreconf.
13117         Suggested by Ralf Wildenhues.
13118
13119 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13120
13121         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
13122         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
13123
13124 2011-03-03  Bruce Korb  <bkorb@gnu.org>
13125
13126         parse-duration: remove xalloc.h dependency
13127         * lib/parse-duration.c (parse_period): handle NULL return from
13128         strdup instead of calling xstrdup().
13129         * modules/parse-duration: remove "xalloc" dependency
13130
13131 2011-03-03  Matthew Booth  <mbooth@redhat.com>
13132
13133         bootstrap: honor m4_base when running aclocal
13134         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
13135
13136 2011-03-02  Jim Meyering  <meyering@redhat.com>
13137
13138         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
13139         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
13140         on request from Matt Booth.
13141
13142 2011-03-01  Eric Blake  <eblake@redhat.com>
13143
13144         test-link: work on Hurd
13145         * tests/test-link.h (test_link): Hurd rejects linking directories
13146         with EISDIR instead of the POSIX-mandated EPERM.
13147
13148 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
13149
13150         stdio: simplify by moving files to printf-posix, sigpipe
13151         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
13152         since this symbol is needed only if printf is replaced.
13153         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
13154         Require gl_ASM_SYMBOL_PREFIX.
13155         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
13156         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
13157         (Depends-on): Add 'raise'.
13158         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
13159         * modules/stdio (Files): Remove lib/stdio-write.c,
13160         m4/asm-underscore.m4.
13161         (Depends-on): Remove 'raise'.
13162
13163         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
13164         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
13165         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
13166         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
13167
13168 2011-02-28  Bruno Haible  <bruno@clisp.org>
13169
13170         localcharset: Assume ANSI C behaviour of free().
13171         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
13172         calling free().
13173         Suggested by Simon Josefsson <simon@josefsson.org>.
13174
13175 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
13176             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
13177             Bruno Haible  <bruno@clisp.org>  (tiny change)
13178
13179         On Cygwin, use /proc file system instead of win32 API.
13180         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
13181         Win32 file names.
13182         (DllMain): Simplify by removing Cygwin specific code.
13183         (find_shared_library_fullname): Use Linux specific implementation also
13184         for Cygwin.
13185         (get_shared_library_fullname): Update accordingly.
13186         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
13187         Win32 file names.
13188         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
13189         Cygwin specific code.
13190
13191 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
13192             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
13193
13194         Fix OpenMP flag detection for various Fortran compilers.
13195         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
13196         OpenMP-conditional compilation construct, to force compile
13197         failure with missing OpenMP flag.
13198         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
13199
13200 2011-02-25  Eric Blake  <eblake@redhat.com>
13201
13202         strstr: expand test coverage
13203         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
13204         compilation.
13205         * tests/test-memmem.c (main): Duplicate tests.
13206         * tests/test-strcasestr.c (main): Likewise.
13207         * tests/test-c-strcasestr.c (main): Likewise.
13208
13209 2011-02-25  Jim Meyering  <meyering@redhat.com>
13210
13211         maint.mk: detect missing-NL-at-EOF, too
13212         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
13213         it also detects when a file lacks a newline at EOF.
13214         (require_exactly_one_NL_at_EOF_): Renamed from
13215         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
13216         since people may well have .x-sc_... file names tied to the
13217         existing name.  Suggested by Eric Blake.
13218
13219 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
13220
13221         dirname: move m4/dos.m4 functionality into lib/dosname.h
13222
13223         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
13224         extracts symbols from it, puts them into config.h; but it's much
13225         easier to use the symbols directly.  filename.h already does this,
13226         but it disagrees with dos.m4 in some respects.  This patch
13227         introduces a different include file dosname.h that packages up
13228         dos.m4, and then later we can work on merging filename.h and
13229         dosname.h.  Applications that need only the easy-to-configure
13230         symbols should consider including dosname.h rather than dirname.h.
13231         * NEWS: Mention incompatible changes.
13232         * m4/dos.m4: Remove.
13233         * lib/dosname.h, modules/dosname: New files.
13234         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
13235         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
13236         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
13237         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
13238         Include dosname.h, not dirname.h.
13239         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
13240         Include dosname.h, for definitions of symbols like ISSLASH
13241         that used to be in config.h.
13242         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
13243         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
13244         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
13245         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
13246         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
13247         * modules/rmdir (Files): Likewise.
13248         * modules/stat (Files): Likewise.
13249         * modules/unlink (Files): Likewise.
13250         * modules/dirname-lgpl (Depends-on): Add dosname.
13251         * modules/lstat (Depends-on): Likewise.
13252         * modules/openat (Depends-on): Likewise.
13253         * modules/rmdir (Depends-on): Likewise.
13254         * modules/savewd (Depends-on): Likewise.
13255         * modules/stat (Depends-on): Likewise.
13256         * modules/unlink (Depends-on): Likewise.
13257         * modules/openat (Depends-on): Remove dirname-lgpl.
13258         * modules/savewd (Depends-on): Likewise.
13259         * tests/test-dirname.c: Do not use removed symbols like
13260         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
13261         the remaining symbols, e.g., ISSLASH ('\\').
13262
13263 2011-02-25  Eric Blake  <eblake@redhat.com>
13264
13265         strstr: revert patches that introduced bug and pessimization
13266         * lib/str-two-way.h: Add another reference.
13267         (two_way_short_needle, two_way_long_needle): Revert changes from
13268         2011-02-24; they pessimize search speed.
13269         (critical_factorization): Partially revert changes from
13270         2010-06-22; they violate the requirement that the left half of the
13271         needle be smaller than the period of the needle.
13272
13273 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
13274
13275         filenamecat: remove unnecessary dependency on dirname-lgpl
13276         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
13277         is no direct dependency, just an indirect one via filenamecat-lgpl.
13278
13279         remove: remove unnecessary use of m4/dos.m4
13280         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
13281         * modules/remove (FILES): Remove m4/dos.m4.
13282
13283         * lib/openat-proc.c: Don't include dirname.h; not needed.
13284
13285         backupfile: remove unnecessary use of m4/dos.m4
13286         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
13287         of its symbols are used by the backupfile code.  backupfile.c does
13288         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
13289         for the rare case of programs that want all their backup file
13290         names to live within 8+3 limits, and dos.m4 doesn't address that.
13291         * modules/backupfile (Files): Remove m4/dos.m4.
13292
13293 2011-02-24  Jim Meyering  <meyering@redhat.com>
13294
13295         strstr: fix a bug whereby strstr would mistakenly return NULL
13296         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
13297         in period calculation.
13298         (two_way_long_needle): Likewise.
13299         The original problem was reported by Mike Stump in
13300         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
13301         Ralf Wildenhues provided the short needle and haystack.
13302         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
13303         Add a more involved test to trigger the bug in two_way_long_needle.
13304
13305 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
13306
13307         gnulib-tool: remove use of bold display in help screen
13308         * gnulib-tool (func_usage): Do not use bold display anymore in the
13309         help screen.  That was just meant to be a temporary emphasis for a
13310         backward-incompatible change.
13311
13312 2011-02-23  Bruno Haible  <bruno@clisp.org>
13313
13314         Fix misindentation of preprocessor directives.
13315         * lib/argp-namefrob.h: Reindent preprocessor directives.
13316         * lib/getopt_int.h (struct _getopt_data): Likewise.
13317         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
13318         * lib/vasnprintf.c (decode_long_double): Likewise.
13319         * tests/test-argmatch.c: Insert blank lines, for clarity.
13320         * tests/test-exclude.c: Likewise.
13321
13322 2011-02-22  Bruno Haible  <bruno@clisp.org>
13323
13324         ioctl: Fix for MacOS X in 64-bit mode.
13325         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
13326         value.
13327         Suggested by Eric Blake.
13328         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
13329
13330 2011-02-22  Jim Meyering  <meyering@redhat.com>
13331
13332         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
13333         * Makefile (sc_cpp_indent_check): Don't limit the check to files
13334         in lib/.
13335
13336 2011-02-22  Eric Blake  <eblake@redhat.com>
13337
13338         maint: avoid any CDPATH issue
13339         * Makefile (sc_cpp_indent_check): Anchor cd argument.
13340
13341         maint: adjust cpp indentation for my modules, as well
13342         * Makefile (sc_cpp_indent_check): Add my name.
13343         * lib/fbufmode.c: Filter through cppi.
13344         * lib/fpurge.c: Likewise.
13345         * lib/freadable.c: Likewise.
13346         * lib/freading.c: Likewise.
13347         * lib/fwritable.c: Likewise.
13348         * lib/fwriting.c: Likewise.
13349         * lib/sigaction.c: Likewise.
13350
13351 2011-02-22  Jim Meyering  <meyering@redhat.com>
13352
13353         maint: adjust cpp indentation to reflect nesting depth
13354         I.e., in a block of code that begins with an unnested "#if",
13355         put one space between the "#" in column 1 and following token.
13356         For example,
13357         -#include <sys/vfs.h>
13358         +# include <sys/vfs.h>
13359         Do this only in .c files that are part of a module I maintain.
13360         * lib/linkat.c: Filter through cppi.
13361         * lib/nanosleep.c: Likewise.
13362         * lib/openat.c: Likewise.
13363         * lib/openat-die.c: Likewise.
13364         * lib/dup3.c: Likewise.
13365         * lib/fchownat.c: Likewise.
13366         * lib/flock.c: Likewise.
13367         * lib/fsync.c: Likewise.
13368         * lib/fts.c: Likewise.
13369         * lib/getpass.c: Likewise.
13370         * lib/gettimeofday.c: Likewise.
13371         * lib/userspec.c: Likewise.
13372         * Makefile (sc_cpp_indent_check): New rule, to check this.
13373
13374 2011-02-22  Bruno Haible  <bruno@clisp.org>
13375
13376         New module 'wctomb'.
13377         * lib/stdlib.in.h (wctomb): New declaration.
13378         * lib/wctomb.c: New file.
13379         * lib/wctomb-impl.h: New file.
13380         * m4/wctomb.m4: New file.
13381         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
13382         REPLACE_WCTOMB.
13383         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
13384         REPLACE_WCTOMB.
13385         * modules/wctomb: New file.
13386         * tests/test-stdlib-c++.cc: Test signature of wctomb.
13387         * doc/posix-functions/wctomb.texi: Mention the new module.
13388         * modules/wctob (Depends-on): Add wctomb.
13389
13390 2011-02-22  Bruno Haible  <bruno@clisp.org>
13391
13392         New module 'mbtowc'.
13393         * lib/stdlib.in.h (mbtowc): New declaration.
13394         * lib/mbtowc.c: New file.
13395         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
13396         * m4/mbtowc.m4: New file.
13397         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
13398         REPLACE_MBTOWC.
13399         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
13400         REPLACE_MBTOWC.
13401         * modules/mbtowc: New file.
13402         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
13403         * doc/posix-functions/mbtowc.texi: Mention the new module.
13404         * modules/btowc (Depends-on): Add mbtowc.
13405
13406 2011-02-22  Bruno Haible  <bruno@clisp.org>
13407
13408         wcrtomb: Add more tests for native Windows platforms.
13409         * tests/test-wcrtomb-w32-1.sh: New file.
13410         * tests/test-wcrtomb-w32-2.sh: New file.
13411         * tests/test-wcrtomb-w32-3.sh: New file.
13412         * tests/test-wcrtomb-w32-4.sh: New file.
13413         * tests/test-wcrtomb-w32-5.sh: New file.
13414         * tests/test-wcrtomb-w32.c: New file.
13415         * modules/wcrtomb-tests (Files): Add them.
13416         (Makefile.am): Arrange to run these tests.
13417         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
13418         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
13419
13420 2011-02-20  Bruno Haible  <bruno@clisp.org>
13421
13422         wcrtomb: Enhance test.
13423         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
13424
13425 2011-02-20  Bruno Haible  <bruno@clisp.org>
13426
13427         mbrtowc: Tiny optimization.
13428         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
13429
13430 2011-02-20  Jim Meyering  <meyering@redhat.com>
13431
13432         test-exclude.c: remove unmatched #endif
13433         * tests/test-exclude.c: Remove stray #endif, left over from
13434         the change of a week ago.
13435
13436 2011-02-19  Jim Meyering  <meyering@redhat.com>
13437
13438         git-version-gen: skip "-dirty" check when appropriate
13439         * build-aux/git-version-gen: Don't run any git commands when the
13440         version string comes from .tarball-version.  Prior to this, we
13441         would run git update-index --refresh even from a just-unpacked
13442         tarball directory, and that could affect a .git/ directory in a
13443         parent of the build directory.  Reported by Mike Frysinger.
13444
13445 2011-02-19  Bruno Haible  <bruno@clisp.org>
13446
13447         unictype/property-byname: Reduce the size of the 'data' segment.
13448         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
13449
13450 2011-02-19  Bruno Haible  <bruno@clisp.org>
13451
13452         unictype/scripts: Reduce the size of the 'data' segment.
13453         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
13454         '%pic'.
13455         * lib/unictype/scripts_byname.gperf: Regenerated.
13456
13457 2011-02-19  Bruno Haible  <bruno@clisp.org>
13458
13459         stdint: Update documentation.
13460         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
13461
13462 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
13463
13464         stdint: omit redundant check for wchar.h
13465         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
13466         always tests whether wchar.h exists, so remove the now-redundant test.
13467
13468 2011-02-18  Bruno Haible  <bruno@clisp.org>
13469
13470         stdint: Cut dependency to module 'wchar'.
13471         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
13472         include the necessary prerequisites.
13473         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
13474         * modules/stdint (Depends-on): Remove wchar.
13475         (Makefile.am): Substitute HAVE_WCHAR_H.
13476         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
13477
13478 2011-02-18  Eric Blake  <eblake@redhat.com>
13479
13480         longlong: skip, rather than fail, on cross-compilation
13481         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
13482         when cross-compiling; regression from 2011-02-16.
13483
13484 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
13485
13486         * NEWS: Mention 2011-02-08 change to stdlib.
13487
13488 2011-02-17  Bruno Haible  <bruno@clisp.org>
13489
13490         getloadavg: Add comments about platforms.
13491         * m4/getloadavg.m4: Add comment.
13492         * lib/getloadavg.c: Likewise.
13493
13494 2011-02-17  Bruno Haible  <bruno@clisp.org>
13495
13496         getloadavg: Fix link error on Solaris 2.6.
13497         * modules/getloadavg (Link): New section.
13498         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
13499         linking test-getloadavg.
13500         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
13501         getloadavg.
13502
13503 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
13504
13505         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
13506         It was 'int', but this doesn't match the IRIX 6.5 manual.
13507         Suggested by Bruno Haible in
13508         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
13509
13510 2011-02-17  Bruno Haible  <bruno@clisp.org>
13511
13512         havelib: Fix comments.
13513         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
13514         change.
13515
13516 2011-02-17  Bruno Haible  <bruno@clisp.org>
13517
13518         havelib: Update config.rpath.
13519         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
13520
13521 2011-02-17  Bruno Haible  <bruno@clisp.org>
13522
13523         getloadavg test: Add some plausibility checks.
13524         * tests/test-getloadavg.c (check_avg): Print a warning when the value
13525         is improbable.
13526
13527 2011-02-16  Eric Blake  <eblake@redhat.com>
13528
13529         maintainer-makefile: make syntax-check a no-op from tarballs
13530         * top/maint.mk (no-vc-detected): New rule.
13531         (local-checks-available): Use it to avoid hanging if someone tries
13532         'make syntax-check' from a tarball.  Also append to any non-syntax
13533         checks already defined in cfg.mk.
13534
13535 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
13536
13537         longlong: tune, particularly for common case of c99
13538
13539         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
13540         or running anything if c99, or if unsigned long long int does not
13541         work.  In either case, we know the answer without further tests.
13542         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
13543         it at most once, and use its results for both long long int and
13544         unsigned long long int.  This is more likely to be efficient in
13545         the common case where the program wants to check for both long
13546         long int and unsigned long long int.
13547         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
13548         since the answer is already known.
13549
13550 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
13551
13552         getloadavg: set errno
13553         * lib/getloadavg.c: Set errno when returning -1.  If no other
13554         error number looks appropriate, set it to ENOSYS if the getloadavg
13555         looks like it can't possibly ever work, ENOTSUP otherwise.
13556         Suggested by Bruno Haible in
13557         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
13558
13559         getloadavg: trim unused parts and speed up 'configure'
13560         * NEWS: Document this.
13561         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
13562         always compiled if getloadavg is absent.
13563         Move test code to ...
13564         * tests/test-getloadavg.c: New file, containing previous
13565         contents of test from lib/getloadavg.c.  It also contains
13566         suggestions by Bruno Haible in
13567         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
13568         * modules/getloadavg-tests: New file.
13569         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
13570         Do tests in the same order as they're needed for getloadavg.c.
13571         Omit setgid-related tests that generate symbols KMEM_GROUP,
13572         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
13573         Do only the tests that are needed to see whether the system has
13574         getloadavg, moving the other tests into ...
13575         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
13576         NLIST_NAME_UNION; nobody should be using it.  Do not define
13577         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
13578         relevant, as the user of this module shouldn't care how getloadavg
13579         is implemented.
13580
13581         getloadavg: omit unused var
13582         * lib/getloadavg.c (getloadavg): Omit unused local variable.
13583
13584 2011-02-15  Jim Meyering  <meyering@redhat.com>
13585
13586         doc: update users.txt
13587         * users.txt: Update iwhd's URL.
13588
13589 2011-02-13  Bruno Haible  <bruno@clisp.org>
13590
13591         Consistent macro naming for macros that use GCC __attribute__.
13592         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
13593         _ATTRIBUTE_NONNULL_.
13594         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
13595         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
13596         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
13597         ATTRIBUTE_DEPRECATED.
13598         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
13599         ATTRIBUTE_NORETURN.
13600         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
13601         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
13602         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
13603         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
13604         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
13605         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
13606         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
13607         ATTRIBUTE_SENTINEL.
13608         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
13609         ATTRIBUTE_RETURN_CHECK.
13610         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
13611         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
13612         ATTRIBUTE_NORETURN.
13613         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
13614         Reported by Paul Eggert.
13615
13616 2011-02-13  Bruno Haible  <bruno@clisp.org>
13617
13618         Don't interfere with a program's definition of __attribute__.
13619         * lib/argp.h (__attribute__): Remove definition.
13620         (_GL_ATTRIBUTE_FORMAT): New macro.
13621         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
13622         * lib/argp-fmtstream.h (__attribute__): Remove definition.
13623         (_GL_ATTRIBUTE_FORMAT): New macro.
13624         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
13625         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
13626         GCC 3 or newer.
13627         * lib/error.h (__attribute__): Remove definition.
13628         (_GL_ATTRIBUTE_FORMAT): New macro.
13629         (error, error_at_line): Use it.
13630         * lib/hash.h (__attribute__): Remove definition.
13631         (ATTRIBUTE_WUR): Update definition. Define always.
13632         * lib/openat.h (__attribute__): Remove definition.
13633         (ATTRIBUTE_NORETURN): Update definition. Define always.
13634         * lib/sigpipe-die.h (__attribute__): Remove definition.
13635         (ATTRIBUTE_NORETURN): Update definition. Define always.
13636         * lib/vasnprintf.h (__attribute__): Remove definition.
13637         (_GL_ATTRIBUTE_FORMAT): New macro.
13638         (asnprintf, vasnprintf): Use it.
13639         * lib/xalloc.h (__attribute__): Remove definition.
13640         (ATTRIBUTE_NORETURN): Update definition. Define always.
13641         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
13642         * lib/xmemdup0.h (__attribute__): Remove definition.
13643         (ATTRIBUTE_NORETURN): Update definition. Define always.
13644         * lib/xprintf.h (__attribute__): Remove definition.
13645         (_GL_ATTRIBUTE_FORMAT): New macro.
13646         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
13647         * lib/xstrtol.h (__attribute__): Remove definition.
13648         (ATTRIBUTE_NORETURN): Update definition. Define always.
13649         * lib/xvasprintf.h (__attribute__): Remove definition.
13650         (_GL_ATTRIBUTE_FORMAT): New macro.
13651         (xasprintf, xvasprintf): Use it.
13652         * tests/test-argmatch.c (__attribute__): Remove definition.
13653         (ATTRIBUTE_NORETURN): Update definition. Define always.
13654         * tests/test-exclude.c (__attribute__): Remove definition.
13655         (ATTRIBUTE_NORETURN): Update definition. Define always.
13656         Reported by Paul Eggert.
13657
13658 2011-02-13  Bruno Haible  <bruno@clisp.org>
13659
13660         mbrtowc: Add more tests for native Windows platforms.
13661         * tests/test-mbrtowc-w32-1.sh: New file.
13662         * tests/test-mbrtowc-w32-2.sh: New file.
13663         * tests/test-mbrtowc-w32-3.sh: New file.
13664         * tests/test-mbrtowc-w32-4.sh: New file.
13665         * tests/test-mbrtowc-w32-5.sh: New file.
13666         * tests/test-mbrtowc-w32.c: New file.
13667         * modules/mbrtowc-tests (Files): Add them.
13668         (Makefile.am): Arrange to run these tests.
13669         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
13670         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
13671
13672 2011-02-13  Bruno Haible  <bruno@clisp.org>
13673
13674         mbrtowc: Work around native Windows bug.
13675         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
13676         guess when no suitable locale for testing was found.
13677         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
13678
13679 2011-02-13  Bruno Haible  <bruno@clisp.org>
13680
13681         mbsinit: Work around mingw bug.
13682         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
13683         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
13684         Windows.
13685         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
13686
13687 2011-02-13  Bruno Haible  <bruno@clisp.org>
13688
13689         mbsinit: Don't crash for a NULL argument.
13690         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
13691         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
13692
13693 2011-02-13  Bruno Haible  <bruno@clisp.org>
13694
13695         Don't interfere with a program's definition of __attribute__.
13696         * lib/stdio.in.h (__attribute__): Remove definition.
13697         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
13698         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
13699         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
13700         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
13701         * lib/string.in.h (__attribute__): Remove definition.
13702         Reported by Paul Eggert.
13703
13704 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
13705
13706         stdlib: don't get in the way of non-GCC __attribute__
13707         See thread starting at
13708         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
13709         Revert previous stdlib change, installing the following instead:
13710         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
13711         to get in the way of a non-GCC compiler that supports __attribute__.
13712         (_GL_ATTRIBUTE_RETURN): New macro.
13713         (_Exit): Use it instead of __attribute__.
13714
13715 2011-02-12  Bruno Haible  <bruno@clisp.org>
13716
13717         quotearg test: Avoid test failure on mingw.
13718         * tests/test-quotearg.sh: Convert the locale identifier from native
13719         Windows syntax to Unix syntax.
13720
13721 2011-02-12  Bruno Haible  <bruno@clisp.org>
13722
13723         setlocale: Prefer gnulib's override over libintl's override.
13724         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
13725         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
13726         GNULIB_defined_setlocale is set.
13727
13728 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
13729
13730         stdlib: support non-GCC __attribute__
13731
13732         Fix a serious and tricky problem encountered when attempting to
13733         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
13734         5.5, but it crashed due to memory corruption on Solaris 10 with
13735         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
13736         bits that are otherwise zero.  This tagging is optional inside
13737         Emacs but is preferred and is used when __attribute__ ((__aligned
13738         (8))) works, as it does with both recent-enough GCC and with Sun C
13739         5.11.  However, Sun C 5.11 is not GCC and does not #define
13740         __GNUC__ and __GNUC_MINOR__.
13741
13742         When I added the getloadavg module to Emacs, it brought in
13743         stdlib.in.h, which contained this fragment:
13744
13745            #ifndef __attribute__
13746            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
13747            #  define __attribute__(Spec)   /* empty */
13748            # endif
13749            #endif
13750
13751         When files that include <stdlib.h> were compiled with Sun C 5.11,
13752         the above code disabled __attribute__ ((__aligned (8))), which
13753         caused variables to not be properly aligned, which eventually led
13754         to the pointer corruption mentioned above.  (This was a bit hard
13755         to diagnose, unfortunately.)
13756
13757         Several "#define __attribute__(X) /* empty */" code snippets need
13758         to be eradicated from Gnulib to work with non-GCC compilers that
13759         support __attribute__.  The Autoconf way to do this is to test for
13760         each kind of attribute that we want support for, and selectively
13761         enable that in source code.
13762
13763         Fix this problem just for stdlib.h, by adding a test for the
13764         __noreturn__ attribute, and change stdlib.in.h to use that test
13765         when needed.  This technique can be easily generalized to the
13766         other *.in.h files and attributes, and a similar technique can be
13767         used for *.h and *.c files.  This patch is enough to solve the
13768         problem for Emacs + getloadavg, and I thought I'd publish it for
13769         feedback before undertaking further, similar fixes in other
13770         modules.
13771
13772         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
13773         because it's not needed for stdlib.h.  It merely substitutes the
13774         value directly into stdlib.h.  We may well need to #define it, or
13775         similar symbols, for other modules, but it's nice to also have an
13776         option to not #define it for applications like Emacs that do not
13777         need it.
13778
13779         * lib/stdlib.in.h (__attribute__): Do not #define.
13780         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
13781         be defined only if the _Exit module is also used.
13782         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
13783         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
13784         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
13785         platforms.
13786         * modules/_Exit (Files): Add m4/attribute.m4.
13787         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
13788         * m4/attribute.m4: New file.
13789
13790 2011-02-12  Bruno Haible  <bruno@clisp.org>
13791
13792         wcsrtombs: Work around bug on native Windows.
13793         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
13794         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
13795         instead of len.
13796         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
13797
13798 2011-02-12  Bruno Haible  <bruno@clisp.org>
13799
13800         mbsrtowcs: Work around bug on native Windows.
13801         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
13802         against mingw bug.
13803         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
13804
13805 2011-02-12  Bruno Haible  <bruno@clisp.org>
13806
13807         Avoid setlocale bugs in tests.
13808         * modules/btowc (Dependencies): Add setlocale.
13809         * modules/c-strcase (Dependencies): Likewise.
13810         * modules/mbmemcasecmp (Dependencies): Likewise.
13811         * modules/mbmemcasecoll (Dependencies): Likewise.
13812         * modules/mbrtowc (Dependencies): Likewise.
13813         * modules/mbscasecmp (Dependencies): Likewise.
13814         * modules/mbscasestr (Dependencies): Likewise.
13815         * modules/mbschr (Dependencies): Likewise.
13816         * modules/mbscspn (Dependencies): Likewise.
13817         * modules/mbsinit (Dependencies): Likewise.
13818         * modules/mbsncasecmp (Dependencies): Likewise.
13819         * modules/mbsnrtowcs (Dependencies): Likewise.
13820         * modules/mbspbrk (Dependencies): Likewise.
13821         * modules/mbspcasecmp (Dependencies): Likewise.
13822         * modules/mbsrchr (Dependencies): Likewise.
13823         * modules/mbsrtowcs (Dependencies): Likewise.
13824         * modules/mbsspn (Dependencies): Likewise.
13825         * modules/mbsstr (Dependencies): Likewise.
13826         * modules/nl_langinfo (Dependencies): Likewise.
13827         * modules/quotearg (Dependencies): Likewise.
13828         * modules/unicase/locale-language (Dependencies): Likewise.
13829         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
13830         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
13831         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
13832         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
13833         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
13834         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
13835         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
13836         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
13837         * modules/vasnprintf-posix (Dependencies): Likewise.
13838         * modules/wcrtomb (Dependencies): Likewise.
13839         * modules/wcsnrtombs (Dependencies): Likewise.
13840         * modules/wcsrtombs (Dependencies): Likewise.
13841
13842 2011-02-12  Bruno Haible  <bruno@clisp.org>
13843
13844         setlocale: Workaround native Windows bug.
13845         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
13846         succeeds but sets LC_CTYPE to "C", report a failure.
13847         * tests/test-setlocale2.sh: New file.
13848         * tests/test-setlocale2.c: New file.
13849         * modules/setlocale-tests (Files): Add the new files.
13850         (Makefile.am): Enable test-setlocale2.sh test.
13851         * doc/posix-functions/setlocale.texi: Mention workaround.
13852
13853 2011-02-11  Bruno Haible  <bruno@clisp.org>
13854
13855         Tests for module 'setlocale'.
13856         * modules/setlocale-tests: New file.
13857         * tests/test-setlocale1.sh: New file.
13858         * tests/test-setlocale1.c: New file.
13859
13860         New module 'setlocale'.
13861         * lib/locale.in.h (setlocale): New declaration.
13862         * lib/setlocale.c: New file, based on
13863         gettext/gettext-runtime/intl/setlocale.c.
13864         * m4/setlocale.m4: New file.
13865         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
13866         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
13867         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
13868         REPLACE_SETLOCALE.
13869         * modules/setlocale: New file.
13870         * tests/test-locale-c++.cc: Test the declaration of setlocale.
13871         * doc/posix-functions/setlocale.texi: Mention the new module.
13872
13873 2011-02-11  Bruno Haible  <bruno@clisp.org>
13874
13875         Prepare for locale dependent tests on mingw.
13876         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
13877         because it has the wrong locale encoding.
13878         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
13879         French_France.1252 instead of "fr".
13880         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
13881         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
13882         because it has the wrong locale encoding.
13883         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
13884         native Windows, try Turkish_Turkey.65001.
13885         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
13886         Chinese_China.54936.
13887
13888         Prepare for locale dependent tests on mingw.
13889         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
13890         differently.
13891         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
13892         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
13893         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
13894         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
13895
13896 2011-02-11  Eric Blake  <eblake@redhat.com>
13897
13898         strptime: avoid compiler warnings
13899         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
13900         compiler warnings about dead code.
13901         Reported by Daniel P. Berrange.
13902
13903 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
13904
13905         doc: update users.txt
13906         * users.txt: Add rcs.
13907
13908 2011-02-10  John W. Eaton  <jwe@gnu.org>
13909
13910         doc: update users.txt
13911         * users.txt: Add octave.
13912
13913 2011-02-10  Jim Meyering  <meyering@redhat.com>
13914
13915         doc: update users.txt
13916         * users.txt: Add iwhd.
13917
13918 2011-02-09  Bruno Haible  <bruno@clisp.org>
13919
13920         gnulib-tool: Make copyright notice adjustment more robust.
13921         * gnulib-tool (func_import): In sed_transform_main_lib_file,
13922         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
13923         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
13924         License".
13925         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
13926
13927 2011-02-06  Bruno Haible  <bruno@clisp.org>
13928
13929         New module 'towctrans'.
13930         * modules/towctrans: New file.
13931         * lib/wctype.in.h (towctrans): New declaration.
13932         * lib/towctrans.c: New file.
13933         * lib/towctrans-impl.h: New file.
13934         * m4/towctrans.m4: New file.
13935         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
13936         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
13937         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
13938         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
13939         * doc/posix-functions/towctrans.texi: Mention the new module.
13940
13941 2011-02-06  Bruno Haible  <bruno@clisp.org>
13942
13943         New module 'wctrans'.
13944         * modules/wctrans: New file.
13945         * lib/wctype.in.h (wctrans): New declaration.
13946         * lib/wctrans.c: New file.
13947         * lib/wctrans-impl.h: New file.
13948         * m4/wctrans.m4: New file.
13949         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
13950         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
13951         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
13952         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
13953         * doc/posix-functions/wctrans.texi: Mention the new module.
13954
13955 2011-02-06  Bruno Haible  <bruno@clisp.org>
13956
13957         New module 'iswctype'.
13958         * modules/iswctype: New file.
13959         * lib/wctype.in.h (iswctype): New declaration.
13960         * lib/iswctype.c: New file.
13961         * lib/iswctype-impl.h: New file.
13962         * m4/iswctype.m4: New file.
13963         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
13964         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
13965         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
13966         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
13967         * doc/posix-functions/iswctype.texi: Mention the new module and the
13968         HP-UX 11.00 problem.
13969
13970 2011-02-06  Bruno Haible  <bruno@clisp.org>
13971
13972         New module 'wctype'.
13973         * modules/wctype: Change to represent the wctype() substitute.
13974         * lib/wctype.in.h (wctype): New declaration.
13975         * lib/wctype.c: New file.
13976         * lib/wctype-impl.h: New file.
13977         * m4/wctype.m4: New file.
13978         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
13979         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
13980         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
13981         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
13982         * doc/posix-functions/wctype.texi: Mention the new module and the
13983         HP-UX 11.00 problem.
13984
13985 2011-02-06  Bruno Haible  <bruno@clisp.org>
13986
13987         wctype-h: Ensure wctype_t and wctrans_t are defined.
13988         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
13989         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
13990         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
13991         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
13992         HAVE_WCTRANS_T.
13993         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
13994
13995 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
13996
13997         flock: fix license typo
13998
13999         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
14000         omitted.
14001
14002 2011-02-08  Bruno Haible  <bruno@clisp.org>
14003
14004         Split large sed scripts, for HP-UX sed.
14005         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
14006         to avoid HP-UX limit of 99 commands, in the near future.
14007         * modules/stdlib (Makefile.am): Likewise.
14008         * modules/unistd (Makefile.am): Likewise.
14009         * modules/wchar (Makefile.am): Likewise.
14010         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
14011         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
14012         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
14013
14014 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
14015             Bruno Haible  <bruno@clisp.org>
14016
14017         stdlib: improve random_r modularization
14018         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
14019         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
14020         you also need the random_r module to get this material right.
14021         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
14022         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
14023         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
14024
14025 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
14026
14027         stdlib: don't depend on stdint
14028         * lib/stdlib.in.h: Don't include <stdint.h> merely because
14029         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
14030         be independent of whether stdint.h is needed.
14031         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
14032         here, instead of ...
14033         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
14034         struct random_data should be using the random_r module, not just
14035         the stdlib module (which wouldn't make sense: what package needs
14036         just struct random_data without also needing random_r?).
14037         * modules/stdlib (Depends-on): Remove stdint.
14038
14039         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
14040         See the thread rooted at
14041         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
14042         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
14043         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
14044         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
14045         __VMS)); previously it was always included (via fcntl--.h).
14046         (getloadavg): Do not use c_strtod.  Instead, approximate it by
14047         hand; this is good enough for load averages.  Also, do not use
14048         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
14049         flags directly if available and don't bother otherwise.  (Packages
14050         that need the extra reliability should use the modules that define
14051         these flags on older platforms that lack them.)
14052         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
14053         fcntl-safer.
14054
14055 2011-02-08  Jim Meyering  <meyering@redhat.com>
14056
14057         di-set.h, ino-map.h: add multiple-inclusion guard
14058         Technically, the guard is required only for ino-map.h, due to its
14059         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
14060         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
14061         * lib/ino-map.h: Likewise.
14062
14063 2011-02-06  Bruno Haible  <bruno@clisp.org>
14064
14065         iswblank: Ensure declaration on glibc systems.
14066         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
14067         * modules/iswblank (Dependencies): Add 'extensions'.
14068         * doc/posix-functions/iswblank.texi: Document the glibc problem.
14069
14070 2011-02-06  Bruno Haible  <bruno@clisp.org>
14071
14072         New module 'iswblank'.
14073         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
14074         * modules/iswblank: New file.
14075         * modules/wctype-h (Files): Remove lib/iswblank.c.
14076         (Makefile.am): Substitute GNULIB_ISWBLANK.
14077         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
14078         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
14079         (gl_WCTYPE_H_DEFAULTS): New macro.
14080         (gl_WCTYPE_H): Require it. Remove iswblank related code.
14081         * modules/iswblank-tests: New file.
14082         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
14083         * tests/test-wctype-h.c (main): Remove iswblank tests.
14084         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
14085         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
14086         of 'wctype-h'.
14087         * NEWS: Mention the change.
14088         * modules/mbchar (Depends-on): Add iswblank.
14089
14090 2011-02-08  Bruno Haible  <bruno@clisp.org>
14091
14092         di-set tests: Refactor.
14093         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
14094         unnecessary includes.
14095         (ASSERT): Remove macro.
14096         (main): Make C90 compliant by avoiding variable declaration after
14097         statement.
14098         * modules/di-set-tests (Files): Add tests/macros.h.
14099
14100 2011-02-08  Bruno Haible  <bruno@clisp.org>
14101
14102         ino-map tests: Refactor.
14103         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
14104         unnecessary includes.
14105         (ASSERT): Remove macro.
14106         (main): Make C90 compliant by avoiding variable declaration after
14107         statement.
14108         * modules/ino-map-tests (Files): Add tests/macros.h.
14109
14110 2011-02-08  Jim Meyering  <meyering@redhat.com>
14111
14112         di-set: add "const" to a cast
14113         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
14114         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
14115
14116 2011-02-06  Bruno Haible  <bruno@clisp.org>
14117
14118         Rename module 'wctype' to 'wctype-h'.
14119         * modules/wctype-h: Renamed from modules/wctype.
14120         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
14121         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
14122         (Files, Depends-on, Makefile.am): Update.
14123         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
14124         (Files, Makefile.am): Update.
14125         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
14126         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
14127         * doc/posix-headers/wctype.texi: Update.
14128         * doc/posix-functions/iswalnum.texi: Update.
14129         * doc/posix-functions/iswalpha.texi: Update.
14130         * doc/posix-functions/iswblank.texi: Update.
14131         * doc/posix-functions/iswcntrl.texi: Update.
14132         * doc/posix-functions/iswdigit.texi: Update.
14133         * doc/posix-functions/iswgraph.texi: Update.
14134         * doc/posix-functions/iswlower.texi: Update.
14135         * doc/posix-functions/iswprint.texi: Update.
14136         * doc/posix-functions/iswpunct.texi: Update.
14137         * doc/posix-functions/iswspace.texi: Update.
14138         * doc/posix-functions/iswupper.texi: Update.
14139         * doc/posix-functions/iswxdigit.texi: Update.
14140         * doc/posix-functions/towlower.texi: Update.
14141         * doc/posix-functions/towupper.texi: Update.
14142         * NEWS: Mention the change.
14143         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
14144         * modules/mbchar (Dependencies): Likewise.
14145         * modules/mbswidth (Dependencies): Likewise.
14146         * modules/quotearg (Dependencies): Likewise.
14147         * modules/regex (Dependencies): Likewise.
14148         * modules/wcscasecmp (Dependencies): Likewise.
14149         * modules/wcsncasecmp (Dependencies): Likewise.
14150         * modules/wcwidth (Dependencies): Likewise.
14151
14152 2011-02-06  Bruno Haible  <bruno@clisp.org>
14153
14154         New module 'wcswidth'.
14155         * modules/wcswidth: New file.
14156         * lib/wchar.in.h (wcswidth): New declaration.
14157         * lib/wcswidth.c: New file.
14158         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
14159         * m4/wcswidth.m4: New file.
14160         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
14161         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
14162         REPLACE_WCSWIDTH.
14163         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
14164         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
14165         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
14166         * doc/posix-functions/wcswidth.texi: Mention the new module.
14167
14168 2011-02-06  Bruno Haible  <bruno@clisp.org>
14169
14170         New module 'wcstok'.
14171         * modules/wcstok: New file.
14172         * lib/wchar.in.h (wcstok): New declaration.
14173         * lib/wcstok.c: New file.
14174         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
14175         * m4/wcstok.m4: New file.
14176         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
14177         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
14178         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
14179         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
14180         * doc/posix-functions/wcstok.texi: Mention the new module.
14181
14182 2011-02-06  Bruno Haible  <bruno@clisp.org>
14183
14184         New module 'wcsstr'.
14185         * modules/wcsstr: New file.
14186         * lib/wchar.in.h (wcsstr): New declaration.
14187         * lib/wcsstr.c: New file.
14188         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
14189         * m4/wcsstr.m4: New file.
14190         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
14191         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
14192         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
14193         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
14194         * doc/posix-functions/wcsstr.texi: Mention the new module.
14195
14196 2011-02-06  Bruno Haible  <bruno@clisp.org>
14197
14198         New module 'wcspbrk'.
14199         * modules/wcspbrk: New file.
14200         * lib/wchar.in.h (wcspbrk): New declaration.
14201         * lib/wcspbrk.c: New file.
14202         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
14203         * m4/wcspbrk.m4: New file.
14204         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
14205         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
14206         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
14207         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
14208         * doc/posix-functions/wcspbrk.texi: Mention the new module.
14209
14210 2011-02-06  Bruno Haible  <bruno@clisp.org>
14211
14212         New module 'wcsspn'.
14213         * modules/wcsspn: New file.
14214         * lib/wchar.in.h (wcsspn): New declaration.
14215         * lib/wcsspn.c: New file.
14216         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
14217         * m4/wcsspn.m4: New file.
14218         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
14219         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
14220         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
14221         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
14222         * doc/posix-functions/wcsspn.texi: Mention the new module.
14223
14224 2011-02-06  Bruno Haible  <bruno@clisp.org>
14225
14226         New module 'wcscspn'.
14227         * modules/wcscspn: New file.
14228         * lib/wchar.in.h (wcscspn): New declaration.
14229         * lib/wcscspn.c: New file.
14230         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
14231         * m4/wcscspn.m4: New file.
14232         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
14233         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
14234         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
14235         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
14236         * doc/posix-functions/wcscspn.texi: Mention the new module.
14237
14238 2011-02-06  Bruno Haible  <bruno@clisp.org>
14239
14240         New module 'wcsrchr'.
14241         * modules/wcsrchr: New file.
14242         * lib/wchar.in.h (wcsrchr): New declaration.
14243         * lib/wcsrchr.c: New file.
14244         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
14245         * m4/wcsrchr.m4: New file.
14246         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
14247         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
14248         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
14249         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
14250         * doc/posix-functions/wcsrchr.texi: Mention the new module.
14251
14252 2011-02-06  Bruno Haible  <bruno@clisp.org>
14253
14254         New module 'wcschr'.
14255         * modules/wcschr: New file.
14256         * lib/wchar.in.h (wcschr): New declaration.
14257         * lib/wcschr.c: New file.
14258         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
14259         * m4/wcschr.m4: New file.
14260         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
14261         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
14262         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
14263         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
14264         * doc/posix-functions/wcschr.texi: Mention the new module.
14265
14266 2011-02-06  Bruno Haible  <bruno@clisp.org>
14267
14268         New module 'wcsdup'.
14269         * modules/wcsdup: New file.
14270         * lib/wchar.in.h (wcsdup): New declaration.
14271         * lib/wcsdup.c: New file.
14272         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
14273         * m4/wcsdup.m4: New file.
14274         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
14275         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
14276         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
14277         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
14278         * doc/posix-functions/wcsdup.texi: Mention the new module.
14279
14280 2011-02-06  Bruno Haible  <bruno@clisp.org>
14281
14282         New module 'wcsxfrm'.
14283         * modules/wcsxfrm: New file.
14284         * lib/wchar.in.h (wcsxfrm): New declaration.
14285         * lib/wcsxfrm.c: New file.
14286         * lib/wcsxfrm-impl.h: New file.
14287         * m4/wcsxfrm.m4: New file.
14288         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
14289         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
14290         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
14291         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
14292         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
14293
14294 2011-02-06  Bruno Haible  <bruno@clisp.org>
14295
14296         New module 'wcscoll'.
14297         * modules/wcscoll: New file.
14298         * lib/wchar.in.h (wcscoll): New declaration.
14299         * lib/wcscoll.c: New file.
14300         * lib/wcscoll-impl.h: New file.
14301         * m4/wcscoll.m4: New file.
14302         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
14303         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
14304         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
14305         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
14306         * doc/posix-functions/wcscoll.texi: Mention the new module.
14307
14308 2011-02-06  Bruno Haible  <bruno@clisp.org>
14309
14310         New module 'wcsncasecmp'.
14311         * modules/wcsncasecmp: New file.
14312         * lib/wchar.in.h (wcsncasecmp): New declaration.
14313         * lib/wcsncasecmp.c: New file.
14314         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
14315         * m4/wcsncasecmp.m4: New file.
14316         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
14317         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
14318         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
14319         HAVE_WCSNCASECMP.
14320         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
14321         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
14322
14323 2011-02-06  Bruno Haible  <bruno@clisp.org>
14324
14325         New module 'wcscasecmp'.
14326         * modules/wcscasecmp: New file.
14327         * lib/wchar.in.h (wcscasecmp): New declaration.
14328         * lib/wcscasecmp.c: New file.
14329         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
14330         * m4/wcscasecmp.m4: New file.
14331         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
14332         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
14333         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
14334         HAVE_WCSCASECMP.
14335         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
14336         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
14337
14338 2011-02-05  Bruno Haible  <bruno@clisp.org>
14339
14340         New module 'wcsncmp'.
14341         * modules/wcsncmp: New file.
14342         * lib/wchar.in.h (wcsncmp): New declaration.
14343         * lib/wcsncmp.c: New file.
14344         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
14345         * m4/wcsncmp.m4: New file.
14346         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
14347         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
14348         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
14349         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
14350         * doc/posix-functions/wcsncmp.texi: Mention the new module.
14351
14352 2011-02-05  Bruno Haible  <bruno@clisp.org>
14353
14354         New module 'wcscmp'.
14355         * modules/wcscmp: New file.
14356         * lib/wchar.in.h (wcscmp): New declaration.
14357         * lib/wcscmp.c: New file.
14358         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
14359         * m4/wcscmp.m4: New file.
14360         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
14361         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
14362         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
14363         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
14364         * doc/posix-functions/wcscmp.texi: Mention the new module.
14365
14366 2011-02-05  Bruno Haible  <bruno@clisp.org>
14367
14368         New module 'wcsncat'.
14369         * modules/wcsncat: New file.
14370         * lib/wchar.in.h (wcsncat): New declaration.
14371         * lib/wcsncat.c: New file.
14372         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
14373         * m4/wcsncat.m4: New file.
14374         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
14375         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
14376         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
14377         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
14378         * doc/posix-functions/wcsncat.texi: Mention the new module.
14379
14380 2011-02-05  Bruno Haible  <bruno@clisp.org>
14381
14382         New module 'wcscat'.
14383         * modules/wcscat: New file.
14384         * lib/wchar.in.h (wcscat): New declaration.
14385         * lib/wcscat.c: New file.
14386         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
14387         * m4/wcscat.m4: New file.
14388         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
14389         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
14390         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
14391         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
14392         * doc/posix-functions/wcscat.texi: Mention the new module.
14393
14394 2011-02-05  Bruno Haible  <bruno@clisp.org>
14395
14396         New module 'wcpncpy'.
14397         * modules/wcpncpy: New file.
14398         * lib/wchar.in.h (wcpncpy): New declaration.
14399         * lib/wcpncpy.c: New file.
14400         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
14401         * m4/wcpncpy.m4: New file.
14402         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
14403         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
14404         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
14405         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
14406         * doc/posix-functions/wcpncpy.texi: Mention the new module.
14407
14408 2011-02-05  Bruno Haible  <bruno@clisp.org>
14409
14410         New module 'wcsncpy'.
14411         * modules/wcsncpy: New file.
14412         * lib/wchar.in.h (wcsncpy): New declaration.
14413         * lib/wcsncpy.c: New file.
14414         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
14415         * m4/wcsncpy.m4: New file.
14416         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
14417         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
14418         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
14419         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
14420         * doc/posix-functions/wcsncpy.texi: Mention the new module.
14421
14422 2011-02-05  Bruno Haible  <bruno@clisp.org>
14423
14424         New module 'wcpcpy'.
14425         * modules/wcpcpy: New file.
14426         * lib/wchar.in.h (wcpcpy): New declaration.
14427         * lib/wcpcpy.c: New file.
14428         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
14429         * m4/wcpcpy.m4: New file.
14430         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
14431         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
14432         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
14433         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
14434         * doc/posix-functions/wcpcpy.texi: Mention the new module.
14435
14436 2011-02-05  Bruno Haible  <bruno@clisp.org>
14437
14438         New module 'wcscpy'.
14439         * modules/wcscpy: New file.
14440         * lib/wchar.in.h (wcscpy): New declaration.
14441         * lib/wcscpy.c: New file.
14442         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
14443         * m4/wcscpy.m4: New file.
14444         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
14445         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
14446         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
14447         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
14448         * doc/posix-functions/wcscpy.texi: Mention the new module.
14449
14450 2011-02-05  Bruno Haible  <bruno@clisp.org>
14451
14452         New module 'wcsnlen'.
14453         * modules/wcsnlen: New file.
14454         * lib/wchar.in.h (wcsnlen): New declaration.
14455         * lib/wcsnlen.c: New file.
14456         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
14457         * m4/wcsnlen.m4: New file.
14458         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
14459         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
14460         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
14461         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
14462         * doc/posix-functions/wcsnlen.texi: Mention the new module.
14463
14464 2011-02-05  Bruno Haible  <bruno@clisp.org>
14465
14466         New module 'wcslen'.
14467         * modules/wcslen: New file.
14468         * lib/wchar.in.h (wcslen): New declaration.
14469         * lib/wcslen.c: New file.
14470         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
14471         * m4/wcslen.m4: New file.
14472         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
14473         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
14474         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
14475         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
14476         * doc/posix-functions/wcslen.texi: Mention the new module.
14477
14478 2011-02-05  Bruno Haible  <bruno@clisp.org>
14479
14480         New module 'wmemset'.
14481         * modules/wmemset: New file.
14482         * lib/wchar.in.h (wmemset): New declaration.
14483         * lib/wmemset.c: New file.
14484         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
14485         * m4/wmemset.m4: New file.
14486         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
14487         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
14488         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
14489         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
14490         * doc/posix-functions/wmemset.texi: Mention the new module.
14491
14492 2011-02-05  Bruno Haible  <bruno@clisp.org>
14493
14494         New module 'wmemmove'.
14495         * modules/wmemmove: New file.
14496         * lib/wchar.in.h (wmemmove): New declaration.
14497         * lib/wmemmove.c: New file.
14498         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
14499         * m4/wmemmove.m4: New file.
14500         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
14501         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
14502         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
14503         HAVE_WMEMMOVE.
14504         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
14505         * doc/posix-functions/wmemmove.texi: Mention the new module.
14506
14507 2011-02-05  Bruno Haible  <bruno@clisp.org>
14508
14509         New module 'wmemcpy'.
14510         * modules/wmemcpy: New file.
14511         * lib/wchar.in.h (wmemcpy): New declaration.
14512         * lib/wmemcpy.c: New file.
14513         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
14514         * m4/wmemcpy.m4: New file.
14515         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
14516         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
14517         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
14518         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
14519         * doc/posix-functions/wmemcpy.texi: Mention the new module.
14520
14521 2011-02-05  Bruno Haible  <bruno@clisp.org>
14522
14523         New module 'wmemcmp'.
14524         * modules/wmemcmp: New file.
14525         * lib/wchar.in.h (wmemcmp): New declaration.
14526         * lib/wmemcmp.c: New file.
14527         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
14528         * m4/wmemcmp.m4: New file.
14529         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
14530         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
14531         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
14532         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
14533         * doc/posix-functions/wmemcmp.texi: Mention the new module.
14534
14535 2011-02-07  Jim Meyering  <meyering@redhat.com>
14536
14537         di-set, ino-map: new modules, from coreutils
14538         * lib/di-set.c: New file.
14539         * lib/di-set.h: Likewise.
14540         * lib/ino-map.c: Likewise.
14541         * lib/ino-map.h: Likewise.
14542         * modules/di-set: Likewise.
14543         * modules/di-set-tests: Likewise.
14544         * modules/ino-map: Likewise.
14545         * modules/ino-map-tests: Likewise.
14546         * tests/test-di-set.c: Likewise.
14547         * tests/test-ino-map.c: Likewise.
14548
14549 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
14550
14551         getloadavg: merge minor changes from Emacs
14552
14553         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
14554         (getloadavg): Use memset, not bzero.
14555
14556         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
14557         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
14558         clash (bug#86).
14559
14560 2010-11-14  Bruno Haible  <bruno@clisp.org>
14561
14562         Allow multiple gnulib generated replacements to coexist.
14563         * lib/getopt.in.h (struct option): Avoid identical redefinition.
14564         * lib/inttypes.in.h (imaxdiv_t): Likewise.
14565         * lib/langinfo.in.h (nl_item): Likewise.
14566         * lib/math.in.h (_NaN, NAN): Likewise.
14567         * lib/netdb.in.h (struct addrinfo): Likewise.
14568         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
14569         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
14570         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
14571         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
14572         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
14573         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
14574         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
14575         pthread_mutexattr_init, pthread_mutexattr_settype,
14576         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
14577         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
14578         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
14579         pthread_spin_trylock, pthread_spin_unlock): Likewise.
14580         * lib/sched.in.h (struct sched_param): Likewise.
14581         * lib/se-selinux.in.h (security_class_t, security_context_t,
14582         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
14583         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
14584         lsetfilecon, fsetfilecon, security_check_context,
14585         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
14586         Likewise.
14587         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
14588         Likewise.
14589         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
14590         _gl_function_taking_int_returning_void_t, union sigval,
14591         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
14592         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
14593         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
14594         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
14595         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
14596         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
14597         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
14598         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
14599         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
14600         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
14601         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
14602         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
14603         socklen_t, rpl_fd_isset): Likewise.
14604         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
14605         * lib/sys_time.in.h (struct timeval): Likewise.
14606         * lib/sys_times.in.h (struct tms): Likewise.
14607         * lib/sys_utsname.in.h (struct utsname):
14608         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
14609         * lib/unistd.in.h (getpagesize): Likewise.
14610         * lib/wchar.in.h (mbstate_t): Likewise.
14611         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
14612         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
14613         towlower, towupper): Likewise.
14614         Reported by Sam Steingold <sds@gnu.org>.
14615
14616 2011-02-05  Eric Blake  <eblake@redhat.com>
14617
14618         unsetenv: work around Haiku issues
14619         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
14620         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
14621
14622 2010-12-30  Bruce Korb  <bkorb@gnu.org>
14623
14624         libposix: avoid calling error() within libposix
14625         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
14626         is defined.
14627
14628 2011-02-05  Eric Blake  <eblake@redhat.com>
14629
14630         strerror_r-posix: port to cygwin
14631         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
14632         implementation.
14633         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
14634         * tests/test-strerror_r.c (main): Fix test.
14635         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
14636         issue.
14637
14638 2011-02-05  Bruno Haible  <bruno@clisp.org>
14639
14640         New module 'wmemchr'.
14641         * modules/wmemchr: New file.
14642         * lib/wchar.in.h (wmemchr): New declaration.
14643         * lib/wmemchr.c: New file.
14644         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
14645         * m4/wmemchr.m4: New file.
14646         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
14647         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
14648         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
14649         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
14650         * doc/posix-functions/wmemchr.texi: Mention the new module.
14651
14652 2011-02-04  Eric Blake  <eblake@redhat.com>
14653
14654         fdopendir: detect FreeBSD bug
14655         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
14656         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
14657
14658 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
14659
14660         stdbool: do not define HAVE_STDBOOL_H
14661         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
14662         AC_HEADER_STDBOOL.  All uses changed.  Do not define
14663         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
14664         imported from the latest Autoconf git.  It was motivated by Emacs,
14665         which uses gnulib but does not need HAVE_STDBOOL_H.
14666
14667 2011-02-04  Bruno Haible  <bruno@clisp.org>
14668
14669         wcsnrtombs: Prepare for new module wwcsnrtombs.
14670         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
14671         * lib/wcsnrtombs.c: Include it.
14672         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
14673
14674         wcsrtombs: Prepare for new module wwcsrtombs.
14675         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
14676         * lib/wcsrtombs.c: Include it.
14677         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
14678
14679         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
14680         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
14681         * lib/mbsnrtowcs.c: Include it.
14682         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
14683
14684         mbsrtowcs: Prepare for new module mbsrtowwcs.
14685         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
14686         * lib/mbsrtowcs.c: Include it.
14687         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
14688
14689 2011-02-04  Bruno Haible  <bruno@clisp.org>
14690
14691         vasnprintf: Reduce use of malloc for small format strings.
14692         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
14693         (arguments): Add room for the first 7 arguments.
14694         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
14695         (char_directives, u8_directives, u16_directives, u32_directives): Add
14696         room for the first 7 directives.
14697         * lib/printf-parse.c: Include <string.h>.
14698         (PRINTF_PARSE): Change memory handling code so that it uses the first
14699         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
14700         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
14701         Reported by Pádraig Brady <P@draigbrady.com>.
14702
14703 2011-01-31  Eric Blake  <eblake@redhat.com>
14704
14705         dup2: work around Haiku bug
14706         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
14707         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
14708         * doc/posix-functions/dup2.texi (dup2): Document the bug.
14709         * tests/test-dup2.c (main): Enhance test.
14710
14711 2011-01-31  Simon Josefsson  <simon@josefsson.org>
14712
14713         doc: off_t is not available in eglibc 2.11.2 stdio.h.
14714         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
14715         declared by eglibc 2.11.2.
14716         * lib/stdio.in.h: Likewise.
14717
14718 2011-01-31  Eric Blake  <eblake@redhat.com>
14719
14720         ignore-value: add missing test dependency
14721         * tests/test-ignore-value.c: Revert previous change; stdio.h
14722         provides off_t.
14723         * modules/ignore-value-tests (Depends-on): Add missing dependency.
14724
14725 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
14726
14727         mktime: clarify long_int width checking
14728         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
14729         the top level, to make it clearer that the assumption about
14730         long_int width is being checked.  See
14731         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
14732
14733 2011-01-30  Simon Josefsson  <simon@josefsson.org>
14734
14735         ignore-value: Fix self-test.
14736         * tests/test-ignore-value.c: Include sys/types.h for off_t.
14737
14738 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
14739
14740         TYPE_MAXIMUM: avoid theoretically undefined behavior
14741         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
14742         negative number, which the C Standard says has undefined behavior.
14743         In practice this is not a problem, but might as well do it by the book.
14744         Reported by Rich Felker and Eric Blake; see
14745         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
14746         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
14747         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
14748         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
14749         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
14750         * m4/stdint.m4 (gl_STDINT_H): Likewise.
14751         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
14752
14753         mktime: #undef mktime before #defining it
14754         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
14755
14756         mktime: systematically normalize tm_isdst comparisons
14757         * lib/mktime.c (isdst_differ): New function.
14758         (__mktime_internal): Use it systematically for all isdst comparisons.
14759         This completes the fix for libc BZ #6723, and removes the need for
14760         normalizing tm_isdst.  See
14761         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
14762         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
14763
14764         mktime: fix some integer overflow issues and sidestep the rest
14765
14766         This was prompted by a bug report by Benjamin Lindner for MinGW
14767         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
14768         His bug is due to signed integer overflow (0 - INT_MIN), and I
14769         I scanned through mktime.c looking for other integer overflow
14770         problems, fixing all the bugs I found.
14771
14772         Although the C Standard says the resulting code is still not safe
14773         in the presence of integer overflow, in practice it should be good
14774         enough for all real-world two's-complement implementations, except
14775         for debugging environments that deliberately trap on integer
14776         overflow (e.g., gcc -ftrapv).
14777
14778         * lib/mktime.c (WRAPV): New macro.
14779         (SHR): Also check that long_int and time_t shift right in the
14780         usual way, before using the fast-but-unportable method.
14781         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
14782         used.  The code already assumed two's complement, so there's
14783         no need to test for alternatives.  All uses removed.
14784         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
14785         the C standard.  Problem reported by Rich Felker in
14786         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
14787         (twos_complement_arithmetic): Also check long_int and time_t.
14788         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
14789         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
14790         (__mktime_internal): Avoid integer overflow with unary subtraction
14791         in two instances where -1 - X is an adequate replacement for -X,
14792         since the calculations are approximate.
14793
14794 2011-01-29  Eric Blake  <eblake@redhat.com>
14795
14796         mktime: avoid infinite loop
14797         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
14798         type; behavior is still undefined but portable to all known targets.
14799         Reported by Rich Felker.
14800
14801 2011-01-29  Simon Josefsson  <simon@josefsson.org>
14802
14803         rename, unlink, same-inode: Relicense.
14804         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
14805         * modules/unlink (License): Likewise.
14806         * modules/same-inode (License): Likewise.
14807
14808 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
14809
14810         mktime: avoid problems on NetBSD 5 / i386
14811         * lib/mktime.c (long_int): New type.  This works around a problem
14812         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
14813         but time_t is 64 bits, and where I expect the existing code is
14814         wrong in some cases.
14815         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
14816         (ydhms_diff): Bring back the compile-time check for wide-enough
14817         year and yday.
14818
14819         mktime: fix misspelling in comment
14820         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
14821         This merges all recent glibc changes of importance.
14822
14823 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14824
14825         move-if-change: cope with concurrent mv of identical file.
14826         * build-aux/move-if-change (CMPPROG): Accept environment
14827         variable as an override for `cmp'.
14828         (usage): Document CMPPROG.
14829         Adjust comparison to drop stdout.  Cope with failure of mv if
14830         the target file exists and is identical to the source, for
14831         parallel builds.
14832         Report from H.J. Lu against binutils in PR binutils/12283.
14833
14834 2011-01-28  Bruce Korb  <bkorb@gnu.org>
14835
14836         * users.txt: Mention sharutils.
14837
14838 2011-01-28  Simon Josefsson  <simon@josefsson.org>
14839
14840         * users.txt: Mention OATH Toolkit.
14841
14842 2011-01-27  Bruno Haible  <bruno@clisp.org>
14843
14844         Prepare for supporting FreeBSD 10.
14845         * build-aux/config.libpath: Remove handling of freebsd1*.
14846
14847 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
14848
14849         Prepare for supporting FreeBSD 10.
14850         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
14851         match FreeBSD 10.0.
14852
14853 2011-01-27  Bruno Haible  <bruno@clisp.org>
14854
14855         vma-iter, get-rusage-as: Add OpenBSD support.
14856         * modules/vma-iter (configure.ac): Test for mquery.
14857         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
14858         * lib/vma-iter.c: Include <sys/mman.h>.
14859         (vma_iterate): Add an implementation based on mquery().
14860         * lib/resource-ext.h (get_rusage_as): Update comments.
14861         * lib/get-rusage-as.c: Likewise.
14862         * lib/get-rusage-data.c: Likewise.
14863
14864 2011-01-26  Karl Berry  <karl@gnu.org>
14865
14866         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
14867         variables to make it easier to override the makeinfo program used.
14868
14869 2011-01-26  Eric Blake  <eblake@redhat.com>
14870
14871         fcntl: work around Haiku F_DUPFD bugs
14872         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
14873         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
14874         cloexec bit on duplication.
14875         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
14876
14877 2011-01-26  Bruno Haible  <bruno@clisp.org>
14878
14879         Enable memory leak tests on AIX.
14880         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
14881         * tests/test-fprintf-posix3.c (main): Likewise.
14882
14883 2011-01-26  Bruno Haible  <bruno@clisp.org>
14884
14885         Tests for module 'get-rusage-data'.
14886         * modules/get-rusage-data-tests: New file.
14887         * tests/test-get-rusage-data.c: New file.
14888
14889         New module 'get-rusage-data'.
14890         * lib/resource-ext.h (get_rusage_data): New declaration.
14891         * lib/get-rusage-data.c: New file.
14892         * modules/get-rusage-data: New file.
14893
14894 2011-01-25  Bruno Haible  <bruno@clisp.org>
14895
14896         get-rusage-as: Allow for easier testing.
14897         * lib/resource-ext.h (get_rusage_as): Add comment.
14898         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
14899         (main): New function for interactive testing.
14900
14901 2011-01-25  Bruno Haible  <bruno@clisp.org>
14902
14903         vma-iter: Treat Haiku like BeOS.
14904         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
14905         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
14906
14907 2011-01-25  Eric Blake  <eblake@redhat.com>
14908
14909         c-stack: fix regression on cygwin when libsigsegv is present
14910         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
14911
14912 2011-01-24  Bruno Haible  <bruno@clisp.org>
14913
14914         vma-iter: Avoid empty intervals.
14915         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
14916         on an empty interval.
14917
14918 2011-01-24  Jim Meyering  <meyering@redhat.com>
14919
14920         u64: remove unnecessary #include
14921         * lib/u64.h: Don't include <stddef.h>.  It was not used.
14922
14923 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
14924
14925         Allow the user to avoid the HAVE_RAW_DECL_* macros.
14926         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
14927
14928 2011-01-23  Bruno Haible  <bruno@clisp.org>
14929
14930         New module 'vma-iter'.
14931         * lib/vma-iter.h: New file.
14932         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
14933         * modules/vma-iter: New file.
14934         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
14935         for get_rusage_as_via_iterator.
14936         (vma_iterate_callback): New function.
14937         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
14938         * modules/get-rusage-as (Depends-on): Add vma-iter.
14939
14940 2011-01-23  Bruno Haible  <bruno@clisp.org>
14941
14942         uninorm: Tweak includes.
14943         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
14944         Reported by Jim Meyering.
14945
14946 2011-01-23  Bruno Haible  <bruno@clisp.org>
14947
14948         get-rusage-as: Improve on NetBSD.
14949         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
14950         /proc, like on FreeBSD.
14951
14952 2011-01-23  Jim Meyering  <meyering@redhat.com>
14953
14954         xreadlink.h: remove unnecessary #include
14955         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
14956
14957         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
14958         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
14959
14960 2011-01-23  Bruno Haible  <bruno@clisp.org>
14961
14962         get-rusage-as: Fix bug.
14963         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
14964         original limit when aborting the first loop.
14965
14966 2011-01-23  Bruno Haible  <bruno@clisp.org>
14967
14968         wctype: Ensure valid C syntax.
14969         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
14970         unconditionally, instead of gl_NEXT_HEADERS conditionally.
14971
14972 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
14973
14974         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
14975         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
14976         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
14977         as they are needed only for configure's test case.
14978         This removes two unnecessary symbols from config.h.
14979
14980         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
14981         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
14982         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
14983         AC_CHECK_HEADERS_ONCE on a header that we also invoke
14984         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
14985         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
14986         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
14987         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
14988         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
14989         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
14990         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
14991         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
14992         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
14993         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
14994         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
14995         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
14996         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
14997         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
14998
14999 2011-01-21  Eric Blake  <eblake@redhat.com>
15000
15001         maintainer-makefile: work with older git for submodule check
15002         * top/maint.mk (public-submodule-commit): Rewrite to avoid
15003         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
15004         Reported by Matthias Bolte.
15005
15006         bootstrap: minor portability fixes
15007         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
15008         (usage): Omit leading capital and trailing . on help phrases, per
15009         GNU Coding Standards.
15010         (check_versions, top level): Prefix messages with script name.
15011
15012 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
15013
15014         bootstrap: support --no-git option
15015         * build-aux/bootstrap: Add --no-git option, to be used when
15016         --gnulib-srcdir points to the exact desired checkout.
15017
15018 2011-01-21  Eric Blake  <eblake@redhat.com>
15019
15020         strerror_r-posix: work with glibc 2.13
15021         * lib/strerror_r.c (strerror_r): Fix return type.
15022
15023 2011-01-21  Pádraig Brady  <P@draigBrady.com>
15024             Bruno Haible  <bruno@clisp.org>
15025
15026         uN_strstr: New unit tests.
15027         * modules/unistr/u8-strstr-tests: New file.
15028         * modules/unistr/u16-strstr-tests: New file.
15029         * modules/unistr/u32-strstr-tests: New file.
15030         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
15031         * tests/unistr/test-u8-strstr.c: New file.
15032         * tests/unistr/test-u16-strstr.c: New file.
15033         * tests/unistr/test-u32-strstr.c: New file.
15034
15035 2011-01-21  Pádraig Brady  <P@draigBrady.com>
15036             Bruno Haible  <bruno@clisp.org>
15037
15038         Make uN_strstr functions O(n) worst-case.
15039         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
15040         16-bit and 32-bit unit cases, use the unibyte algorithm from
15041         lib/mbsstr.c.
15042         * lib/unistr/u8-strstr.c: Include <string.h>.
15043         (UNIT_IS_UINT8_T): New macro.
15044         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
15045         (U_STRLEN, U_STRNLEN): New macros.
15046         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
15047         (U_STRLEN, U_STRNLEN): New macros.
15048         * modules/unistr/u8-strstr (Depends-on): Add strstr.
15049         (configure.ac): Update required libunistring version.
15050         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
15051         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
15052         malloca.
15053         (configure.ac): Update required libunistring version.
15054         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
15055         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
15056         malloca.
15057         (configure.ac): Update required libunistring version.
15058
15059 2011-01-21  Pádraig Brady  <P@draigBrady.com>
15060             Bruno Haible  <bruno@clisp.org>
15061
15062         Prepare for faster uN_strstr functions.
15063         * lib/str-kmp.h: Support definable UNITs.
15064         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
15065         needle_len argument.
15066         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
15067         * lib/mbscasestr.c (mbscasestr): Likewise.
15068
15069 2011-01-21  Pádraig Brady <P@draigBrady.com>
15070
15071         malloca-tests: make faster by unsetting MALLOC_PERTURB_
15072         * tests/test-malloca.c (main): Unset the environment variable
15073         to greatly speed up the test.
15074         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
15075         * modules/malloca-tests: Depend on unsetenv.
15076
15077 2011-01-21  Pádraig Brady <P@draigBrady.com>
15078
15079         ignore-value: remove stdint dependency
15080         * lib/ignore-value.h: Remove <stdint.h>
15081         * modules/ignore-value: Remove stdint dependency.
15082
15083 2011-01-21  Jim Meyering  <meyering@redhat.com>
15084
15085         maint.mk: adjust variable name to be consistent with other gl_ vars
15086         * top/maint.mk (gl_public_submodule_commit): Rename the variable
15087         to be lower case.
15088
15089 2011-01-20  Jim Meyering  <meyering@redhat.com>
15090
15091         maint.mk: make "check" depend on public-submodule-commit by default
15092         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
15093
15094 2011-01-20  Bruno Haible  <bruno@clisp.org>
15095
15096         mbfile, mbiter: Complete change from 2008-12-21.
15097         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
15098         * m4/mbiter.m4 (gl_MBITER): Likewise.
15099
15100 2011-01-20  Jim Meyering  <meyering@redhat.com>
15101
15102         init.sh: insert space between each function name and "()"
15103         * tests/init.sh: Make it a little easier to see that a function's
15104         name is "warn_", and not "warn" when looking at the first part of
15105         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
15106
15107 2011-01-20  Jim Meyering  <meyering@redhat.com>
15108
15109         mountlist: clean up code formatting
15110         * lib/mountlist.c (read_file_system_list): Split a long line,
15111         correct bracing style, use NULL in place of "(struct statfs *)0",
15112         don't parenthesize return value, add spaces around "=" and after
15113         ";-in-for-stmt".
15114
15115 2011-01-14  Markus Duft <mduft@gentoo.org>
15116
15117         mountlist: add support for Interix
15118         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
15119         Apply statvfs to all entries of /dev/fs.
15120         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
15121         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
15122
15123 2011-01-20  Jim Meyering  <meyering@redhat.com>
15124
15125         maint.mk: improve the public-submodule-commit rule
15126         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
15127         to suppress printing of its commands... unless V=1.
15128         Add git submodule's --quiet option to suppress printing of e.g.,
15129         "Entering gnulib" output.
15130         "cd" into $(srcdir) before running git submodule.
15131
15132 2011-01-20  Bruno Haible  <bruno@clisp.org>
15133
15134         include_next: Fix bug introduced on 2011-01-18.
15135         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
15136         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
15137         ac_cv_header_... variable if the second argument is not 'check'.
15138         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
15139         gl_NEXT_HEADERS_INTERNAL.
15140
15141 2011-01-20  Bruno Haible  <bruno@clisp.org>
15142
15143         Allow the user to avoid the GNULIB_TEST_* macros.
15144         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
15145         Suggested by Paul Eggert.
15146
15147 2011-01-14  Jim Meyering  <meyering@redhat.com>
15148
15149         bootstrap: avoid failure when there is no .gitmodules file
15150         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
15151         has been assigned to, even when its value is the empty string.
15152         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
15153         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
15154         Reported by John W. Eaton <jwe@gnu.org>.
15155
15156 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
15157
15158         assume <ctype.h>, ..., <time.h> exist
15159         For years gnulib has been assuming the existence of the headers
15160         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
15161         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
15162         them, since they don't appear to be needed.
15163         * README (Portability guidelines): Document this.
15164         * lib/flock.c: Assume <fcntl.h> exists.
15165         * lib/regex_internal.h: Assume <locale.h> exists.
15166         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
15167         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
15168         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
15169         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
15170         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
15171         * m4/regex.m4 (gl_REGEX): Likewise.
15172         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
15173         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
15174         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
15175         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
15176         * tests/test-argp.c: Likewise.
15177         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
15178
15179         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
15180         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
15181         AA_APPLE_UNIVERSAL_BUILD.  See
15182         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
15183         * NEWS: Document this.
15184
15185 2011-01-19  Eric Blake  <eblake@redhat.com>
15186
15187         c-stack: assume stack overflow if SA_SIGINFO unsupported
15188         * lib/c-stack.c (SIGACTION_WORKS): Rename...
15189         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
15190         sigaction will work.
15191         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
15192         behavior match Linux.
15193         * tests/test-c-stack.c (main): Prefer NULL for pointers.
15194
15195         stdbool-tests: accomodate Haiku
15196         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
15197
15198         binary-io: fix O_TEXT on Haiku
15199         * modules/binary-io (Depends-on): Add fcntl-h.
15200         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
15201         than blindly undefining O_TEXT.
15202         Reported by Scott McCreary.
15203
15204 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
15205
15206         include_next: do not check for standard headers like stddef.h
15207
15208         I found this problem when modifying Emacs to use gnulib.
15209         I noticed that it added HAVE_STDDEF_H to config.h, even though
15210         gnulib always assumes <stddef.h> exists as per README and this
15211         symbol is unnecessary.
15212         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
15213         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
15214         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
15215         faster for headers like stddef.h that are known to exist.
15216         (gl_CHECK_NEXT_HEADERS): Use it.
15217         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
15218         rather than gl_CHECK_NEXT_HEADERS.
15219         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
15220         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
15221
15222 2011-01-18  Eric Blake  <eblake@redhat.com>
15223
15224         ansi-c++-opt: skip C++ dependency style if C++ is unused
15225         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
15226         tests when we know C++ compilation is not desired.
15227         Reported by Scott McCreary.
15228
15229 2011-01-18  Bruno Haible  <bruno@clisp.org>
15230
15231         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
15232         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
15233         (main): Perform test also when getrlimit and setrlimit don't exist or
15234         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
15235         limiting the address space size using setrlimit, compare the address
15236         space size before and after the the test.
15237         * tests/test-dprintf-posix2.c: Likewise.
15238         * tests/test-fprintf-posix3.sh: Update skip messages.
15239         * tests/test-dprintf-posix2.sh: Likewise.
15240         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
15241         * modules/dprintf-posix-tests (Depends-on): Likewise.
15242         Reported by Bruce Korb <bkorb@gnu.org> and
15243         Gary V. Vaughan <gary@gnu.org>.
15244
15245 2011-01-18  Bruno Haible  <bruno@clisp.org>
15246
15247         get-rusage-as: Improvement for Cygwin.
15248         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
15249         areas that are merely reserved.
15250
15251 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
15252
15253         strftime: remove dependencies on multibyte modules
15254
15255         strftime depended on mbrlen, mbsinit, and wchar, but these modules
15256         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
15257         only if __osf__ is defined, and I suspect OSF doesn't need these
15258         other modules.  If my guess is wrong, we'll need to come up with a
15259         variant of strftime that doesn't need the multibyte modules.
15260
15261         I discovered this problem when attempting modify Emacs to use the
15262         strftime module.  With the previous gnulib, this caused Emacs to
15263         need 31 new files, ranging from lib/config.charset to
15264         m4/wint_t.m4.  This was overkill and I expect would be offputting
15265         to the Emacs maintainers.  After this change, only 6 new files are
15266         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
15267         stdbool.m4, and tm_gmtoff.m4.
15268
15269         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
15270         Suggested by Bruno Haible in
15271         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
15272         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
15273         and do not check for wchar.h.
15274         * modules/strftime (Files): Remove m4/mbstate_t.m4.
15275         (Depends-on): Remove mbrlen, mbsinit, wchar.
15276
15277 2011-01-18  Bruno Haible  <bruno@clisp.org>
15278
15279         Tests for module 'get-rusage-as'.
15280         * modules/get-rusage-as-tests: New file.
15281         * tests/test-get-rusage-as.c: New file.
15282
15283         New module 'get-rusage-as'.
15284         * modules/get-rusage-as: New file.
15285         * lib/resource-ext.h: New file.
15286         * lib/get-rusage-as.c: New file.
15287
15288 2011-01-17  Eric Blake  <eblake@redhat.com>
15289
15290         sigaction: relax license from LGPLv3+ to LGPLv2+
15291         * modules/sigaction (License): Relax to LGPLv2+.
15292
15293 2011-01-14  Bruno Haible  <bruno@clisp.org>
15294
15295         filemode: Make function declarations usable in C++ mode.
15296         * lib/filemode.h: Enclose function declarations in extern "C" block.
15297         Reported by John W. Eaton <jwe@gnu.org>.
15298
15299 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
15300
15301         save-cwd: no longer include "xgetcwd.h"
15302         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
15303         This avoids a compilation failure in projects that use save-cwd
15304         without also using the xgetcwd module.
15305
15306 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
15307
15308         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
15309         This is so that a program like Emacs, which needs only dtoastr,
15310         does not have to bother with distributing and compiling ftoastr
15311         and ldtoastr.
15312         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
15313         * modules/dtoastr, modules/ldtoastr: New files.
15314         * modules/ftoastr: Now works just for 'float'.
15315         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
15316         (Makefile.am): Remove ftoastr.h (not needed and no effect),
15317         dtoastr.c, ldtoastr.c.
15318
15319 2011-01-11  Jim Meyering  <meyering@redhat.com>
15320
15321         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
15322         There is no need to work around the lack of the fchdir function,
15323         since gnulib can now provide a replacement when required.
15324         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
15325         * modules/save-cwd (Depends-on): Add fchdir.
15326
15327 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
15328
15329         openat, save-cwd: avoid xmalloc
15330
15331         This removes a direct (but undocumented) dependency of openat on
15332         xalloc, along with an indirect dependency via save-cwd.  It also
15333         removes a dependency of save-cwd on xgetcwd, and thereby
15334         indirectly on xalloc.  This change causes the openat substitute
15335         to fall back on save_cwd when memory is tight, and for save_cwd to
15336         fail instead of dying when memory is tight, but that's good enough.
15337         Problem and initial idea for fix reported by Bastien Roucaries in
15338         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
15339
15340         * lib/openat-proc.c: Include stdlib.h (for malloc), not
15341         xalloc.h (for xmalloc).
15342         (openat_proc_name): Use malloc, not xmalloc.
15343         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
15344         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
15345
15346         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
15347         This avoids heap allocation for file names whose lengths are in
15348         the range 512..1023, with the upper bound increasing to at most
15349         4031 depending on the platform's PATH_MAX.  (We do not want
15350         pathmax.h here as it might supply a non-constant PATH_MAX.)
15351         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
15352         Perhaps they should be moved to malloca.h?
15353         (OPENAT_BUFFER_SIZE): Use them.
15354
15355 2011-01-10  Bruno Haible  <bruno@clisp.org>
15356
15357         doc: Update users.txt.
15358         * users.txt: Add recutils.
15359
15360 2011-01-09  Karl Berry  <karl@gnu.org>
15361
15362         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
15363
15364         * doc/configmake.texi: New file.
15365         * doc/gnulib.texi: Include it.
15366         * modules/configmake: Move documentation from here.
15367
15368 2011-01-09  Bruno Haible  <bruno@clisp.org>
15369
15370         Update to Unicode 6.0.0.
15371         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
15372         (get_lbp): Update for Unicode 6.0.0.
15373         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
15374         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
15375         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
15376         U+11001, U+11038..U+11046. Remove U+06DE.
15377         (uc_width): Fix bounds of planes.
15378         * tests/uniwidth/test-uc_width2.sh: Same updates as in
15379         lib/uniwidth/width.c.
15380         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
15381         trailing whitespace removed.
15382         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
15383         without comments, but with the original copyright notice.
15384         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
15385         * lib/unicase/ignorable.h: Likewise.
15386         * lib/unicase/tocasefold.h: Likewise.
15387         * lib/unicase/tolower.h: Likewise.
15388         * lib/unicase/totitle.h: Likewise.
15389         * lib/unicase/toupper.h: Likewise.
15390         * lib/unictype/bidi_of.h: Likewise.
15391         * lib/unictype/blocks.h: Likewise.
15392         * lib/unictype/categ_C.h: Likewise.
15393         * lib/unictype/categ_Cn.h: Likewise.
15394         * lib/unictype/categ_L.h: Likewise.
15395         * lib/unictype/categ_Ll.h: Likewise.
15396         * lib/unictype/categ_Lm.h: Likewise.
15397         * lib/unictype/categ_Lo.h: Likewise.
15398         * lib/unictype/categ_Lu.h: Likewise.
15399         * lib/unictype/categ_M.h: Likewise.
15400         * lib/unictype/categ_Mc.h: Likewise.
15401         * lib/unictype/categ_Me.h: Likewise.
15402         * lib/unictype/categ_Mn.h: Likewise.
15403         * lib/unictype/categ_N.h: Likewise.
15404         * lib/unictype/categ_Nd.h: Likewise.
15405         * lib/unictype/categ_No.h: Likewise.
15406         * lib/unictype/categ_P.h: Likewise.
15407         * lib/unictype/categ_Po.h: Likewise.
15408         * lib/unictype/categ_S.h: Likewise.
15409         * lib/unictype/categ_Sc.h: Likewise.
15410         * lib/unictype/categ_Sk.h: Likewise.
15411         * lib/unictype/categ_Sm.h: Likewise.
15412         * lib/unictype/categ_So.h: Likewise.
15413         * lib/unictype/categ_of.h: Likewise.
15414         * lib/unictype/combining.h: Likewise.
15415         * lib/unictype/ctype_alnum.h: Likewise.
15416         * lib/unictype/ctype_alpha.h: Likewise.
15417         * lib/unictype/ctype_graph.h: Likewise.
15418         * lib/unictype/ctype_lower.h: Likewise.
15419         * lib/unictype/ctype_print.h: Likewise.
15420         * lib/unictype/ctype_punct.h: Likewise.
15421         * lib/unictype/ctype_upper.h: Likewise.
15422         * lib/unictype/decdigit.h: Likewise.
15423         * lib/unictype/digit.h: Likewise.
15424         * lib/unictype/numeric.h: Likewise.
15425         * lib/unictype/pr_alphabetic.h: Likewise.
15426         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
15427         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
15428         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
15429         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
15430         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
15431         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
15432         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
15433         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
15434         * lib/unictype/pr_case_ignorable.h: Likewise.
15435         * lib/unictype/pr_cased.h: Likewise.
15436         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
15437         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
15438         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
15439         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
15440         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
15441         * lib/unictype/pr_combining.h: Likewise.
15442         * lib/unictype/pr_composite.h: Likewise.
15443         * lib/unictype/pr_currency_symbol.h: Likewise.
15444         * lib/unictype/pr_decimal_digit.h: Likewise.
15445         * lib/unictype/pr_deprecated.h: Likewise.
15446         * lib/unictype/pr_format_control.h: Likewise.
15447         * lib/unictype/pr_grapheme_base.h: Likewise.
15448         * lib/unictype/pr_grapheme_extend.h: Likewise.
15449         * lib/unictype/pr_grapheme_link.h: Likewise.
15450         * lib/unictype/pr_id_continue.h: Likewise.
15451         * lib/unictype/pr_id_start.h: Likewise.
15452         * lib/unictype/pr_ideographic.h: Likewise.
15453         * lib/unictype/pr_lowercase.h: Likewise.
15454         * lib/unictype/pr_math.h: Likewise.
15455         * lib/unictype/pr_numeric.h: Likewise.
15456         * lib/unictype/pr_other_alphabetic.h: Likewise.
15457         * lib/unictype/pr_other_id_continue.h: Likewise.
15458         * lib/unictype/pr_other_math.h: Likewise.
15459         * lib/unictype/pr_punctuation.h: Likewise.
15460         * lib/unictype/pr_sentence_terminal.h: Likewise.
15461         * lib/unictype/pr_terminal_punctuation.h: Likewise.
15462         * lib/unictype/pr_unassigned_code_value.h: Likewise.
15463         * lib/unictype/pr_unified_ideograph.h: Likewise.
15464         * lib/unictype/pr_uppercase.h: Likewise.
15465         * lib/unictype/pr_xid_continue.h: Likewise.
15466         * lib/unictype/pr_xid_start.h: Likewise.
15467         * lib/unictype/scripts.h: Likewise.
15468         * lib/unictype/scripts_byname.gperf: Likewise.
15469         * lib/unictype/sy_java_ident.h: Likewise.
15470         * lib/unigbrk/gbrkprop.h: Likewise.
15471         * lib/unilbrk/lbrkprop1.h: Likewise.
15472         * lib/unilbrk/lbrkprop2.h: Likewise.
15473         * lib/uninorm/decomposition-table2.h: Likewise.
15474         * lib/uniwbrk/wbrkprop.h: Likewise.
15475         * tests/unicase/test-cased.c: Likewise.
15476         * tests/unicase/test-ignorable.c: Likewise.
15477         * tests/unicase/test-uc_tolower.c: Likewise.
15478         * tests/unicase/test-uc_totitle.c: Likewise.
15479         * tests/unicase/test-uc_toupper.c: Likewise.
15480         * tests/unictype/test-categ_C.c: Likewise.
15481         * tests/unictype/test-categ_Cn.c: Likewise.
15482         * tests/unictype/test-categ_L.c: Likewise.
15483         * tests/unictype/test-categ_Ll.c: Likewise.
15484         * tests/unictype/test-categ_Lm.c: Likewise.
15485         * tests/unictype/test-categ_Lo.c: Likewise.
15486         * tests/unictype/test-categ_Lu.c: Likewise.
15487         * tests/unictype/test-categ_M.c: Likewise.
15488         * tests/unictype/test-categ_Mc.c: Likewise.
15489         * tests/unictype/test-categ_Me.c: Likewise.
15490         * tests/unictype/test-categ_Mn.c: Likewise.
15491         * tests/unictype/test-categ_N.c: Likewise.
15492         * tests/unictype/test-categ_Nd.c: Likewise.
15493         * tests/unictype/test-categ_No.c: Likewise.
15494         * tests/unictype/test-categ_P.c: Likewise.
15495         * tests/unictype/test-categ_Po.c: Likewise.
15496         * tests/unictype/test-categ_S.c: Likewise.
15497         * tests/unictype/test-categ_Sc.c: Likewise.
15498         * tests/unictype/test-categ_Sk.c: Likewise.
15499         * tests/unictype/test-categ_Sm.c: Likewise.
15500         * tests/unictype/test-categ_So.c: Likewise.
15501         * tests/unictype/test-ctype_alnum.c: Likewise.
15502         * tests/unictype/test-ctype_alpha.c: Likewise.
15503         * tests/unictype/test-ctype_graph.c: Likewise.
15504         * tests/unictype/test-ctype_lower.c: Likewise.
15505         * tests/unictype/test-ctype_print.c: Likewise.
15506         * tests/unictype/test-ctype_punct.c: Likewise.
15507         * tests/unictype/test-ctype_upper.c: Likewise.
15508         * tests/unictype/test-decdigit.h: Likewise.
15509         * tests/unictype/test-digit.h: Likewise.
15510         * tests/unictype/test-numeric.h: Likewise.
15511         * tests/unictype/test-pr_alphabetic.c: Likewise.
15512         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
15513         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
15514         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
15515         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
15516         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
15517         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
15518         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
15519         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
15520         * tests/unictype/test-pr_case_ignorable.c: Likewise.
15521         * tests/unictype/test-pr_cased.c: Likewise.
15522         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
15523         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
15524         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
15525         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
15526         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
15527         * tests/unictype/test-pr_combining.c: Likewise.
15528         * tests/unictype/test-pr_composite.c: Likewise.
15529         * tests/unictype/test-pr_currency_symbol.c: Likewise.
15530         * tests/unictype/test-pr_decimal_digit.c: Likewise.
15531         * tests/unictype/test-pr_deprecated.c: Likewise.
15532         * tests/unictype/test-pr_format_control.c: Likewise.
15533         * tests/unictype/test-pr_grapheme_base.c: Likewise.
15534         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
15535         * tests/unictype/test-pr_grapheme_link.c: Likewise.
15536         * tests/unictype/test-pr_id_continue.c: Likewise.
15537         * tests/unictype/test-pr_id_start.c: Likewise.
15538         * tests/unictype/test-pr_ideographic.c: Likewise.
15539         * tests/unictype/test-pr_lowercase.c: Likewise.
15540         * tests/unictype/test-pr_math.c: Likewise.
15541         * tests/unictype/test-pr_numeric.c: Likewise.
15542         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
15543         * tests/unictype/test-pr_other_id_continue.c: Likewise.
15544         * tests/unictype/test-pr_other_math.c: Likewise.
15545         * tests/unictype/test-pr_punctuation.c: Likewise.
15546         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
15547         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
15548         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
15549         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
15550         * tests/unictype/test-pr_uppercase.c: Likewise.
15551         * tests/unictype/test-pr_xid_continue.c: Likewise.
15552         * tests/unictype/test-pr_xid_start.c: Likewise.
15553         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
15554         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
15555         changes.
15556         * lib/unictype/categ_Cc.h: Likewise.
15557         * lib/unictype/categ_Cf.h: Likewise.
15558         * lib/unictype/categ_Co.h: Likewise.
15559         * lib/unictype/categ_Cs.h: Likewise.
15560         * lib/unictype/categ_Lt.h: Likewise.
15561         * lib/unictype/categ_Nl.h: Likewise.
15562         * lib/unictype/categ_Pc.h: Likewise.
15563         * lib/unictype/categ_Pd.h: Likewise.
15564         * lib/unictype/categ_Pe.h: Likewise.
15565         * lib/unictype/categ_Pf.h: Likewise.
15566         * lib/unictype/categ_Pi.h: Likewise.
15567         * lib/unictype/categ_Ps.h: Likewise.
15568         * lib/unictype/categ_Z.h: Likewise.
15569         * lib/unictype/categ_Zl.h: Likewise.
15570         * lib/unictype/categ_Zp.h: Likewise.
15571         * lib/unictype/categ_Zs.h: Likewise.
15572         * lib/unictype/ctype_blank.h: Likewise.
15573         * lib/unictype/ctype_cntrl.h: Likewise.
15574         * lib/unictype/ctype_digit.h: Likewise.
15575         * lib/unictype/ctype_space.h: Likewise.
15576         * lib/unictype/ctype_xdigit.h: Likewise.
15577         * lib/unictype/mirror.h: Likewise.
15578         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
15579         * lib/unictype/pr_bidi_block_separator.h: Likewise.
15580         * lib/unictype/pr_bidi_common_separator.h: Likewise.
15581         * lib/unictype/pr_bidi_control.h: Likewise.
15582         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
15583         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
15584         * lib/unictype/pr_bidi_european_digit.h: Likewise.
15585         * lib/unictype/pr_bidi_pdf.h: Likewise.
15586         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
15587         * lib/unictype/pr_bidi_whitespace.h: Likewise.
15588         * lib/unictype/pr_dash.h: Likewise.
15589         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
15590         * lib/unictype/pr_diacritic.h: Likewise.
15591         * lib/unictype/pr_extender.h: Likewise.
15592         * lib/unictype/pr_hex_digit.h: Likewise.
15593         * lib/unictype/pr_hyphen.h: Likewise.
15594         * lib/unictype/pr_ids_binary_operator.h: Likewise.
15595         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
15596         * lib/unictype/pr_ignorable_control.h: Likewise.
15597         * lib/unictype/pr_iso_control.h: Likewise.
15598         * lib/unictype/pr_join_control.h: Likewise.
15599         * lib/unictype/pr_left_of_pair.h: Likewise.
15600         * lib/unictype/pr_line_separator.h: Likewise.
15601         * lib/unictype/pr_logical_order_exception.h: Likewise.
15602         * lib/unictype/pr_non_break.h: Likewise.
15603         * lib/unictype/pr_not_a_character.h: Likewise.
15604         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
15605         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
15606         * lib/unictype/pr_other_id_start.h: Likewise.
15607         * lib/unictype/pr_other_lowercase.h: Likewise.
15608         * lib/unictype/pr_other_uppercase.h: Likewise.
15609         * lib/unictype/pr_paired_punctuation.h: Likewise.
15610         * lib/unictype/pr_paragraph_separator.h: Likewise.
15611         * lib/unictype/pr_pattern_syntax.h: Likewise.
15612         * lib/unictype/pr_pattern_white_space.h: Likewise.
15613         * lib/unictype/pr_private_use.h: Likewise.
15614         * lib/unictype/pr_quotation_mark.h: Likewise.
15615         * lib/unictype/pr_radical.h: Likewise.
15616         * lib/unictype/pr_soft_dotted.h: Likewise.
15617         * lib/unictype/pr_space.h: Likewise.
15618         * lib/unictype/pr_titlecase.h: Likewise.
15619         * lib/unictype/pr_variation_selector.h: Likewise.
15620         * lib/unictype/pr_white_space.h: Likewise.
15621         * lib/unictype/pr_zero_width.h: Likewise.
15622         * lib/unictype/sy_c_ident.h: Likewise.
15623         * lib/unictype/sy_c_whitespace.h: Likewise.
15624         * lib/unictype/sy_java_whitespace.h: Likewise.
15625         * lib/uninorm/composition-table.gperf: Likewise.
15626         * lib/uninorm/decomposition-table1.h: Likewise.
15627         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
15628         LB8.
15629         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
15630         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
15631         * modules/unictype/*: Bump version number of expected libunistring
15632         version.
15633
15634 2011-01-09  Bruno Haible  <bruno@clisp.org>
15635
15636         Update to Unicode 5.2.0.
15637         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
15638         trailing whitespace removed.
15639
15640 2011-01-09  Bruno Haible  <bruno@clisp.org>
15641
15642         New Unicode character properties, from Unicode 5.2.0.
15643         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
15644         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
15645         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
15646         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
15647         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
15648         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
15649         uc_is_property_cased, uc_is_property_case_ignorable,
15650         uc_is_property_changes_when_lowercased,
15651         uc_is_property_changes_when_uppercased,
15652         uc_is_property_changes_when_titlecased,
15653         uc_is_property_changes_when_casefolded,
15654         uc_is_property_changes_when_casemapped): New declarations.
15655         * lib/unictype/pr_byname.gperf: Add the new properties.
15656         * modules/unictype/property-byname (Depends-on): Depend on the new
15657         properties modules.
15658         * modules/unictype/property-all (Depends-on): Likewise.
15659         * MODULES.html.sh (Unicode string functions): Add
15660         unictype/property-case-ignorable, unictype/property-cased,
15661         unictype/property-changes-when-casefolded,
15662         unictype/property-changes-when-casemapped,
15663         unictype/property-changes-when-lowercased,
15664         unictype/property-changes-when-titlecased,
15665         unictype/property-changes-when-uppercased.
15666
15667         New module 'unictype/property-changes-when-casemapped'.
15668         * modules/unictype/property-changes-when-casemapped: New file.
15669         * lib/unictype/pr_changes_when_casemapped.c: New file.
15670         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
15671         generated by gen-uni-tables.
15672         * modules/unictype/property-changes-when-casemapped-tests: New file.
15673         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
15674         automatically generated by gen-uni-tables.
15675
15676         New module 'unictype/property-changes-when-casefolded'.
15677         * modules/unictype/property-changes-when-casefolded: New file.
15678         * lib/unictype/pr_changes_when_casefolded.c: New file.
15679         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
15680         generated by gen-uni-tables.
15681         * modules/unictype/property-changes-when-casefolded-tests: New file.
15682         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
15683         automatically generated by gen-uni-tables.
15684
15685         New module 'unictype/property-changes-when-titlecased'.
15686         * modules/unictype/property-changes-when-titlecased: New file.
15687         * lib/unictype/pr_changes_when_titlecased.c: New file.
15688         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
15689         generated by gen-uni-tables.
15690         * modules/unictype/property-changes-when-titlecased-tests: New file.
15691         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
15692         automatically generated by gen-uni-tables.
15693
15694         New module 'unictype/property-changes-when-uppercased'.
15695         * modules/unictype/property-changes-when-uppercased: New file.
15696         * lib/unictype/pr_changes_when_uppercased.c: New file.
15697         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
15698         generated by gen-uni-tables.
15699         * modules/unictype/property-changes-when-uppercased-tests: New file.
15700         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
15701         automatically generated by gen-uni-tables.
15702
15703         New module 'unictype/property-changes-when-lowercased'.
15704         * modules/unictype/property-changes-when-lowercased: New file.
15705         * lib/unictype/pr_changes_when_lowercased.c: New file.
15706         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
15707         generated by gen-uni-tables.
15708         * modules/unictype/property-changes-when-lowercased-tests: New file.
15709         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
15710         automatically generated by gen-uni-tables.
15711
15712         New module 'unictype/property-case-ignorable'.
15713         * modules/unictype/property-case-ignorable: New file.
15714         * lib/unictype/pr_case_ignorable.c: New file.
15715         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
15716         by gen-uni-tables.
15717         * modules/unictype/property-case-ignorable-tests: New file.
15718         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
15719         generated by gen-uni-tables.
15720
15721         New module 'unictype/property-cased'.
15722         * modules/unictype/property-cased: New file.
15723         * lib/unictype/pr_cased.c: New file.
15724         * lib/unictype/pr_cased.h: New file, automatically generated by
15725         gen-uni-tables.
15726         * modules/unictype/property-cased-tests: New file.
15727         * tests/unictype/test-pr_cased.c: New file, automatically generated by
15728         gen-uni-tables.
15729
15730 2011-01-09  Bruno Haible  <bruno@clisp.org>
15731
15732         Update to Unicode 5.2.0.
15733         * lib/gen-uni-tables.c (output_predicate, output_category,
15734         output_combclass, output_bidi_category, output_decimal_digit_test,
15735         output_decimal_digit, output_digit_test, output_digit,
15736         output_numeric_test, output_numeric, output_mirror, output_scripts,
15737         output_scripts_byname, output_blocks, output_ident_category): Fix
15738         comment header.
15739         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
15740         get_wbp.
15741         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
15742         items.
15743         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
15744         Changes_When_Lowercased, Changes_When_Uppercased,
15745         Changes_When_Titlecased, Changes_When_Casefolded,
15746         Changes_When_Casemapped.
15747         (is_property_alphabetic, is_property_default_ignorable_code_point):
15748         Update for Unicode 5.2.0.
15749         (is_property_cased, is_property_case_ignorable,
15750         is_property_changes_when_lowercased,
15751         is_property_changes_when_uppercased,
15752         is_property_changes_when_titlecased,
15753         is_property_changes_when_casefolded,
15754         is_property_changes_when_casemapped): New functions.
15755         (output_properties): Output also the properties cased, case_ignorable,
15756         changes_when_lowercased, changes_when_uppercased,
15757         changes_when_titlecased, changes_when_casefolded,
15758         changes_when_casemapped.
15759         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
15760         Unicode TR#11 revision 17 -> 19.
15761         (LBP_CP): New enumeration value.
15762         (LBP_*): Adjust values accordingly.
15763         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
15764         TR#14 revision 22 -> 24.
15765         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
15766         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
15767         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
15768         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
15769         is_WBP_MIDLETTER.
15770         (output_composition_tables): Allow for 24 bits instead of 16 bits in
15771         the code1 and code2 of each composition rule.
15772         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
15773         * lib/unicase/ignorable.h: Likewise.
15774         * lib/unicase/tocasefold.h: Likewise.
15775         * lib/unicase/tolower.h: Likewise.
15776         * lib/unicase/totitle.h: Likewise.
15777         * lib/unicase/toupper.h: Likewise.
15778         * lib/unictype/bidi_of.h: Likewise.
15779         * lib/unictype/blocks.h: Likewise.
15780         * lib/unictype/categ_C.h: Likewise.
15781         * lib/unictype/categ_Cf.h: Likewise.
15782         * lib/unictype/categ_Cn.h: Likewise.
15783         * lib/unictype/categ_L.h: Likewise.
15784         * lib/unictype/categ_Ll.h: Likewise.
15785         * lib/unictype/categ_Lm.h: Likewise.
15786         * lib/unictype/categ_Lo.h: Likewise.
15787         * lib/unictype/categ_Lu.h: Likewise.
15788         * lib/unictype/categ_M.h: Likewise.
15789         * lib/unictype/categ_Mc.h: Likewise.
15790         * lib/unictype/categ_Mn.h: Likewise.
15791         * lib/unictype/categ_N.h: Likewise.
15792         * lib/unictype/categ_Nd.h: Likewise.
15793         * lib/unictype/categ_Nl.h: Likewise.
15794         * lib/unictype/categ_No.h: Likewise.
15795         * lib/unictype/categ_P.h: Likewise.
15796         * lib/unictype/categ_Pd.h: Likewise.
15797         * lib/unictype/categ_Po.h: Likewise.
15798         * lib/unictype/categ_S.h: Likewise.
15799         * lib/unictype/categ_Sc.h: Likewise.
15800         * lib/unictype/categ_So.h: Likewise.
15801         * lib/unictype/categ_of.h: Likewise.
15802         * lib/unictype/combining.h: Likewise.
15803         * lib/unictype/ctype_alnum.h: Likewise.
15804         * lib/unictype/ctype_alpha.h: Likewise.
15805         * lib/unictype/ctype_graph.h: Likewise.
15806         * lib/unictype/ctype_lower.h: Likewise.
15807         * lib/unictype/ctype_print.h: Likewise.
15808         * lib/unictype/ctype_punct.h: Likewise.
15809         * lib/unictype/ctype_upper.h: Likewise.
15810         * lib/unictype/decdigit.h: Likewise.
15811         * lib/unictype/digit.h: Likewise.
15812         * lib/unictype/numeric.h: Likewise.
15813         * lib/unictype/pr_alphabetic.h: Likewise.
15814         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
15815         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
15816         * lib/unictype/pr_bidi_european_digit.h: Likewise.
15817         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
15818         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
15819         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
15820         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
15821         * lib/unictype/pr_combining.h: Likewise.
15822         * lib/unictype/pr_composite.h: Likewise.
15823         * lib/unictype/pr_currency_symbol.h: Likewise.
15824         * lib/unictype/pr_dash.h: Likewise.
15825         * lib/unictype/pr_decimal_digit.h: Likewise.
15826         * lib/unictype/pr_deprecated.h: Likewise.
15827         * lib/unictype/pr_diacritic.h: Likewise.
15828         * lib/unictype/pr_extender.h: Likewise.
15829         * lib/unictype/pr_grapheme_base.h: Likewise.
15830         * lib/unictype/pr_grapheme_extend.h: Likewise.
15831         * lib/unictype/pr_grapheme_link.h: Likewise.
15832         * lib/unictype/pr_id_continue.h: Likewise.
15833         * lib/unictype/pr_id_start.h: Likewise.
15834         * lib/unictype/pr_ideographic.h: Likewise.
15835         * lib/unictype/pr_ignorable_control.h: Likewise.
15836         * lib/unictype/pr_logical_order_exception.h: Likewise.
15837         * lib/unictype/pr_lowercase.h: Likewise.
15838         * lib/unictype/pr_numeric.h: Likewise.
15839         * lib/unictype/pr_other_alphabetic.h: Likewise.
15840         * lib/unictype/pr_punctuation.h: Likewise.
15841         * lib/unictype/pr_sentence_terminal.h: Likewise.
15842         * lib/unictype/pr_terminal_punctuation.h: Likewise.
15843         * lib/unictype/pr_unassigned_code_value.h: Likewise.
15844         * lib/unictype/pr_unified_ideograph.h: Likewise.
15845         * lib/unictype/pr_uppercase.h: Likewise.
15846         * lib/unictype/pr_xid_continue.h: Likewise.
15847         * lib/unictype/pr_xid_start.h: Likewise.
15848         * lib/unictype/pr_zero_width.h: Likewise.
15849         * lib/unictype/scripts.h: Likewise.
15850         * lib/unictype/scripts_byname.gperf: Likewise.
15851         * lib/unictype/sy_java_ident.h: Likewise.
15852         * lib/unigbrk/gbrkprop.h: Likewise.
15853         * lib/unilbrk/lbrkprop1.h: Likewise.
15854         * lib/unilbrk/lbrkprop2.h: Likewise.
15855         * lib/unilbrk/lbrktables.h: Likewise.
15856         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
15857         LBP_CP. Implement rule LB30.
15858         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
15859         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
15860         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
15861         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
15862         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
15863         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
15864         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
15865         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
15866         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
15867         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
15868         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
15869         bits instead of 16 bits in the code1 and code2 of each composition
15870         rule.
15871         (uc_composition): Update for Unicode 5.2.0.
15872         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
15873         * lib/uninorm/decomposition-table2.h: Likewise.
15874         * lib/uniwbrk/wbrkprop.h: Likewise.
15875         * tests/unicase/test-cased.c: Likewise.
15876         * tests/unicase/test-ignorable.c: Likewise.
15877         * tests/unicase/test-uc_tolower.c: Likewise.
15878         * tests/unicase/test-uc_totitle.c: Likewise.
15879         * tests/unicase/test-uc_toupper.c: Likewise.
15880         * tests/unictype/test-categ_C.c: Likewise.
15881         * tests/unictype/test-categ_Cf.c: Likewise.
15882         * tests/unictype/test-categ_Cn.c: Likewise.
15883         * tests/unictype/test-categ_L.c: Likewise.
15884         * tests/unictype/test-categ_Ll.c: Likewise.
15885         * tests/unictype/test-categ_Lm.c: Likewise.
15886         * tests/unictype/test-categ_Lo.c: Likewise.
15887         * tests/unictype/test-categ_Lu.c: Likewise.
15888         * tests/unictype/test-categ_M.c: Likewise.
15889         * tests/unictype/test-categ_Mc.c: Likewise.
15890         * tests/unictype/test-categ_Mn.c: Likewise.
15891         * tests/unictype/test-categ_N.c: Likewise.
15892         * tests/unictype/test-categ_Nd.c: Likewise.
15893         * tests/unictype/test-categ_Nl.c: Likewise.
15894         * tests/unictype/test-categ_No.c: Likewise.
15895         * tests/unictype/test-categ_P.c: Likewise.
15896         * tests/unictype/test-categ_Pd.c: Likewise.
15897         * tests/unictype/test-categ_Po.c: Likewise.
15898         * tests/unictype/test-categ_S.c: Likewise.
15899         * tests/unictype/test-categ_Sc.c: Likewise.
15900         * tests/unictype/test-categ_So.c: Likewise.
15901         * tests/unictype/test-ctype_alnum.c: Likewise.
15902         * tests/unictype/test-ctype_alpha.c: Likewise.
15903         * tests/unictype/test-ctype_graph.c: Likewise.
15904         * tests/unictype/test-ctype_lower.c: Likewise.
15905         * tests/unictype/test-ctype_print.c: Likewise.
15906         * tests/unictype/test-ctype_punct.c: Likewise.
15907         * tests/unictype/test-ctype_upper.c: Likewise.
15908         * tests/unictype/test-decdigit.h: Likewise.
15909         * tests/unictype/test-digit.h: Likewise.
15910         * tests/unictype/test-numeric.h: Likewise.
15911         * tests/unictype/test-pr_alphabetic.c: Likewise.
15912         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
15913         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
15914         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
15915         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
15916         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
15917         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
15918         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
15919         * tests/unictype/test-pr_combining.c: Likewise.
15920         * tests/unictype/test-pr_composite.c: Likewise.
15921         * tests/unictype/test-pr_currency_symbol.c: Likewise.
15922         * tests/unictype/test-pr_dash.c: Likewise.
15923         * tests/unictype/test-pr_decimal_digit.c: Likewise.
15924         * tests/unictype/test-pr_deprecated.c: Likewise.
15925         * tests/unictype/test-pr_diacritic.c: Likewise.
15926         * tests/unictype/test-pr_extender.c: Likewise.
15927         * tests/unictype/test-pr_grapheme_base.c: Likewise.
15928         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
15929         * tests/unictype/test-pr_grapheme_link.c: Likewise.
15930         * tests/unictype/test-pr_id_continue.c: Likewise.
15931         * tests/unictype/test-pr_id_start.c: Likewise.
15932         * tests/unictype/test-pr_ideographic.c: Likewise.
15933         * tests/unictype/test-pr_ignorable_control.c: Likewise.
15934         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
15935         * tests/unictype/test-pr_lowercase.c: Likewise.
15936         * tests/unictype/test-pr_numeric.c: Likewise.
15937         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
15938         * tests/unictype/test-pr_punctuation.c: Likewise.
15939         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
15940         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
15941         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
15942         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
15943         * tests/unictype/test-pr_uppercase.c: Likewise.
15944         * tests/unictype/test-pr_xid_continue.c: Likewise.
15945         * tests/unictype/test-pr_xid_start.c: Likewise.
15946         * tests/unictype/test-pr_zero_width.c: Likewise.
15947         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
15948         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
15949         changed behaviour: line breaking is now disallowed between a letter
15950         or '=' and '('.
15951         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
15952         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
15953         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
15954         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
15955         * tests/uniwidth/test-uc_width2.sh: Same updates as in
15956         lib/uniwidth/width.c.
15957         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
15958         without comments, but with the original copyright notice.
15959         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
15960         changes.
15961         * lib/unictype/categ_Cc.h: Likewise.
15962         * lib/unictype/categ_Co.h: Likewise.
15963         * lib/unictype/categ_Cs.h: Likewise.
15964         * lib/unictype/categ_Lt.h: Likewise.
15965         * lib/unictype/categ_Me.h: Likewise.
15966         * lib/unictype/categ_Pc.h: Likewise.
15967         * lib/unictype/categ_Pe.h: Likewise.
15968         * lib/unictype/categ_Pf.h: Likewise.
15969         * lib/unictype/categ_Pi.h: Likewise.
15970         * lib/unictype/categ_Ps.h: Likewise.
15971         * lib/unictype/categ_Sk.h: Likewise.
15972         * lib/unictype/categ_Sm.h: Likewise.
15973         * lib/unictype/categ_Z.h: Likewise.
15974         * lib/unictype/categ_Zl.h: Likewise.
15975         * lib/unictype/categ_Zp.h: Likewise.
15976         * lib/unictype/categ_Zs.h: Likewise.
15977         * lib/unictype/ctype_blank.h: Likewise.
15978         * lib/unictype/ctype_cntrl.h: Likewise.
15979         * lib/unictype/ctype_digit.h: Likewise.
15980         * lib/unictype/ctype_space.h: Likewise.
15981         * lib/unictype/ctype_xdigit.h: Likewise.
15982         * lib/unictype/mirror.h: Likewise.
15983         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
15984         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
15985         * lib/unictype/pr_bidi_block_separator.h: Likewise.
15986         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
15987         * lib/unictype/pr_bidi_common_separator.h: Likewise.
15988         * lib/unictype/pr_bidi_control.h: Likewise.
15989         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
15990         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
15991         * lib/unictype/pr_bidi_pdf.h: Likewise.
15992         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
15993         * lib/unictype/pr_bidi_whitespace.h: Likewise.
15994         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
15995         * lib/unictype/pr_format_control.h: Likewise.
15996         * lib/unictype/pr_hex_digit.h: Likewise.
15997         * lib/unictype/pr_hyphen.h: Likewise.
15998         * lib/unictype/pr_ids_binary_operator.h: Likewise.
15999         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
16000         * lib/unictype/pr_iso_control.h: Likewise.
16001         * lib/unictype/pr_join_control.h: Likewise.
16002         * lib/unictype/pr_left_of_pair.h: Likewise.
16003         * lib/unictype/pr_line_separator.h: Likewise.
16004         * lib/unictype/pr_math.h: Likewise.
16005         * lib/unictype/pr_non_break.h: Likewise.
16006         * lib/unictype/pr_not_a_character.h: Likewise.
16007         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
16008         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
16009         * lib/unictype/pr_other_id_continue.h: Likewise.
16010         * lib/unictype/pr_other_id_start.h: Likewise.
16011         * lib/unictype/pr_other_lowercase.h: Likewise.
16012         * lib/unictype/pr_other_math.h: Likewise.
16013         * lib/unictype/pr_other_uppercase.h: Likewise.
16014         * lib/unictype/pr_paired_punctuation.h: Likewise.
16015         * lib/unictype/pr_paragraph_separator.h: Likewise.
16016         * lib/unictype/pr_pattern_syntax.h: Likewise.
16017         * lib/unictype/pr_pattern_white_space.h: Likewise.
16018         * lib/unictype/pr_private_use.h: Likewise.
16019         * lib/unictype/pr_quotation_mark.h: Likewise.
16020         * lib/unictype/pr_radical.h: Likewise.
16021         * lib/unictype/pr_soft_dotted.h: Likewise.
16022         * lib/unictype/pr_space.h: Likewise.
16023         * lib/unictype/pr_titlecase.h: Likewise.
16024         * lib/unictype/pr_variation_selector.h: Likewise.
16025         * lib/unictype/pr_white_space.h: Likewise.
16026         * lib/unictype/sy_c_ident.h: Likewise.
16027         * lib/unictype/sy_c_whitespace.h: Likewise.
16028         * lib/unictype/sy_java_whitespace.h: Likewise.
16029         * modules/uni*/*: Bump version number of expected libunistring version.
16030         Reported by Simon Josefsson.
16031
16032 2011-01-09  Karl Heuer  <kwzh@gnu.org>
16033
16034         useless-if-before-free: fix typo in --help and make the internal,
16035         automatic version date update process work once again.
16036         --help output contained a NUL character instead of the
16037         backslash-zero that was intended.  Also, the "must lie within
16038         the first 8 lines" line is on line 9, and hence not getting
16039         automatically updated.
16040         * build-aux/useless-if-before-free: Fix the former by adding a
16041         backslash, and the latter by condensing the three lines of what-it-does
16042         to a single line, leaving one line of slack for the future.
16043
16044 2011-01-09  Bruno Haible  <bruno@clisp.org>
16045
16046         uniwidth/width: Fix width of U+1D173..U+1D17A.
16047         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
16048         symbolic_width, output_width_property_test): New functions.
16049         (main): Invoke output_nonspacing_property, output_width_property_test.
16050         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
16051         U+1D173..U+1D17A.
16052         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
16053         1.
16054         * modules/uniwidth/*: Bump version number of expected libunistring
16055         version.
16056         * modules/unilbrk/*: Likewise.
16057
16058 2011-01-08  Bruno Haible  <bruno@clisp.org>
16059
16060         uninorm tests: Preserve copyright of Unicode data file.
16061         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
16062         Mention modifications.
16063
16064 2011-01-08  Bruno Haible  <bruno@clisp.org>
16065
16066         gen-uni-tables: Prepare for Unicode 5.2.0.
16067         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
16068         (debug_output_lbp, output_lbp): Update.
16069
16070 2011-01-08  Bruno Haible  <bruno@clisp.org>
16071
16072         unilbrk: Clarify gen-uni-tables.c code.
16073         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
16074         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
16075         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
16076
16077 2011-01-07  Bruno Haible  <bruno@clisp.org>
16078
16079         strtod: Restore errno when successfully parsing Infinity or NaN.
16080         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
16081         restore the original errno.
16082
16083 2011-01-07  Bruno Haible  <bruno@clisp.org>
16084
16085         remove test: Avoid failure on HP-UX 11.
16086         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
16087
16088 2011-01-07  Bruno Haible  <bruno@clisp.org>
16089
16090         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
16091         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
16092         error code.
16093
16094 2011-01-07  Pádraig Brady <P@draigBrady.com>
16095
16096         ignore-value: fixup comments, and add Eric Blake
16097         as an author since he rewrote the macros.
16098         * lib/ignore-value.h (ignore_value):  State that
16099         we now support aggregates.  Also specify exactly
16100         when the GCC warn_unused_result feature was added.
16101
16102 2011-01-06  Eric Blake  <eblake@redhat.com>
16103
16104         ignore-value: support aggregate types
16105         * lib/ignore-value.h (ignore_value): Provide separate gcc
16106         definition.
16107         * modules/ignore-value-tests: New test module.
16108         * tests/test-ignore-value.c: New test.
16109
16110         maint.mk: improve sc_prohibit_strcmp regex
16111         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
16112         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
16113         definition of STRNEQ.
16114
16115         signal: work around Haiku issue with SIGBUS
16116         * lib/siglist.h: Add comment.
16117         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
16118         strsignal's favoring of SIGSEGV.
16119         * tests/test-signal.c (main): Avoid test failure.
16120         * doc/posix-headers/signal.texi (signal.h): Document the issue.
16121         Reported by Scott McCreary.
16122
16123         maint.mk: add pre-release check to ensure submodule commits are public
16124         * top/maint.mk (public-submodule-commit): New rule.
16125         (submodule-checks): New variable.
16126         (alpha beta stable): Depend on the variable.
16127
16128 2011-01-05  Pádraig Brady <P@draigBrady.com>
16129         and Jim Meyering  <meyering@redhat.com>
16130
16131         ignore-value: make ignore_value more generic; deprecate ignore_ptr
16132         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
16133         (ATTRIBUTE_DEPRECATED): Define.
16134         (_ignore_case): New function.
16135         (ignore_value): New macro, to replace the old function.
16136         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
16137         * modules/ignore-value (Depends-on): Add stdint.
16138
16139 2011-01-04  Eric Blake  <eblake@redhat.com>
16140
16141         doc: regenerate INSTALL
16142         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
16143         @firstparagraphindent support, now that autoconf dropped it.
16144         (INSTALL_PRELUDE): Reinstate old macro.
16145         * doc/install.texi: Resync from autoconf.
16146         * doc/INSTALL: Reflect recent autoconf update.
16147         * doc/INSTALL.ISO: Likewise.
16148         * doc/INSTALL.UTF-8: Likewise.
16149         Reported by Karl Berry.
16150
16151 2011-01-04  Bruce Korb  <address@hidden>
16152
16153         git-version-gen: avoid a sub-shell
16154         * build-aux/git-version-gen: Redirect stderr in `...` via
16155         "exec 2>...", rather than via an added sub-shell.
16156
16157 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
16158
16159         git-version-gen: use (...) rather than sh -c '...'
16160         * build-aux/git-version-gen: Rather than hard-coding a shell's name
16161         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
16162
16163 2011-01-03  Jim Meyering  <meyering@redhat.com>
16164
16165         git-version-gen: convert leading TABs to spaces
16166         * build-aux/git-version-gen: Expand leading TABs.
16167
16168         git-version-gen: handle failed "git rev-list"
16169         * build-aux/git-version-gen: Rather than leaking a "fatal" error
16170         from git and proceeding as if it had succeeded but printed no SHA1
16171         checksums, suppress the diagnostic and handle the failure.
16172         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
16173
16174         git-version-gen: include command name in one more diagnostic
16175         * build-aux/git-version-gen: When the required .tarball-version file
16176         was missing or unreadable, you might see the diagnostic from "cat",
16177         but no trace of the name of the invoking script.  Now, you still see
16178         the diagnostic from cat, but also get one from "git-version-gen: ".
16179         Inspired by a patch from Bruce Korb.
16180
16181         update-copyright: adjust test to match changed code
16182         * tests/test-update-copyright.sh: Change test's expected output
16183         to match new actual output.
16184
16185 2011-01-02  Bruno Haible  <bruno@clisp.org>
16186
16187         getlogin_r: Avoid test failure on HP-UX 11.
16188         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
16189         ERANGE when the second argument is zero.
16190         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
16191         portability problem.
16192
16193 2011-01-02  Bruce Korb  <bkorb@gnu.org>
16194
16195         * build-aux/update-copyright: doc Simon's changes
16196
16197 2011-01-02  Simon Josefsson  <simon@josefsson.org>
16198
16199         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
16200         environment variable.
16201
16202 2011-01-02  Bruno Haible  <bruno@clisp.org>
16203
16204         unigbrk: Avoid gcc warnings.
16205         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
16206         unused variable.
16207         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
16208         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
16209         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
16210         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
16211         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
16212         Change type of first argument to 'const char *'.
16213         (main): Remove unused variable.
16214         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
16215         type of first argument to 'const char *'.
16216         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
16217         Likewise.
16218         (main): Change type of variable 's'.
16219         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
16220         to 'int'.
16221
16222 2011-01-02  Bruno Haible  <bruno@clisp.org>
16223
16224         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
16225         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
16226         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
16227         bug.
16228         * lib/pwrite.c: Undo 2010-12-31 patch.
16229         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
16230
16231 2011-01-02  Bruno Haible  <bruno@clisp.org>
16232
16233         pread: Fix test whether it works.
16234         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
16235
16236 2011-01-02  Bruno Haible  <bruno@clisp.org>
16237
16238         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
16239         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
16240         ends in "6". Don't require a specific month name. Try also the locale
16241         names found on HP-UX 11 and Solaris 7.
16242
16243 2011-01-02  Bruno Haible  <bruno@clisp.org>
16244
16245         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
16246         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
16247         C linkage.
16248         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
16249
16250 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
16251
16252         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
16253         for consistency, since the "cluster" term is not used elsewhere.
16254         * lib/unigbrk.in.h: Update name.
16255         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
16256         * lib/unigbrk/u16-grapheme-next.c: Update name.
16257         * lib/unigbrk/u16-grapheme-prev.c: Update name.
16258         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
16259         * lib/unigbrk/u32-grapheme-next.c: Update name.
16260         * lib/unigbrk/u32-grapheme-prev.c: Update name.
16261         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
16262         * lib/unigbrk/u8-grapheme-next.c: Update name.
16263         * lib/unigbrk/u8-grapheme-prev.c: Update name.
16264         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
16265         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
16266         Suggested by Bruno Haible.
16267
16268 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
16269
16270         Remove module 'u8-grapheme-len' as too redundant with
16271         'u8-grapheme-next'.
16272         * modules/unigbrk/u8-grapheme-len: Delete file.
16273         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
16274         * lib/unigbrk.in.h: Remove prototype for deleted function.
16275         * lib/unigbrk/u8-grapheme-len.c: Delete file.
16276         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
16277
16278         Remove module 'u16-grapheme-len' as too redundant with
16279         'u16-grapheme-next'.
16280         * modules/unigbrk/u16-grapheme-len: Delete file.
16281         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
16282         * lib/unigbrk.in.h: Remove prototype for deleted function.
16283         * lib/unigbrk/u16-grapheme-len.c: Delete file.
16284         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
16285
16286         Remove module 'u32-grapheme-len' as too redundant with
16287         'u32-grapheme-next'.
16288         * modules/unigbrk/u32-grapheme-len: Delete file.
16289         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
16290         * lib/unigbrk.in.h: Remove prototype for deleted function.
16291         * lib/unigbrk/u32-grapheme-len.c: Delete file.
16292         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
16293
16294         Suggested by Bruno Haible.
16295
16296 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
16297
16298         * unigbrk.in.h: Fix typo: "ben" => "been".
16299         Reported by Bruno Haible.
16300
16301 2011-01-01  Jim Meyering  <meyering@redhat.com>
16302
16303         maint: update almost all copyright ranges to include 2011
16304         Run the new "make update-copyright" rule.
16305
16306 2011-01-01  Jim Meyering  <meyering@redhat.com>
16307
16308         maint: update-copyright: exempt doc/INSTALL*
16309         * Makefile (update-copyright): Also exclude doc/INSTALL*,
16310         since they are generated.  Suggested by Bruno Haible.
16311
16312 2011-01-01  Jim Meyering  <meyering@redhat.com>
16313
16314         maint: refine the update-copyright rule
16315         * Makefile (update-copyright): Also exclude any file that includes
16316         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
16317         code that merely generates the comment.
16318
16319 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
16320
16321         New module 'u8-grapheme-len'.
16322         * modules/unigbrk/u8-grapheme-len: New file.
16323         * modules/unigbrk/u8-grapheme-len-tests: New file.
16324         * lib/unigbrk.in.h: Add prototype for new function.
16325         * lib/unigbrk/u8-grapheme-len.c: New file.
16326         * tests/unigbrk/test-u8-grapheme-len.c: New file.
16327
16328         New module 'u16-grapheme-len'.
16329         * modules/unigbrk/u16-grapheme-len: New file.
16330         * modules/unigbrk/u16-grapheme-len-tests: New file.
16331         * lib/unigbrk.in.h: Add prototype for new function.
16332         * lib/unigbrk/u16-grapheme-len.c: New file.
16333         * tests/unigbrk/test-u16-grapheme-len.c: New file.
16334
16335         New module 'u32-grapheme-len'.
16336         * modules/unigbrk/u32-grapheme-len: New file.
16337         * modules/unigbrk/u32-grapheme-len-tests: New file.
16338         * lib/unigbrk.in.h: Add prototype for new function.
16339         * lib/unigbrk/u32-grapheme-len.c: New file.
16340         * tests/unigbrk/test-u32-grapheme-len.c: New file.
16341
16342         New module 'u8-grapheme-next'.
16343         * modules/unigbrk/u8-grapheme-next: New file.
16344         * modules/unigbrk/u8-grapheme-next-tests: New file.
16345         * lib/unigbrk.in.h: Add prototype for new function.
16346         * lib/unigbrk/u8-grapheme-next.c: New file.
16347         * tests/unigbrk/test-u8-grapheme-next.c: New file.
16348
16349         New module 'u16-grapheme-next'.
16350         * modules/unigbrk/u16-grapheme-next: New file.
16351         * modules/unigbrk/u16-grapheme-next-tests: New file.
16352         * lib/unigbrk.in.h: Add prototype for new function.
16353         * lib/unigbrk/u16-grapheme-next.c: New file.
16354         * tests/unigbrk/test-u16-grapheme-next.c: New file.
16355
16356         New module 'u32-grapheme-next'.
16357         * modules/unigbrk/u32-grapheme-next: New file.
16358         * modules/unigbrk/u32-grapheme-next-tests: New file.
16359         * lib/unigbrk.in.h: Add prototype for new function.
16360         * lib/unigbrk/u32-grapheme-next.c: New file.
16361         * tests/unigbrk/test-u32-grapheme-next.c: New file.
16362
16363         New module 'u8-grapheme-prev'.
16364         * modules/unigbrk/u8-grapheme-prev: New file.
16365         * modules/unigbrk/u8-grapheme-prev-tests: New file.
16366         * lib/unigbrk.in.h: Add prototype for new function.
16367         * lib/unigbrk/u8-grapheme-prev.c: New file.
16368         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
16369
16370         New module 'u16-grapheme-prev'.
16371         * modules/unigbrk/u16-grapheme-prev: New file.
16372         * modules/unigbrk/u16-grapheme-prev-tests: New file.
16373         * lib/unigbrk.in.h: Add prototype for new function.
16374         * lib/unigbrk/u16-grapheme-prev.c: New file.
16375         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
16376
16377         New module 'u32-grapheme-prev'.
16378         * modules/unigbrk/u32-grapheme-prev: New file.
16379         * modules/unigbrk/u32-grapheme-prev-tests: New file.
16380         * lib/unigbrk.in.h: Add prototype for new function.
16381         * lib/unigbrk/u32-grapheme-prev.c: New file.
16382         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
16383
16384         New module 'u8-grapheme-breaks'.
16385         * modules/unigbrk/u8-grapheme-breaks: New file.
16386         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
16387         * lib/unigbrk.in.h: Add prototype for new function.
16388         * lib/unigbrk/u8-grapheme-breaks.c: New file.
16389         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
16390
16391         New module 'u16-grapheme-breaks'.
16392         * modules/unigbrk/u16-grapheme-breaks: New file.
16393         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
16394         * lib/unigbrk.in.h: Add prototype for new function.
16395         * lib/unigbrk/u16-grapheme-breaks.c: New file.
16396         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
16397
16398         New module 'u32-grapheme-breaks'.
16399         * modules/unigbrk/u32-grapheme-breaks: New file.
16400         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
16401         * lib/unigbrk.in.h: Add prototype for new function.
16402         * lib/unigbrk/u32-grapheme-breaks.c: New file.
16403         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
16404
16405         New module 'ulc-grapheme-breaks'.
16406         * modules/unigbrk/ulc-grapheme-breaks: New file.
16407         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
16408         * m4/locale-ar.m4: New file.
16409         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
16410         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
16411         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
16412
16413 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
16414
16415         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
16416         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
16417         modified how this file was generated before I initially submitted
16418         the module, but failed to regenerate it.  This meant that several
16419         of the level2 entries were wrong.
16420         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
16421         Remove the division-by-2 that is folded into the table now that
16422         gbrkprop.h has been regenerated properly.  Now -1 entries are
16423         handled correctly.
16424
16425         New module 'unigbrk/uc-gbrk-prop-tests'.
16426         * modules/unigbrk/uc-gbrk-prop-tests: New file.
16427         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
16428         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
16429         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
16430
16431 2011-01-01  Bruno Haible  <bruno@clisp.org>
16432
16433         Avoid use of hexadecimal escapes.
16434         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
16435         instead of hexadecimal escapes.
16436
16437 2011-01-01  Jim Meyering  <meyering@redhat.com>
16438
16439         maint: new rule to update copyright year ranges
16440         * Makefile (update-copyright): New rule.
16441
16442         maint: indent with TABs in Makefile
16443         * Makefile: Expand leading sequences of spaces to TABs
16444
16445         version-etc: update the copyright year it reports
16446         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
16447
16448 2010-12-31  Bruno Haible  <bruno@clisp.org>
16449
16450         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
16451         * lib/isfinite.c (zerof, zerod, zerol): New variables.
16452         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
16453         zero.
16454
16455 2010-12-31  Bruno Haible  <bruno@clisp.org>
16456
16457         pwrite: Work around HP-UX 11.11 bug.
16458         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
16459         works and set REPLACE_PWRITE if not.
16460         * lib/pwrite.c (pwrite): Add an implementation that uses the system
16461         function.
16462         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
16463
16464 2010-12-31  Bruno Haible  <bruno@clisp.org>
16465
16466         pread: Work around HP-UX 11 bugs.
16467         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
16468         and set REPLACE_PREAD if not.
16469         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
16470
16471 2010-12-31  Eric Blake  <eblake@redhat.com>
16472
16473         nl_langinfo: fix YESEXPR on Irix 6.5
16474         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
16475         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
16476         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
16477         it.
16478
16479 2010-12-31  Bruno Haible  <bruno@clisp.org>
16480
16481         iconv: Document HP-UX 11 bug.
16482         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
16483
16484 2010-12-31  Bruno Haible  <bruno@clisp.org>
16485
16486         ldexpl: Fix link error on HP-UX 11.
16487         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
16488         LDEXPL_LIBM, using $ISNANL_LIBM.
16489
16490 2010-12-31  Eric Blake  <eblake@redhat.com>
16491
16492         ftello: avoid compilation failure with SunStudio c89
16493         * lib/ftello.c (ftello): Use lseek, not llseek.
16494
16495         tests: avoid failing coreutils tests on cygwin
16496         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
16497         (create_exe_shims_): Return 0 when skipping.
16498
16499 2010-12-31  Bruno Haible  <bruno@clisp.org>
16500
16501         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
16502         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
16503
16504 2010-12-31  Bruno Haible  <bruno@clisp.org>
16505
16506         waitpid: Fix link error in C++ mode.
16507         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
16508
16509 2010-12-31  Bruno Haible  <bruno@clisp.org>
16510
16511         isnan: Use GCC built-ins when possible.
16512         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
16513         __builtin_isnan.
16514         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
16515         (isnan): Define using GCC built-ins for GCC >= 4.0.
16516
16517 2010-12-31  Bruno Haible  <bruno@clisp.org>
16518
16519         isnand: Fix mistake.
16520         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
16521         __builtin_isnand.
16522
16523 2010-12-31  Bruno Haible  <bruno@clisp.org>
16524
16525         open: Avoid C++ error on HP-UX 11.
16526         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
16527
16528 2010-12-31  Bruno Haible  <bruno@clisp.org>
16529
16530         time_r: Add missing declarations on HP-UX 11.
16531         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
16532         instead of HAVE_LOCALTIME_R.
16533         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
16534         HAVE_LOCALTIME_R always.
16535         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
16536         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
16537         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
16538         HAVE_LOCALTIME_R.
16539         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
16540         * doc/posix-functions/localtime_r.texi: Likewise.
16541
16542 2010-12-29  Eric Blake  <eblake@redhat.com>
16543
16544         mountlist: tweak previous commit
16545         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
16546         Reported by Paul Eggert.
16547
16548         mountlist: fix local drive detection on cygwin
16549         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
16550         that works for cygwin.
16551
16552 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
16553
16554         ftoastr, snprintf: ftoastr + snprintf module
16555         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
16556         since the snprintf module now should be good enough here.
16557         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
16558         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
16559         and gl_MODULE_INDICATOR([snprintf]), but the former enables
16560         GNULIB_SNPRINTF only for the test directory, and the latter
16561         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
16562         seems to suffice by itself.
16563
16564 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
16565
16566         alloca: one step towards thread-safety
16567         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
16568         need for a static variable.  All callers changed.  This does not
16569         make the alloca replacement thread-safe, but it's one step.
16570
16571         tests: minor indenting change
16572         * tests/init.sh: Sync from coreutils housekeeping patch
16573         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
16574         to keep lines within 80 columns.
16575
16576 2010-12-28  Jim Meyering  <meyering@redhat.com>
16577
16578         regex: don't infloop on persistent failing calloc
16579         * lib/regexec.c (build_trtable): Return failure indication upon
16580         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
16581         In glibc, this was fixed for version 2.13:
16582         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
16583
16584 2010-12-28  Bruno Haible  <bruno@clisp.org>
16585             Paul Eggert <eggert@cs.ucla.edu>
16586
16587         linkat: Make implementation robust against system behaviour variations.
16588         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
16589         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
16590         way, and to -2 if it needs a generic runtime test.
16591         * lib/linkat.c (solaris_optimized_link_immediate,
16592         solaris_optimized_link_follow): New functions.
16593         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
16594         (check_same_link): Use it.
16595
16596 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
16597
16598         New module 'unigbrk/base'.
16599         * modules/unigbrk/base: New file.
16600         * lib/unigbrk.in.h: New file.
16601
16602         New module 'unigbrk/uc-gbrk-prop'.
16603         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
16604         * modules/unigbrk/uc-gbrk-prop: New file.
16605         * lib/unigbrk/gbrkprop.h: New file.
16606         * lib/unigbrk/uc-gbrk-prop.c: New file.
16607
16608         New module 'unigbrk/uc-is-grapheme-break'.
16609         * modules/unigbrk/uc-is-grapheme-break: New file.
16610         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
16611         * lib/unigbrk/uc-is-grapheme-break.c: New file.
16612         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
16613         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
16614         * tests/unigbrk/GraphemeBreakTest.txt: New file.
16615
16616         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
16617
16618 2010-12-27  Bruno Haible  <bruno@clisp.org>
16619
16620         linkat test: Avoid failure on Solaris 11 2010-11.
16621         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
16622
16623 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
16624
16625         utimens: work around glibc rounding bug on more platforms
16626         * lib/utimens.c (fdutimens): Work around rounding bug even if
16627         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
16628         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
16629
16630 2010-12-27  Bruno Haible  <bruno@clisp.org>
16631
16632         select tests: Improve comments.
16633         * tests/test-select.c (do_select): Add comments.
16634
16635 2010-12-27  Bruno Haible  <bruno@clisp.org>
16636
16637         select tests: Safer way of handling timeout.
16638         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
16639         at every invocation.
16640
16641 2010-12-27  Bruno Haible  <bruno@clisp.org>
16642
16643         select tests: Use 'bool' where appropriate.
16644         * tests/test-select.c (connect_to_socket): Change argument type to
16645         'bool'.
16646
16647 2010-12-27  Bruno Haible  <bruno@clisp.org>
16648
16649         select tests: Use existing modules.
16650         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
16651         (configure.ac): Don't test for unistd.h.
16652         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
16653         declared in <unistd.h>.
16654
16655 2010-12-27  Bruno Haible  <bruno@clisp.org>
16656
16657         mbrtowc: Work around a Solaris 7 bug.
16658         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
16659         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
16660         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
16661         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
16662         MBRTOWC_NULL_ARG1_BUG.
16663         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
16664         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
16665         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
16666         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
16667
16668 2010-12-27  Jim Meyering  <meyering@redhat.com>
16669
16670         read-file.c: tweak syntax
16671         * lib/read-file.c (fread_file): Remove space after "*" in function
16672         definitions.
16673
16674 2010-12-27  Bruno Haible  <bruno@clisp.org>
16675
16676         times test: Avoid gcc warnings on OSF/1.
16677         * tests/test-times.c (main): Cast printf arguments from clock_t to
16678         'long int'.
16679
16680 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
16681
16682         utimens: work around glibc rounding bug on older Linux kernels
16683         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
16684         on Linux with a glibc whose utimes might not work, then work
16685         around a longstanding glibc bug involving rounding rather than
16686         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
16687         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
16688
16689 2010-12-26  Bruno Haible  <bruno@clisp.org>
16690
16691         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
16692         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
16693         _GL_CXXALIAS_SYS.
16694         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16695
16696 2010-12-26  Bruno Haible  <bruno@clisp.org>
16697
16698         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
16699         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
16700         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
16701         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
16702         looking for the declaration.
16703         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
16704         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
16705         problem.
16706         * doc/posix-functions/inet_pton.texi: Likewise.
16707
16708 2010-12-26  Bruno Haible  <bruno@clisp.org>
16709
16710         arpa_inet: Use the common idioms with C++ support.
16711         * lib/arpa_inet.in.h: Include c++defs.h.
16712         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
16713         support.
16714         * modules/arpa_inet (Depends-on): Add c++defs.
16715         (Makefile.am): Substitute the contents of c++defs.h.
16716         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
16717         * modules/arpa_inet-c++-tests: New file.
16718         * tests/test-arpa_inet-c++.cc: New file.
16719
16720 2010-12-25  Bruno Haible  <bruno@clisp.org>
16721
16722         Fix more C++ link errors on Solaris 8.
16723         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
16724         $(LIB_EACCESS).
16725         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
16726         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
16727         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
16728         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
16729         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
16730
16731 2010-12-25  Bruno Haible  <bruno@clisp.org>
16732
16733         printf-posix: Fix link error when a non-GCC compiler is used.
16734         * lib/stdio.in.h (printf): When not using GCC, override printf
16735         correctly.
16736         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16737
16738 2010-12-25  Bruno Haible  <bruno@clisp.org>
16739
16740         strerror_r-posix: Update doc.
16741         * doc/posix-functions/strerror_r.texi: Update doc about the return
16742         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
16743
16744 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
16745
16746         utimens: simplify the logic of the previous change
16747         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
16748         This should not affect whether the test succeeds or fails.
16749
16750         utimens: configure better on hosts with NFS clock skew
16751         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
16752         uses the clock of the local host.  It might use the clock of the
16753         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
16754         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
16755
16756 2010-12-25  Bruno Haible  <bruno@clisp.org>
16757
16758         ptsname test: Avoid failure on Solaris.
16759         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
16760         open a pseudo-terminal; don't use BSD-style ptys.
16761         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
16762
16763 2010-12-25  Bruno Haible  <bruno@clisp.org>
16764
16765         ptsname: Avoid ERANGE failure on some systems.
16766         * lib/ptsname.c (buffer): Increase size.
16767
16768 2010-12-25  Bruno Haible  <bruno@clisp.org>
16769
16770         rename, renameat: Avoid test failures at NFS mounted locations.
16771         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
16772         so that subsequent mkdir calls succeed.
16773
16774 2010-12-25  Bruno Haible  <bruno@clisp.org>
16775
16776         iswblank: Fix C++ link error on Solaris 8.
16777         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
16778         _GL_FUNCDECL_SYS.
16779
16780 2010-12-25  Bruno Haible  <bruno@clisp.org>
16781
16782         unistd: Fix C++ link error on Solaris 8.
16783         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
16784
16785 2010-12-25  Bruno Haible  <bruno@clisp.org>
16786
16787         readlink doc: Mention an old glibc bug.
16788         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
16789
16790 2010-12-25  Bruno Haible  <bruno@clisp.org>
16791
16792         fcntl-h: Fix for use of C++ on glibc systems.
16793         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
16794         also on glibc systems in C++ mode.
16795         Reported by Gary V. Vaughan <gary@gnu.org>.
16796
16797 2010-12-25  Bruno Haible  <bruno@clisp.org>
16798
16799         roundl-ieee: Make it work on OSF/1 5.1 with cc.
16800         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
16801
16802 2010-12-25  Bruno Haible  <bruno@clisp.org>
16803
16804         truncl-ieee: Make it work on OSF/1 5.1 with cc.
16805         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
16806         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
16807         test whether truncl works according to ISO C 99 with IEC 60559.
16808         * m4/truncl-ieee.m4: New file.
16809         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
16810         m4/signbit.m4.
16811         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
16812
16813 2010-12-25  Bruno Haible  <bruno@clisp.org>
16814
16815         ceill-ieee: Make it work on OSF/1 5.1 with cc.
16816         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
16817         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
16818         test whether ceill works according to ISO C 99 with IEC 60559.
16819         * m4/ceill-ieee.m4: New file.
16820         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
16821         m4/signbit.m4.
16822         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
16823
16824 2010-12-25  Bruno Haible  <bruno@clisp.org>
16825
16826         Ensure all prerequisites of <wchar.h> are included.
16827         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
16828         before <wchar.h>.
16829         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
16830         gl_MBRLEN_NUL_RETVAL): Likewise.
16831         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
16832         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
16833         AC_FUNC_MBRTOWC): Likewise.
16834         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
16835         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
16836         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
16837         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
16838         Likewise.
16839         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
16840         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
16841         (gl_WCHAR_H): Improve comments.
16842         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
16843
16844 2010-12-25  Bruno Haible  <bruno@clisp.org>
16845
16846         strtok_r: Fix C syntax error in autoconf macro.
16847         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
16848         characters in test program.
16849
16850 2010-12-24  Bruno Haible  <bruno@clisp.org>
16851
16852         ceil, trunc, round: Fix gcc warnings.
16853         * lib/ceil.c (MIN): Undefine before redefining.
16854         * lib/trunc.c (MIN): Likewise.
16855         * lib/round.c (MIN): Likewise.
16856         Include <math.h> first.
16857
16858 2010-12-24  Bruno Haible  <bruno@clisp.org>
16859
16860         select tests: Avoid failures on OSF/1 5.1.
16861         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
16862         failure of closing the last socket; it may fail with ECONNRESET.
16863
16864 2010-12-24  Eric Blake  <eblake@redhat.com>
16865
16866         stdint: avoid HP-UX 10.20 preprocessor bug
16867         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
16868         than #if.
16869         * tests/test-floor2.c (main): Likewise.
16870         Reported by Peter O'Gorman.
16871
16872         pipe: make obsoletion transition easier
16873         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
16874         * modules/pipe (Files): Include revived file.
16875         (Include): Drop reference, to mirror getdate's behavior.
16876
16877 2010-12-24  Bruno Haible  <bruno@clisp.org>
16878
16879         sys_socket: Hide mismatch of declarations on NonStop Kernel.
16880         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
16881         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
16882         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16883
16884 2010-12-24  Bruno Haible  <bruno@clisp.org>
16885
16886         gethostname: Ensure declaration on NonStop Kernel.
16887         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
16888         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16889
16890 2010-12-24  Bruno Haible  <bruno@clisp.org>
16891
16892         sys_select: Ensure all necessary types on NonStop Kernel.
16893         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
16894         include <sys/time.h>.
16895         * doc/posix-headers/sys_select.texi: Mention that it's missing on
16896         NonStop Kernel.
16897         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16898
16899 2010-12-24  Bruno Haible  <bruno@clisp.org>
16900
16901         sys_select: Remove unneeded include.
16902         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
16903         have <sys/select.h>.
16904
16905 2010-12-24  Bruno Haible  <bruno@clisp.org>
16906
16907         gethostname: Provide a fallback for HOST_NAME_MAX.
16908         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
16909         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
16910         instead.
16911         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16912
16913 2010-12-24  Bruno Haible  <bruno@clisp.org>
16914
16915         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
16916         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
16917         (SA_RESTART): Likewise.
16918         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16919
16920 2010-12-24  Bruno Haible  <bruno@clisp.org>
16921
16922         signal: Define NSIG.
16923         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
16924         * tests/test-signal.c (nsig): New variable.
16925         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16926
16927 2010-12-24  Bruno Haible  <bruno@clisp.org>
16928
16929         rename, renameat: Avoid test failures on OSF/1 5.1.
16930         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
16931         alternative error codes.
16932         * tests/test-renameat.c (main): Likewise.
16933
16934 2010-12-24  Bruno Haible  <bruno@clisp.org>
16935
16936         *printf: Detect large precisions bug on Solaris 10/SPARC.
16937         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
16938         by Paul Eggert.
16939         * tests/test-snprintf-posix.h (test_function): Add this test code here
16940         too.
16941         * tests/test-sprintf-posix.h (test_function): Likewise.
16942         * tests/test-vasnprintf-posix.c (test_function): Likewise.
16943         * tests/test-vasprintf-posix.c (test_function): Likewise.
16944         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
16945         around by gnulib.
16946         * doc/posix-functions/printf.texi: Likewise.
16947         * doc/posix-functions/snprintf.texi: Likewise.
16948         * doc/posix-functions/sprintf.texi: Likewise.
16949         * doc/posix-functions/vfprintf.texi: Likewise.
16950         * doc/posix-functions/vprintf.texi: Likewise.
16951         * doc/posix-functions/vsnprintf.texi: Likewise.
16952         * doc/posix-functions/vsprintf.texi: Likewise.
16953         * doc/posix-functions/dprintf.texi: Undo last commit.
16954         * doc/posix-functions/vdprintf.texi: Likewise.
16955
16956 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
16957
16958         tests: port test-fdutimensat.c to Solaris 8
16959         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
16960         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
16961         On Solaris 8, it fails with errno == ENOSYS, because there is no
16962         futimens (so it can't use the fd), and there is no lutimens (so it
16963         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
16964
16965         vsnprintf: make more consistent with snprintf; doc fixes
16966
16967         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
16968         the byte count return problem was promoted from the snprintf-posix
16969         to the snprintf module.
16970         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
16971         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
16972         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
16973         * tests/test-snprintf.c (main): Check the byte count returned.
16974         * tests/test-vsnprintf.c (main): Likewise.
16975
16976 2010-12-23  Eric Blake  <eblake@redhat.com>
16977
16978         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
16979         * modules/sigpipe (License): Relax license.
16980
16981 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
16982
16983         doc: document Solaris printf bug with large float precisions
16984         * doc/posix-functions/dprintf.texi (dprintf):
16985         * doc/posix-functions/fprintf.texi (fprintf):
16986         * doc/posix-functions/printf.texi (printf):
16987         * doc/posix-functions/snprintf.texi (snprintf):
16988         * doc/posix-functions/sprintf.texi (sprintf):
16989         * doc/posix-functions/vdprintf.texi (vdprintf):
16990         * doc/posix-functions/vfprintf.texi (vfprintf):
16991         * doc/posix-functions/vprintf.texi (vprintf):
16992         * doc/posix-functions/vsnprintf.texi (vsnprintf):
16993         * doc/posix-functions/vsprintf.texi (vsprintf):
16994         Mention that these functions mishandle large floating point
16995         precisions on Solaris 10.  The same bug is also present in Solaris
16996         8, and I assume earlier.  This causes "cd gnulib-tests; make
16997         check" to fail on Solaris 8 (and I assume, later) when building
16998         the latest coreutils, in test-vasprintf-posix's call to
16999         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
17000         the wide flavors (e.g., wprintf) so this patch just updates the
17001         documentation for the narrow ones.
17002
17003         test-posixtm.c: add two tests
17004         * tests/test-posixtm.c: Add two tests, to highlight the
17005         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
17006         around this bug; this is merely to document it.
17007
17008 2010-12-22  Bruno Haible  <bruno@clisp.org>
17009
17010         getlogin_r: Work around portability problem on OSF/1.
17011         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
17012         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
17013         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
17014         test for a truncated result.
17015         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
17016         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
17017         * modules/getlogin_r (Depends-on): Add memchr.
17018         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
17019
17020 2010-12-22  Bruno Haible  <bruno@clisp.org>
17021
17022         ptsname: Avoid test failure on OSF/1 5.1.
17023         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
17024         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
17025         (same_slave): New function.
17026         (main): Use it to compare ptsname's result with the expected file name.
17027
17028 2010-12-22  Bruno Haible  <bruno@clisp.org>
17029
17030         Port extended stdio modules to HP NonStop Kernel.
17031         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
17032         macros.
17033         * lib/fbufmode.c: Update comments.
17034         * lib/fflush.c: Likewise.
17035         * lib/fpurge.c: Likewise.
17036         * lib/freadable.c: Likewise.
17037         * lib/freadahead.c: Likewise.
17038         * lib/freading.c: Likewise.
17039         * lib/freadptr.c: Likewise.
17040         * lib/freadseek.c: Likewise.
17041         * lib/fseeko.c: Likewise.
17042         * lib/fseterr.c: Likewise.
17043         * lib/fwritable.c: Likewise.
17044         * lib/fwriting.c: Likewise.
17045         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
17046
17047 2010-12-22  Bruno Haible  <bruno@clisp.org>
17048
17049         ttyname_r: Work around bug on OSF/1 5.1.
17050         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
17051         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
17052         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
17053         present.
17054         * lib/ttyname_r.c (ttyname_r): Update comments.
17055
17056 2010-12-22  Bruno Haible  <bruno@clisp.org>
17057
17058         round: Implement result sign according to IEEE 754.
17059         * lib/round.c (MIN, MINUS_ZERO): New macros.
17060         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
17061         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
17062         * tests/test-round-ieee.c (main): Likewise.
17063         * tests/test-roundl-ieee.c (main): Likewise.
17064
17065         trunc: Implement result sign according to IEEE 754.
17066         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
17067         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
17068         * tests/test-trunc2.c: Include minus-zero.h.
17069         (MINUS_ZERO): New macro.
17070         (trunc_reference): Keep in sync with lib/trunc.c.
17071         * tests/test-truncf2.c: Include minus-zero.h.
17072         (MINUS_ZERO): New macro.
17073         (truncf_reference): Keep in sync with lib/trunc.c.
17074         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
17075         * tests/test-trunc-ieee.c (main): Likewise.
17076         * tests/test-truncl-ieee.c (main): Likewise.
17077
17078         ceil: Implement result sign according to IEEE 754.
17079         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
17080         (FUNC): Return -0.0 for -1 < x < 0.
17081         * tests/test-ceil2.c: Include minus-zero.h.
17082         (MINUS_ZERO): New macro.
17083         (ceil_reference): Keep in sync with lib/ceil.c.
17084         * tests/test-ceilf2.c: Include minus-zero.h.
17085         (MINUS_ZERO): New macro.
17086         (ceilf_reference): Keep in sync with lib/ceil.c.
17087         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
17088         * tests/test-ceil-ieee.c (main): Likewise.
17089         * tests/test-ceill-ieee.c (main): Likewise.
17090
17091         floor: Implement result sign according to IEEE 754.
17092         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
17093         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
17094         * tests/test-floorf2.c (floorf_reference): Likewise.
17095         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
17096         * tests/test-floor-ieee.c (main): Likewise.
17097         * tests/test-floorl-ieee.c (main): Likewise.
17098
17099 2010-12-22  Bruno Haible  <bruno@clisp.org>
17100
17101         getaddrinfo: Update doc.
17102         * doc/posix-functions/gai_strerror.texi: Return type is also different
17103         on AIX and HP-UX.
17104
17105 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
17106
17107         getaddrinfo, inet_ntop: Update doc for Solaris.
17108         * doc/posix-functions/gai_strerror.texi: Return type is also an
17109         issue on Solaris 9 and earlier.
17110         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
17111         on Solaris 10 and earlier.
17112
17113 2010-12-21  Bruno Haible  <bruno@clisp.org>
17114
17115         New module 'roundl-ieee'.
17116         * modules/roundl-ieee: New file.
17117         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
17118         test whether roundl works according to ISO C 99 with IEC 60559.
17119         * m4/roundl-ieee.m4: New file.
17120         * modules/roundl-ieee-tests: New file.
17121         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
17122         * tests/test-roundl.c (main): Remove signbit tests.
17123         * modules/roundl-tests (Depends-on): Remove signbit.
17124         * doc/posix-functions/roundl.texi: Mention the new module.
17125
17126 2010-12-21  Bruno Haible  <bruno@clisp.org>
17127
17128         New module 'truncl-ieee'.
17129         * modules/truncl-ieee: New file.
17130         * modules/truncl-ieee-tests: New file.
17131         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
17132         * tests/test-truncl.c (main): Remove signbit tests.
17133         * modules/truncl-tests (Depends-on): Remove signbit.
17134         * doc/posix-functions/truncl.texi: Mention the new module.
17135
17136 2010-12-21  Bruno Haible  <bruno@clisp.org>
17137
17138         New module 'ceill-ieee'.
17139         * modules/ceill-ieee: New file.
17140         * modules/ceill-ieee-tests: New file.
17141         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
17142         * tests/test-ceill.c (main): Remove signbit tests.
17143         * modules/ceill-tests (Depends-on): Remove signbit.
17144         * doc/posix-functions/ceill.texi: Mention the new module.
17145
17146 2010-12-21  Bruno Haible  <bruno@clisp.org>
17147
17148         New module 'floorl-ieee'.
17149         * modules/floorl-ieee: New file.
17150         * modules/floorl-ieee-tests: New file.
17151         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
17152         * tests/test-floorl.c (main): Remove signbit tests.
17153         * modules/floorl-tests (Depends-on): Remove signbit.
17154         * doc/posix-functions/floorl.texi: Mention the new module.
17155
17156 2010-12-21  Bruno Haible  <bruno@clisp.org>
17157
17158         New module 'round-ieee'.
17159         * modules/round-ieee: New file.
17160         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
17161         whether round works according to ISO C 99 with IEC 60559.
17162         * m4/round-ieee.m4: New file.
17163         * modules/round-ieee-tests: New file.
17164         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
17165         * tests/test-round1.c (main): Remove signbit tests.
17166         * modules/round-tests (Depends-on): Remove 'signbit'.
17167         * doc/posix-functions/round.texi: Mention the new module.
17168
17169 2010-12-21  Bruno Haible  <bruno@clisp.org>
17170
17171         New module 'trunc-ieee'.
17172         * modules/trunc-ieee: New file.
17173         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
17174         whether trunc works according to ISO C 99 with IEC 60559.
17175         * m4/trunc-ieee.m4: New file.
17176         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
17177         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
17178         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
17179         * modules/trunc-ieee-tests: New file.
17180         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
17181         * tests/test-trunc1.c (main): Remove signbit tests.
17182         * modules/trunc-tests (Depends-on): Remove 'signbit'.
17183         * doc/posix-functions/trunc.texi: Mention the new module.
17184
17185 2010-12-21  Bruno Haible  <bruno@clisp.org>
17186
17187         New module 'ceil-ieee'.
17188         * modules/ceil-ieee: New file.
17189         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
17190         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
17191         ISO C 99 with IEC 60559.
17192         * m4/ceil-ieee.m4: New file.
17193         * modules/ceil (Files): Add lib/ceil.c.
17194         (Depends-on): Add 'float'.
17195         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
17196         * lib/math.in.h (ceil): New declaration.
17197         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
17198         REPLACE_CEIL.
17199         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
17200         * modules/ceil-ieee-tests: New file.
17201         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
17202         * tests/test-math-c++.cc: Check the signature of 'ceil'.
17203         * doc/posix-functions/ceil.texi: Mention the new module.
17204
17205 2010-12-21  Bruno Haible  <bruno@clisp.org>
17206
17207         New module 'floor-ieee'.
17208         * modules/floor-ieee: New file.
17209         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
17210         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
17211         ISO C 99 with IEC 60559.
17212         * m4/floor-ieee.m4: New file.
17213         * modules/floor (Files): Add lib/floor.c.
17214         (Depends-on): Add 'float'.
17215         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
17216         * lib/math.in.h (floor): New declaration.
17217         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
17218         REPLACE_FLOOR.
17219         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
17220         * modules/floor-ieee-tests: New file.
17221         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
17222         * tests/test-math-c++.cc: Check the signature of 'floor'.
17223         * doc/posix-functions/floor.texi: Mention the new module.
17224
17225 2010-12-21  Bruno Haible  <bruno@clisp.org>
17226
17227         New module 'roundf-ieee'.
17228         * modules/roundf-ieee: New file.
17229         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
17230         test whether roundf works according to ISO C 99 with IEC 60559.
17231         * m4/roundf-ieee.m4: New file.
17232         * modules/roundf-ieee-tests: New file.
17233         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
17234         * tests/test-roundf1.c (main): Remove signbit tests.
17235         * modules/roundf-tests (Depends-on): Remove 'signbit'.
17236         * doc/posix-functions/roundf.texi: Mention the new module.
17237
17238 2010-12-21  Bruno Haible  <bruno@clisp.org>
17239
17240         New module 'truncf-ieee'.
17241         * modules/truncf-ieee: New file.
17242         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
17243         test whether truncf works according to ISO C 99 with IEC 60559.
17244         * m4/truncf-ieee.m4: New file.
17245         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
17246         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
17247         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
17248         * modules/truncf-ieee-tests: New file.
17249         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
17250         * tests/test-truncf1.c (main): Remove signbit tests.
17251         * modules/truncf-tests (Depends-on): Remove 'signbit'.
17252         * doc/posix-functions/truncf.texi: Mention the new module.
17253
17254 2010-12-21  Bruno Haible  <bruno@clisp.org>
17255
17256         New module 'ceilf-ieee'.
17257         * modules/ceilf-ieee: New file.
17258         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
17259         test whether ceilf works according to ISO C 99 with IEC 60559.
17260         * m4/ceilf-ieee.m4: New file.
17261         * modules/ceilf-ieee-tests: New file.
17262         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
17263         * tests/test-ceilf1.c (main): Remove signbit tests.
17264         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
17265         * doc/posix-functions/ceilf.texi: Mention the new module.
17266
17267 2010-12-21  Bruno Haible  <bruno@clisp.org>
17268
17269         New module 'floorf-ieee'.
17270         * modules/floorf-ieee: New file.
17271         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
17272         test whether floorf works according to ISO C 99 with IEC 60559.
17273         * m4/floorf-ieee.m4: New file.
17274         * modules/floorf-ieee-tests: New file.
17275         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
17276         * tests/test-floorf1.c (main): Remove signbit tests.
17277         * modules/floorf-tests (Depends-on): Remove 'signbit'.
17278         * doc/posix-functions/floorf.texi: Mention the new module.
17279
17280 2010-12-21  Bruno Haible  <bruno@clisp.org>
17281
17282         Support for minus zero in autoconf macros.
17283         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
17284         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
17285         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
17286         * tests/minus-zero.h: Update comments.
17287
17288 2010-12-21  Bruno Haible  <bruno@clisp.org>
17289
17290         Tests for module 'ceil'.
17291         * modules/ceil-tests: New file.
17292         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
17293         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
17294
17295 2010-12-21  Bruno Haible  <bruno@clisp.org>
17296
17297         Tests for module 'floor'.
17298         * modules/floor-tests: New file.
17299         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
17300         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
17301
17302 2010-12-21  Bruno Haible  <bruno@clisp.org>
17303
17304         math: Fix indentation.
17305         * lib/math.in.h (floorf): Fix indentation.
17306
17307 2010-12-21  Bruno Haible  <bruno@clisp.org>
17308
17309         Fix cross-compilation guesses on Solaris.
17310         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
17311         not match "solaris2.10".
17312         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
17313         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
17314         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
17315
17316 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
17317
17318         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
17319         This fixes a problem observed with the latest coreutils snapshot
17320         that caused a test to fail on Solaris 8.  src/csplit.c's call
17321         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
17322         earlier, instead of returning the number of bytes that would have
17323         been generated; this causes csplit to incorrectly report memory
17324         exhaustion.
17325         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
17326         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
17327         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
17328         comments to match.
17329         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
17330         Fix typo in matching older versions of Solaris: "solaris2.10"
17331         is matched by the shell pattern "solaris2.[0-9]*".  This matters
17332         only for guessing while cross-compiling.
17333         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
17334
17335 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
17336
17337         ftoastr: fix comment again
17338         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
17339         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
17340         Also, simplify example a bit by using flags = 0.
17341
17342 2010-12-20  Bruno Haible  <bruno@clisp.org>
17343
17344         round*, trunc*: Update documentation regarding glibc.
17345         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
17346         * doc/posix-functions/round.texi: Likewise.
17347         * doc/posix-functions/roundl.texi: Likewise.
17348         * doc/posix-functions/truncf.texi: Likewise.
17349         * doc/posix-functions/trunc.texi: Likewise.
17350         * doc/posix-functions/truncl.texi: Likewise.
17351
17352 2010-12-20  Bruno Haible  <bruno@clisp.org>
17353
17354         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
17355         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
17356         * doc/posix-functions/round.texi: Likewise.
17357         * doc/posix-functions/roundl.texi: Likewise.
17358
17359 2010-12-20  Bruno Haible  <bruno@clisp.org>
17360
17361         ttyname_r: Add missing declaration on HP-UX 11.
17362         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
17363         HAVE_TTYNAME_R.
17364         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
17365         declared. Set HAVE_TTYNAME_R always.
17366         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
17367         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
17368         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
17369         HAVE_TTYNAME_R.
17370         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
17371
17372 2010-12-20  Bruno Haible  <bruno@clisp.org>
17373
17374         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
17375         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
17376         * doc/posix-functions/getlogin_r.texi: Likewise.
17377         * tests/test-getlogin.c: Include <errno.h>.
17378         (main): Avoid test failure on HP-UX 11.11.
17379         * tests/test-getlogin_r.c (main): Likewise.
17380
17381 2010-12-20  Bruno Haible  <bruno@clisp.org>
17382
17383         getlogin_r: Add missing declaration on HP-UX 11.
17384         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
17385         declared also when it exists as a function.
17386         * doc/posix-functions/getlogin_r.texi: Document this workaround.
17387
17388 2010-12-20  Bruno Haible  <bruno@clisp.org>
17389
17390         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
17391         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
17392         through wcrtomb.
17393
17394 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
17395
17396         ftoastr: fix comment
17397         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
17398         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
17399
17400 2010-12-19  Bruno Haible  <bruno@clisp.org>
17401
17402         isnan: Ensure it is a macro.
17403         * lib/math.in.h (isnan): Define as a macro if not already a macro.
17404         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
17405         Solaris.
17406
17407 2010-12-19  Bruno Haible  <bruno@clisp.org>
17408
17409         ldexpl test: Fix link error on OSF/1 5.1.
17410         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
17411
17412 2010-12-19  Bruno Haible  <bruno@clisp.org>
17413
17414         wctype: Make it work in C++ mode on OSF/1 5.1.
17415         * lib/wctype.in.h (iswblank): Declare but not define here.
17416         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
17417         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
17418         * modules/wctype (Files): Add lib/iswblank.c.
17419
17420 2010-12-19  Bruno Haible  <bruno@clisp.org>
17421
17422         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
17423         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
17424         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
17425
17426 2010-12-19  Bruno Haible  <bruno@clisp.org>
17427
17428         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
17429         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
17430         _POSIX_PII_SOCKET.
17431         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
17432         * doc/posix-functions/recvfrom.texi: Likewise.
17433         * doc/posix-functions/send.texi: Likewise.
17434         * doc/posix-functions/sendto.texi: Likewise.
17435
17436 2010-12-19  Bruno Haible  <bruno@clisp.org>
17437
17438         tcgetsid: Add missing declaration on OSF/1 5.1.
17439         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
17440         HAVE_TCGETSID.
17441         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
17442         Don't set HAVE_TCGETSID.
17443         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
17444         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
17445         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
17446         HAVE_TCGETSID.
17447         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
17448
17449 2010-12-19  Bruno Haible  <bruno@clisp.org>
17450
17451         stdio: Fix problem with popen() declaration on OSF/1 5.1.
17452         * lib/stdio.in.h: During the include_next statement, let recursive
17453         includes of this file include only the system header file.
17454
17455 2010-12-19  Bruno Haible  <bruno@clisp.org>
17456
17457         iconv_open: Fix regression from 2010-12-04.
17458         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
17459         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
17460
17461 2010-12-19  Bruno Haible  <bruno@clisp.org>
17462
17463         stdbool test: Avoid a gcc warning.
17464         * tests/test-stdbool.c (main): Fail if e1 is false.
17465         Reported by Jim Meyering.
17466
17467 2010-12-19  Jim Meyering  <meyering@redhat.com>
17468
17469         setenv: restore to working order
17470         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
17471         mistakenly removed.
17472         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
17473         HAVE_SETENV.
17474         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
17475         HAVE_SETENV.
17476
17477 2010-12-19  Bruno Haible  <bruno@clisp.org>
17478
17479         Document some different function declarations on OSF/1 5.1.
17480         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
17481         * doc/posix-functions/inet_ntop.texi: Likewise.
17482         * doc/posix-functions/gethostname.texi: Likewise.
17483         * lib/unistd.in.h (gethostname): Update comment.
17484
17485 2010-12-19  Bruno Haible  <bruno@clisp.org>
17486
17487         doc: Mention vasprintf-posix module.
17488         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
17489         the 'vasprintf-posix' module.
17490         * doc/glibc-functions/vasprintf.texi: Likewise.
17491
17492 2010-12-19  Bruno Haible  <bruno@clisp.org>
17493
17494         unsetenv: Add missing declaration on OSF/1 5.1.
17495         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
17496         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
17497         Don't set HAVE_UNSETENV. In the test program, set _BSD.
17498         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
17499         not HAVE_UNSETENV.
17500         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
17501         HAVE_UNSETENV.
17502         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
17503
17504 2010-12-19  Bruno Haible  <bruno@clisp.org>
17505
17506         setenv: Add missing declaration on OSF/1 5.1.
17507         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
17508         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
17509         declared. Don't set HAVE_SETENV.
17510         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
17511         not HAVE_SETENV.
17512         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
17513         HAVE_SETENV.
17514         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
17515
17516 2010-12-19  Bruno Haible  <bruno@clisp.org>
17517
17518         nl_langinfo tests: Avoid gcc warning.
17519         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
17520
17521 2010-12-19  Bruno Haible  <bruno@clisp.org>
17522
17523         mknod: Avoid error in C++ mode on OSF/1 with GCC.
17524         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
17525         _GL_CXXALIAS_SYS.
17526
17527 2010-12-19  Bruno Haible  <bruno@clisp.org>
17528
17529         stdbool: Relax test.
17530         * tests/test-stdbool.c (e): Don't require that casts from a variable's
17531         address to 'bool' work in static initializer, for compilers other than
17532         GCC.
17533
17534 2010-12-19  Bruno Haible  <bruno@clisp.org>
17535
17536         ftello: Add missing declaration on OSF/1 5.1.
17537         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
17538         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
17539         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
17540         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
17541         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
17542
17543 2010-12-19  Bruno Haible  <bruno@clisp.org>
17544
17545         fseeko: Add missing declaration on OSF/1 5.1.
17546         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
17547         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
17548         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
17549         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
17550         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
17551
17552 2010-12-19  Bruno Haible  <bruno@clisp.org>
17553
17554         fchdir: Add missing declaration on OSF/1 5.1.
17555         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
17556         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
17557         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
17558         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
17559         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
17560
17561 2010-12-19  Bruno Haible  <bruno@clisp.org>
17562
17563         relocatable-prog-wrapper: Separate from relocatable-prog.
17564         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
17565         uninstall-relocwrapper rule here.
17566         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
17567         Reported by Ian Beckwith <ianb@erislabs.net>.
17568
17569 2010-12-19  Bruno Haible  <bruno@clisp.org>
17570
17571         unistr/u8-mbsnlen: Add missing dependency.
17572         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
17573         Reported by Ian Beckwith <ianb@erislabs.net>.
17574
17575 2010-12-19  Bruno Haible  <bruno@clisp.org>
17576
17577         iconv: Make it possible again to use this module without 'iconv-h'.
17578         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
17579         if it is not defined.
17580         Reported by Ian Beckwith <ianb@erislabs.net>.
17581
17582 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
17583
17584         acl: port to Solaris 8 when copying from tmpfs to ufs
17585         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
17586         error number.  Problem observed on Solaris 8 with latest
17587         coreutils, with "mv A B", where A is on a tmpfs file system and B
17588         is on a ufs file system.  This caused coreutils' mv/part-symlink
17589         test to fail.
17590
17591         tests: set fail=0 at start
17592         * tests/init.sh (setup_): Move fail=0 initialization here ...
17593         (mktempd_): ... from here, so that tests can rely on fail being
17594         set to 0 initially.  This fixes a problem in coreutils; see:
17595         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
17596
17597 2010-12-18  Bruno Haible  <bruno@clisp.org>
17598
17599         memmem-simple: Stylistic changes.
17600         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
17601         Fix preprocessor directive indentation.
17602
17603 2010-12-15  Pádraig Brady <P@draigBrady.com>
17604
17605         memmem, memmem-simple: reorganize and expand empty needle check
17606         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
17607         functional checks to memmem-simple so that one has a fully functional
17608         memmem by using just this module.
17609         Restrict the performance only check to the memmem module.
17610         Also expand the empty needle check to ensure the correct
17611         pointer is returned, not just a non NULL pointer.
17612         * doc/glibc-functions/memmem.texi: Rearrange the portability
17613         documentation to correlate with the rearranged checks.
17614         Clarify exactly how the memmem and memmem-simple modules
17615         relate to each other.
17616
17617 2010-12-15  Pádraig Brady <P@draigBrady.com>
17618             Bruno Haible  <bruno@clisp.org>
17619
17620         Improve cross-compilation guesses for uClibc.
17621         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
17622         that uClibc does not have the glibc bug.
17623         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
17624         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
17625
17626 2010-12-14  Eric Blake  <eblake@redhat.com>
17627
17628         configmake: provide fallbacks for oldest supported autotools
17629         * m4/configmake.m4: New file.
17630         * modules/configmake (Files): Ship it.
17631         (configure.ac): Use it to guarantee fallbacks.
17632
17633 2010-12-13  Pádraig Brady <P@draigBrady.com>
17634
17635         read-file: Improve handling of large files
17636         * lib/read-file.c (fread_file): Minimize realloc()s
17637         for regular files, and better manage sizes around SIZE_MAX.
17638
17639 2010-12-13  Eric Blake  <eblake@redhat.com>
17640
17641         cloexec, fcntl: relax license
17642         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
17643         consent from all contributors.
17644         * modules/fcntl (License): Likewise.
17645
17646 2010-12-10  Bruno Haible  <bruno@clisp.org>
17647
17648         Tests for module 'pipe-posix'.
17649         * modules/pipe-posix-tests: New file.
17650         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
17651
17652 2010-12-10  Bruno Haible  <bruno@clisp.org>
17653
17654         pipe-posix: Make it work in C++ mode.
17655         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
17656         (pipe): Use common idiom, not a macro definition.
17657         * lib/pipe.c: New file.
17658         * m4/pipe.m4: New file.
17659         * modules/pipe-posix (Description): Enhance.
17660         (Files): Add lib/pipe.c, m4/pipe.m4.
17661         (configure.ac): Invoke gl_FUNC_PIPE.
17662         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
17663         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
17664         * tests/test-unistd-c++.cc: Check the signature of pipe.
17665
17666 2010-12-10  Bruno Haible  <bruno@clisp.org>
17667
17668         Rename module 'pipe' to 'spawn-pipe'.
17669         * modules/spawn-pipe: New file, renamed from modules/pipe.
17670         (Files, configure.ac, Makefile.am): Update.
17671         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
17672         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
17673         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
17674         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
17675         "spawn-pipe.h" instead of "pipe.h".
17676         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
17677         to gl_SPAWN_PIPE.
17678         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
17679         (Files, Makefile.am): Update.
17680         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
17681         Update.
17682         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
17683         Include "spawn-pipe.h" instead of "pipe.h".
17684         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
17685         * lib/javacomp.c: Likewise.
17686         * lib/javaversion.c: Likewise.
17687         * lib/pipe-filter-gi.c: Likewise.
17688         * lib/pipe-filter-ii.c: Likewise.
17689         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
17690         * modules/javacomp (Depends-on): Likewise.
17691         * modules/javaversion (Depends-on): Likewise.
17692         * modules/pipe-filter-gi (Depends-on): Likewise.
17693         * modules/pipe-filter-ii (Depends-on): Likewise.
17694         * MODULES.html.sh (Executing programs): Update.
17695         * NEWS: Mention the change.
17696
17697 2010-12-10  Eric Blake  <eblake@redhat.com>
17698
17699         pipe-posix: new module
17700         * modules/pipe-posix: New file.
17701         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
17702         (gl_UNISTD_H): Check for declaration.
17703         * modules/unistd (Makefile.am): Substitute it.
17704         * lib/unistd.in.h (pipe): Provide it for mingw.
17705         * doc/posix-functions/pipe.texi (pipe): Update documentation.
17706         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
17707
17708 2010-12-07  Bruno Haible  <bruno@clisp.org>
17709
17710         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
17711         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
17712         u8_strcmp_gnu.
17713         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
17714
17715 2010-12-06  Bruno Haible  <bruno@clisp.org>
17716
17717         Update internal documentation.
17718         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
17719
17720 2010-12-04  Bruno Haible  <bruno@clisp.org>
17721
17722         Put more information about failed tests into the test return codes.
17723         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
17724         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
17725         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
17726         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
17727         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
17728         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
17729         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
17730         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
17731         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
17732         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
17733         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
17734         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
17735         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
17736         * m4/stdint.m4 (gl_STDINT_H): Likewise.
17737         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
17738         returns a bit mask.
17739         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
17740         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
17741         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
17742         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
17743         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
17744         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
17745         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
17746         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
17747         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
17748         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
17749         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
17750         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
17751         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
17752         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
17753         * m4/link.m4 (gl_FUNC_LINK): Likewise.
17754         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
17755         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
17756         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
17757         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
17758         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
17759         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
17760         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
17761         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
17762         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
17763         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
17764         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
17765         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
17766         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
17767         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
17768         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
17769         gl_PRINTF_PRECISION): Likewise.
17770         * m4/regex.m4 (gl_REGEX): Likewise.
17771         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
17772         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
17773         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
17774         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
17775         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
17776         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
17777         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
17778         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
17779         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
17780         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
17781         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
17782         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
17783         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
17784         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
17785         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
17786         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
17787         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
17788         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
17789         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
17790         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
17791         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
17792         enumerated value.
17793         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
17794
17795 2010-12-04  Bruno Haible  <bruno@clisp.org>
17796
17797         Update for Solaris 11 2010-11.
17798         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
17799         Express, released in November 2010.
17800
17801 2010-12-04  Bruno Haible  <bruno@clisp.org>
17802
17803         nproc: Relax license.
17804         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
17805         and Paul Eggert.
17806         Requested by Ludovic Courtès <ludo@gnu.org>.
17807
17808 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
17809
17810         utimecmp: fine-grained src to nearby coarse-grained dest
17811
17812         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
17813         and the source is on a file system with higher-resolution time
17814         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
17815         not work, and the time stamps are close together, the algorithm to
17816         determine the exact resolution from the read-back mtime was buggy:
17817         it had a "!=" where it should have had an "==".  This bug has been
17818         in the code ever since it was introduced to gnulib.
17819         Problem reported by Dan Jacobson in
17820         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
17821
17822 2010-11-30  Bruno Haible  <bruno@clisp.org>
17823
17824         strerror_r-posix: Fix autoconf test.
17825         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
17826
17827 2010-11-28  Bruno Haible  <bruno@clisp.org>
17828             Paul Eggert  <eggert@cs.ucla.edu>
17829
17830         Tests for module 'getdomainname'.
17831         * modules/getdomainname-tests: New file.
17832         * tests/test-getdomainname.c: New file, based on
17833         tests/test-gethostname.c.
17834
17835 2010-11-28  Bruno Haible  <bruno@clisp.org>
17836             Paul Eggert  <eggert@cs.ucla.edu>
17837
17838         getdomainname: Use the system function when possible.
17839         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
17840         (getdomainname): Replace if needed. Provide the declaration if it is
17841         missing. Don't use _GL_CXXALIAS_SYS_CAST.
17842         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
17843         (getdomainname): When the system has getdomainname, call the system
17844         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
17845         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
17846         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
17847         found in libnsl. Look for the declaration also in <netdb.h>. Replace
17848         the function if its second argument is of type 'int' or if it is found
17849         in libnsl.
17850         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
17851         <sys/systeminfo.h> and sysinfo().
17852         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
17853         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
17854         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
17855         HAVE_GETDOMAINNAME.
17856         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
17857         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
17858         * doc/glibc-functions/getdomainname.texi: Document the problems with
17859         the getdomainname declaration.
17860
17861 2010-11-28  Bruno Haible  <bruno@clisp.org>
17862
17863         sys_socket: Ensure ss_family field on AIX.
17864         * lib/sys_socket.in.h (ss_family): New macro definition.
17865         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
17866         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
17867         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
17868         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
17869         * modules/sys_socket (Makefile.am): Substitute
17870         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
17871         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
17872
17873 2010-11-27  Bruno Haible  <bruno@clisp.org>
17874
17875         readline: Improve configure output.
17876         * m4/readline.m4 (gl_FUNC_READLINE): Make the
17877         "checking for readline..." result understandable.
17878
17879 2010-11-27  Bruno Haible  <bruno@clisp.org>
17880
17881         *printf-posix: Detect a bug on Solaris 10/x86.
17882         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
17883         for floating-point output.
17884         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
17885         directive.
17886         * tests/test-snprintf-posix.h (test_function): Likewise.
17887         * tests/test-sprintf-posix.h (test_function): Likewise.
17888         * tests/test-vasprintf-posix.c (test_function): Likewise.
17889         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
17890         * doc/posix-functions/printf.texi: Likewise.
17891         * doc/posix-functions/snprintf.texi: Likewise.
17892         * doc/posix-functions/sprintf.texi: Likewise.
17893         * doc/posix-functions/vfprintf.texi: Likewise.
17894         * doc/posix-functions/vprintf.texi: Likewise.
17895         * doc/posix-functions/vsnprintf.texi: Likewise.
17896         * doc/posix-functions/vsprintf.texi: Likewise.
17897         * doc/glibc-functions/obstack_printf.texi: Likewise.
17898         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
17899
17900 2010-11-27  Bruno Haible  <bruno@clisp.org>
17901
17902         Fix link error when module libunistring-optional is in use.
17903         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
17904         * modules/striconveha-tests (Makefile.am): Likewise.
17905
17906 2010-11-27  Bruno Haible  <bruno@clisp.org>
17907
17908         regex: Mention link dependencies.
17909         * modules/regex (Link): New section.
17910         * modules/rpmatch (Link): Likewise.
17911         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
17912
17913 2010-11-27  Bruno Haible  <bruno@clisp.org>
17914
17915         ftoastr: Fix compilation error on Solaris.
17916         * lib/ftoastr.c: Include <config.h>.
17917
17918 2010-11-27  Bruno Haible  <bruno@clisp.org>
17919
17920         getloadavg: Update documentation.
17921         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
17922
17923 2010-11-27  Bruno Haible  <bruno@clisp.org>
17924
17925         sys_socket: Fix test whether the functions are declared.
17926         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
17927         not <sys/select.h>.
17928
17929 2010-11-27  Bruno Haible  <bruno@clisp.org>
17930
17931         getpass: Make sure to get system declaration on some platforms.
17932         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
17933         gl_USE_SYSTEM_EXTENSIONS.
17934         * modules/getpass (Depends-on): Add extensions.
17935
17936 2010-11-26  Bruno Haible  <bruno@clisp.org>
17937
17938         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
17939         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
17940         'iconv' module is present.
17941         (ICONV_CONST): New macro.
17942         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
17943         ICONV_CONST.
17944         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
17945         set ICONV_CONST.
17946         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
17947         here.
17948         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
17949         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
17950         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
17951         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
17952         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
17953         present.
17954
17955 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
17956
17957         ftoastr: comment fix
17958         * lib/ftoastr.c: "little" -> "little or no" in comment
17959
17960 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
17961
17962         stdint: port to GCC 4.3 + OSX + Octave
17963         On this platform, stdint.h is buggy and defines int64_t to long
17964         long int.  The replacement defined it to long int, causing
17965         problems with C++ style name mangling.  Instead, trust the system
17966         definition if INT64_MAX is defined, and likewise for the unsigned
17967         variant.   Problem reported by Jarno Rajahalme in
17968         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
17969         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
17970         and don't mess with int64_t and INT64_MAX in this case.
17971         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
17972
17973 2010-11-24  Bruno Haible  <bruno@clisp.org>
17974
17975         doc: Corrections regarding MacOS X 10.4 and 10.5.
17976         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
17977         MacOS X.
17978         Reported by Simon Josefsson.
17979
17980 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
17981
17982         Uninstall ".bin" files installed by relocwrapper.
17983         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
17984         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
17985         unless it is already there.
17986
17987 2010-11-21  Bruno Haible  <bruno@clisp.org>
17988
17989         Update for NetBSD 5.0.
17990         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
17991         NetBSD; the test fails on NetBSD 5.0.
17992         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
17993         about NetBSD.
17994
17995 2010-11-21  Bruno Haible  <bruno@clisp.org>
17996
17997         Update for HP-UX 11.23 and HP-UX 11.31.
17998         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
17999         HP-UX.
18000
18001 2010-11-21  Bruno Haible  <bruno@clisp.org>
18002
18003         Update for MacOS X 10.5.
18004         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
18005         MacOS X; the test fails on MacOS X 10.5.8.
18006         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
18007         about MacOS X.
18008
18009 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
18010
18011         bootstrap: add bootstrap_sync option.
18012         See discussion at
18013         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
18014         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
18015         * build-aux/bootstrap: Accept --bootstrap-sync to update
18016         bootstrap if it is not identical to the local gnulib's
18017         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
18018         enable this by default.  Accept --no-bootstrap-sync to disable
18019         it.
18020
18021 2010-11-20  Bruno Haible  <bruno@clisp.org>
18022
18023         Ensure that <features.h> is included before __GLIBC__ is tested.
18024         * lib/printf-parse.h: Include <features.h>.
18025         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
18026         Reported by Mike Frysinger <vapier@gentoo.org>.
18027
18028         Ensure that <features.h> is included before __GLIBC__ is tested.
18029         * lib/wchar.in.h: Include <features.h>.
18030         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
18031         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
18032         Reported by Mike Frysinger <vapier@gentoo.org>.
18033
18034         Ensure that <features.h> is included before __GLIBC__ is tested.
18035         * lib/arpa_inet.in.h: Include <features.h>.
18036         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
18037         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
18038         Reported by Mike Frysinger <vapier@gentoo.org>.
18039
18040         Ensure that <features.h> is included before __GLIBC__ is tested.
18041         * build-aux/link-warning.h: Include <features.h>.
18042         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
18043         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
18044         Reported by Mike Frysinger <vapier@gentoo.org>.
18045
18046         Ensure that <features.h> is included before __GLIBC__ is tested.
18047         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
18048         Reported by Mike Frysinger <vapier@gentoo.org>.
18049
18050 2010-11-20  Bruno Haible  <bruno@clisp.org>
18051
18052         memmem: Fix autoconf test.
18053         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
18054
18055 2010-11-20  Bruno Haible  <bruno@clisp.org>
18056
18057         Port to uClibc.
18058         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
18059         * lib/fcntl.in.h: Likewise.
18060         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
18061         * lib/mbrtowc.c (mbrtowc): Likewise.
18062         * lib/relocatable.c (find_shared_library_fullname): Likewise.
18063         * lib/strerror_r.c: Likewise.
18064         * lib/unistr/u8-strnlen.c: Likewise.
18065         * lib/vasnprintf.c (decimal_point_char): Likewise.
18066         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
18067         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
18068         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
18069         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
18070         * tests/test-sigaction.c (handler, main): Likewise.
18071         * lib/freading.h: Treat uClibc like a non-glibc platform.
18072         * lib/freading.c: Likewise.
18073         * lib/gettext.h: Likewise.
18074         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
18075         Likewise.
18076         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
18077         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
18078         * lib/propername.c (proper_name_utf8): Likewise.
18079         * lib/spawn.in.h: Likewise.
18080         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
18081         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
18082         mem_cd_iconveh_internal): Likewise.
18083         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
18084         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
18085         strstr, strcasestr): Likewise.
18086         * lib/unicodeio.c (unicode_to_mb): Likewise.
18087         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
18088         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
18089         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
18090         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
18091         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
18092         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
18093         * lib/unistr/u8-stpncpy.c: Likewise.
18094         * lib/vasnprintf.c (VASNPRINTF): Likewise.
18095         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
18096         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
18097         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
18098         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
18099         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
18100         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
18101         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
18102         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
18103         Likewise.
18104         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
18105         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
18106         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
18107         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
18108         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
18109         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
18110         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
18111         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
18112         * tests/test-getopt.h (OPTIND_MIN): Likewise.
18113         * tests/test-striconveha.c (main): Likewise.
18114         * tests/test-vasnprintf-posix.c (test_function): Likewise.
18115         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
18116         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
18117         * doc/posix-functions/getline.texi: Likewise.
18118         Reported by Mike Frysinger <vapier@gentoo.org>.
18119
18120 2010-11-20  Bruno Haible  <bruno@clisp.org>
18121
18122         nproc: Fix condition.
18123         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
18124         HAVE_PTHREAD_AFFINITY_NP.
18125
18126 2010-11-20  Bruno Haible  <bruno@clisp.org>
18127
18128         Fix a comment.
18129         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
18130
18131 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
18132
18133         ftoastr: don't assume snprintf
18134         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
18135         Implement a subset of snprintf here, by using sprintf safely.
18136         * modules/ftoastr (Depends-on): Remove snprintf.
18137
18138 2010-11-19  Jim Meyering  <meyering@redhat.com>
18139
18140         test-rename.h: fix compilation failure
18141         * tests/test-rename.h (test_rename): Add omitted "}".
18142
18143 2010-11-17  Jim Meyering  <meyering@redhat.com>
18144
18145         maint.mk: add a URL discussing the no-@acronym policy
18146         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
18147
18148 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
18149
18150         ftoastr: depend on snprintf, improve comments
18151         * lib/ftoastr.c: Also mention Loitsch's draft.
18152         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
18153         needed in the current implementation, but it might simplify
18154         speeding up the code later.
18155         * modules/ftoastr: Depend on snprintf; this improves portability.
18156         Suggested by Bruno Haible in the same email.
18157
18158         ftoastr: port to hosts lacking strtof and strtold
18159         Problem reported by Bruno Haible in
18160         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
18161         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
18162         environment and strtold (and presumably strtof) are not available.
18163         * modules/ftoastr (Files): Add m4/c-strtod.m4.
18164         (configure.ac): Require gl_C99_STRTOLD.
18165
18166 2010-11-18  Bruno Haible  <bruno@clisp.org>
18167
18168         c-strtold: Avoid link error on AIX 7.
18169         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
18170         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
18171         (gl_C_STRTOLD): Test whether strtold_l exists.
18172         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
18173
18174 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
18175
18176         intprops: new macro INT_BITS_STRLEN_BOUND
18177         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
18178         ftoastr.h.  This exposes an internal of intprops.h that was formerly
18179         not exposed.  Also, it uses a slightly tighter bound than before;
18180         though this makes no practical difference, we might as well be as
18181         tight as we easily can.
18182
18183         ftoastr: new module, for lossless conversion of floats to short strings
18184         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
18185         * modules/ftoastr: New files.
18186
18187 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
18188
18189         bootstrap: port to Solaris sed
18190         * build-aux/bootstrap (get_version): Port to Solaris sed.
18191         See Ralf Wildenhues's note in
18192         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
18193
18194 2010-11-14  Jim Meyering  <meyering@redhat.com>
18195
18196         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
18197         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
18198         and move definition closer to sole use.
18199
18200 2010-11-13  Jim Meyering  <meyering@redhat.com>
18201
18202         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
18203         Now we require at least autoconf-2.59, which means the work-around
18204         is no longer needed.
18205         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
18206         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
18207         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
18208         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
18209         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
18210
18211 2010-11-13  Bruno Haible  <bruno@clisp.org>
18212
18213         rename, renameat: Avoid test failures at NFS mounted locations.
18214         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
18215         functions.
18216         (test_rename): Use assert_nonexistent.
18217         * tests/test-rename.c: Include <dirent.h>.
18218         * tests/test-renameat.c: Likewise.
18219         Reported by Gary V. Vaughan <gary@gnu.org>.
18220
18221         rename, renameat: Document Linux bug with NFS
18222         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
18223         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
18224         * doc/posix-functions/renameat.texi: Likewise.
18225         Suggested by Eric Blake.
18226
18227 2010-11-13  Bruno Haible  <bruno@clisp.org>
18228
18229         rename test: Add comments.
18230         * tests/test-rename.h (test_rename): Add structure and comments.
18231
18232 2010-11-13  Eric Blake  <eblake@redhat.com>
18233
18234         maintainer-makefile: cover a few more files
18235         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
18236         scripts generated within C files, for libvirt.
18237
18238 2010-11-13  Bruno Haible  <bruno@clisp.org>
18239
18240         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
18241         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
18242         character, return the number of bytes that belong together, not always
18243         1.
18244         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
18245         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
18246         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
18247         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
18248         number of bytes of an invalid character.
18249         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
18250         (main): Invoke it.
18251         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
18252         results.
18253         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
18254         malformed byte sequences.
18255         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
18256         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
18257         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
18258         Reported by Ben Pfaff and Paolo Bonzini.
18259
18260 2010-11-13  Bruno Haible  <bruno@clisp.org>
18261
18262         openat: Work around glibc bug with fchownat() and empty file names.
18263         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
18264         (gl_FUNC_FCHOWNAT): Invoke it.
18265         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
18266         * doc/posix-functions/fchownat.texi: Document the glibc bug.
18267         Reported by Gary V. Vaughan <gary@gnu.org>.
18268
18269 2010-11-13  Bruno Haible  <bruno@clisp.org>
18270
18271         openat: Ensure autoconf macro ordering.
18272         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
18273         gl_USE_SYSTEM_EXTENSIONS.
18274         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
18275
18276 2010-11-13  Bruno Haible  <bruno@clisp.org>
18277
18278         Update comments.
18279         * lib/unistr/u8-check.c: Update file name in comments.
18280         * lib/unistr/u8-mblen.c: Likewise.
18281         * lib/unistr/u8-prev.c: Likewise.
18282         * lib/unistr/u8-strmblen.c: Likewise.
18283         * lib/unistr/u8-strmbtouc.c: Likewise.
18284
18285 2010-11-13  Jim Meyering  <meyering@redhat.com>
18286
18287         tests: avoid test failure on Solaris 10 due to lack of PATH export
18288         * tests/test-update-copyright.sh: Don't forget to export PATH.
18289
18290         init.sh: ensure that IFS is defined, just in case...
18291         * tests/init.sh (setup_): Ensure that IFS is defined,
18292         so that saving and restoring it works as expected.  This
18293         appears to be useful at least for an old version of dash
18294         from a long time ago (RH 6).  See here for details:
18295         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
18296
18297         maint.mk: tighten "test a == b" check
18298         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
18299         test to files that contain something like #!/bin/sh.
18300         Without this, coreutils would get two false positives in
18301         the comments of C source files.
18302
18303 2010-11-12  Eric Blake  <eblake@redhat.com>
18304
18305         bootstrap: fix typo in previous attempt
18306         * build-aux/bootstrap (buildreq): Correct the grouping.
18307         Reported by Paul Eggert.
18308
18309         maintainer-makefile: prohibit test x == x
18310         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
18311         Based on a report by Matthias Bolte.
18312
18313         bootstrap: allow FreeBSD gzip
18314         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
18315         which has no '.' and goes to stderr.
18316         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
18317         Reported by Matthias Bolte.
18318
18319         maintainer-makefile: check for i18n setup
18320         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
18321         will likely work.
18322
18323 2010-11-12  Bruno Haible  <bruno@clisp.org>
18324
18325         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
18326         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
18327         * lib/nanosleep.c (nanosleep): Likewise.
18328
18329 2010-11-11  Bruno Haible  <bruno@clisp.org>
18330
18331         fcntl-h: Fix for use of C++ on glibc systems.
18332         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
18333         also on glibc systems in C++ mode.
18334         Reported by Gary V. Vaughan <gary@gnu.org>.
18335
18336 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
18337
18338         mknod: avoid false failure with dash
18339         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
18340
18341 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
18342
18343         unlink: Fix "is it should" typo in diagnostic.
18344         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
18345         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
18346
18347 2010-11-11  Bruno Haible  <bruno@clisp.org>
18348
18349         Tests for module 'strerror_r-posix'.
18350         * modules/strerror_r-posix-tests: New file.
18351         * tests/test-strerror_r.c: New file.
18352         * tests/test-string-c++.cc: Check the signature of strerror_r.
18353
18354         New module 'strerror_r-posix'.
18355         * lib/string.in.h (strerror_r): New declaration.
18356         * lib/strerror_r.c: New file.
18357         * m4/strerror_r.m4: New file.
18358         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
18359         of strerror_r.
18360         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
18361         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
18362         * modules/strerror_r-posix: New file.
18363         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
18364         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
18365         * doc/posix-functions/strerror_r.texi: Mention the new module and the
18366         portability problems.
18367
18368 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
18369
18370         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
18371         line is also considered for output. Quoted function name in shell
18372         command, so temporary files for functions like MyClass::operator()
18373         are removed correctly without errors.
18374
18375 2010-11-09  Bruno Haible  <bruno@clisp.org>
18376
18377         * doc/posix-functions/strerror.texi: List more failing platforms.
18378
18379         * doc/posix-functions/strerror.texi: Add a comment.
18380
18381 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
18382
18383         fdopendir: fix bug on MacOS X when low on file descriptors
18384
18385         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
18386         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
18387         All callers changed.
18388         (fdopendir): Invoke save_cwd at the top level, not after using
18389         multiple dup() calls to use up file descriptors.  Then retry
18390         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
18391         less than the maximum number of open file descriptors, because
18392         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
18393         on Mac OS X 10.6.4 for tar 1.24
18394         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
18395         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
18396         and for tar 1.25
18397         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
18398
18399 2010-11-07  Bruno Haible  <bruno@clisp.org>
18400
18401         vasnprintf: Support I flag on glibc systems.
18402         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
18403         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
18404         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
18405         snprintf function.
18406         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
18407         glibc systems.
18408         * tests/test-vasnprintf-posix3.c: New file.
18409         * modules/vasnprintf-posix-tests (Files): Add it.
18410         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
18411
18412 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
18413
18414         [html] Fix copy/paste bug: Use unique name for compiler warnings.
18415         * MODULES.html.sh: For compiler warnings, use name
18416         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
18417
18418 2010-11-05  Eric Blake  <eblake@redhat.com>
18419
18420         ceil, floor: avoid spurious failure with icc
18421         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
18422         [denormals-as-zero] when optimizing without -mieee-fp option.
18423         * tests/test-floorf2.c (floorf_reference): Likewise.
18424         * tests/test-ceilf1.c (dummy): New function.
18425         (main): Use it to outsmart icc's optimization.
18426         * tests/test-floorf1.c (dummy, main): Likewise.
18427
18428         tests: require working signbit
18429         * modules/ceilf-tests (Depends-on): Add signbit.
18430         * modules/ceill-tests (Depends-on): Likewise.
18431         * modules/floorf-tests (Depends-on): Likewise.
18432         * modules/floorl-tests (Depends-on): Likewise.
18433         * modules/round-tests (Depends-on): Likewise.
18434         * modules/roundf-tests (Depends-on): Likewise.
18435         * modules/roundl-tests (Depends-on): Likewise.
18436         * modules/trunc-tests (Depends-on): Likewise.
18437         * modules/truncf-tests (Depends-on): Likewise.
18438         * modules/truncl-tests (Depends-on): Likewise.
18439
18440         strtod: work around icc bug
18441         * lib/strtod.c (minus_zero): Define to working value.
18442         (strtod): Use it to avoid icc bug.
18443
18444         copysign: enhance tests
18445         * modules/copysign-tests (Files): Add minus-zero.h.
18446         * tests/test-copysign.c (main): Also test zeros.
18447
18448 2010-11-04  Eric Blake  <eblake@redhat.com>
18449
18450         ceil, floor, round, trunc: enhance tests of -0
18451         * tests/test-ceilf1.c (main): Ensure correct sign of result.
18452         * tests/test-ceill.c (main): Likewise.
18453         * tests/test-floorf1.c (main): Likewise.
18454         * tests/test-floorl.c (main): Likewise.
18455         * tests/test-round1.c (main): Likewise.
18456         * tests/test-roundf1.c (main): Likewise.
18457         * tests/test-roundl.c (main): Likewise.
18458         * tests/test-trunc1.c (main): Likewise.
18459         * tests/test-truncf1.c (main): Likewise.
18460         * tests/test-truncl.c (main): Likewise.
18461
18462 2010-11-04  Eric Blake  <eblake@redhat.com>
18463
18464         frexp, tests: work around ICC bug with -zero
18465         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
18466         works with more compilers.
18467         * tests/minus-zero.h: New file.
18468         * modules/ceilf-tests (Files): Include it.
18469         * modules/ceill-tests (Files): Likewise.
18470         * modules/floorf-tests (Files): Likewise.
18471         * modules/floorl-tests (Files): Likewise.
18472         * modules/frexp-nolibm-tests (Files): Likewise.
18473         * modules/frexp-tests (Files): Likewise.
18474         * modules/frexpl-nolibm-tests (Files): Likewise.
18475         * modules/frexpl-tests (Files): Likewise.
18476         * modules/isnan-tests (Files): Likewise.
18477         * modules/isnand-nolibm-tests (Files): Likewise.
18478         * modules/isnand-tests (Files): Likewise.
18479         * modules/isnanf-nolibm-tests (Files): Likewise.
18480         * modules/isnanf-tests (Files): Likewise.
18481         * modules/isnanl-nolibm-tests (Files): Likewise.
18482         * modules/isnanl-tests (Files): Likewise.
18483         * modules/round-tests (Files): Likewise.
18484         * modules/roundf-tests (Files): Likewise.
18485         * modules/roundl-tests (Files): Likewise.
18486         * modules/ldexpl-tests (Files): Likewise.
18487         * modules/signbit-tests (Files): Likewise.
18488         * modules/snprintf-posix-tests (Files): Likewise.
18489         * modules/sprintf-posix-tests (Files): Likewise.
18490         * modules/strtod-tests (Files): Likewise.
18491         * modules/trunc-tests (Files): Likewise.
18492         * modules/truncf-tests (Files): Likewise.
18493         * modules/truncl-tests (Files): Likewise.
18494         * modules/vsnprintf-posix-tests (Files): Likewise.
18495         * modules/vsprintf-posix-tests (Files): Likewise.
18496         * modules/vasnprintf-posix-tests (Files): Likewise.
18497         * modules/vasprintf-posix-tests (Files): Likewise.
18498         * tests/test-ceilf1.c (main): Use it.
18499         * tests/test-ceill.c (main): Likewise.
18500         * tests/test-floorf1.c (main): Likewise.
18501         * tests/test-floorl.c (main): Likewise.
18502         * tests/test-frexp.c (main): Likewise.
18503         * tests/test-frexpl.c (main): Likewise.
18504         * tests/test-isnan.c (main): Likewise.
18505         * tests/test-isnand.h (main): Likewise.
18506         * tests/test-isnanf.h (main): Likewise.
18507         * tests/test-isnanl.h (main): Likewise.
18508         * tests/test-ldexpl.c (main): Likewise.
18509         * tests/test-round.c (main): Likewise.
18510         * tests/test-roundf.c (main): Likewise.
18511         * tests/test-roundl.c (main): Likewise.
18512         * tests/test-signbit.c (test_signbitf, test_signbitd)
18513         (test_signbitl): Likewise.
18514         * tests/test-snprintf-posix.h (test_function): Likewise.
18515         * tests/test-sprintf-posix.h (test_function): Likewise.
18516         * tests/test-strtod.c (main): Likewise.
18517         * tests/test-trunc1.c (main): Likewise.
18518         * tests/test-truncf1.c (main): Likewise.
18519         * tests/test-truncl.c (main): Likewise.
18520
18521         isnanl: work around icc bug
18522         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
18523
18524 2010-11-03  Eric Blake  <eblake@redhat.com>
18525
18526         tests: fix compiler warnings
18527         * tests/test-getopt.h (test_getopt): Fix condition.
18528         * tests/test-getopt_long.h (test_getopt_long): Likewise.
18529         * tests/test-pipe2.c (main): Likewise.
18530         * tests/test-quotearg-simple.c (main): Avoid icc warning.
18531
18532         utimens: fix broken m4 test
18533         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
18534
18535 2010-10-28  Bruno Haible  <bruno@clisp.org>
18536
18537         posix_spawn*, getdtablesize: Relax license.
18538         * modules/posix_spawn (License): Change to LGPLv2+.
18539         * modules/posix_spawnp (License): Likewise.
18540         * modules/posix_spawn-internal (License): Likewise.
18541         * modules/posix_spawnattr_init (License): Likewise.
18542         * modules/posix_spawnattr_getflags (License): Likewise.
18543         * modules/posix_spawnattr_setflags (License): Likewise.
18544         * modules/posix_spawnattr_getpgroup (License): Likewise.
18545         * modules/posix_spawnattr_setpgroup (License): Likewise.
18546         * modules/posix_spawnattr_getschedparam (License): Likewise.
18547         * modules/posix_spawnattr_setschedparam (License): Likewise.
18548         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
18549         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
18550         * modules/posix_spawnattr_getsigdefault (License): Likewise.
18551         * modules/posix_spawnattr_setsigdefault (License): Likewise.
18552         * modules/posix_spawnattr_getsigmask (License): Likewise.
18553         * modules/posix_spawnattr_setsigmask (License): Likewise.
18554         * modules/posix_spawnattr_destroy (License): Likewise.
18555         * modules/posix_spawn_file_actions_init (License): Likewise.
18556         * modules/posix_spawn_file_actions_addclose (License): Likewise.
18557         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
18558         * modules/posix_spawn_file_actions_addopen (License): Likewise.
18559         * modules/posix_spawn_file_actions_destroy (License): Likewise.
18560         * modules/getdtablesize (License): Likewise.
18561         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
18562
18563 2010-10-26  Bruno Haible  <bruno@clisp.org>
18564
18565         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
18566         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
18567         Cygwin and mingw.
18568         Suggested by Eric Blake.
18569
18570 2010-10-26  Bruno Haible  <bruno@clisp.org>
18571
18572         stdio: Work around compilation error due to renameat() on Solaris 10.
18573         * lib/stdio.in.h: Include <unistd.h> on Solaris.
18574         * lib/renameat.c: Don't include <unistd.h> here.
18575         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
18576         Reported by Paul Eggert and Eric Blake.
18577
18578 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
18579
18580         renameat: port to Solaris 10, which declares renameat in unistd.h
18581
18582         * lib/renameat.c: Include unistd.h before stdio.h, because
18583         Solaris 10 declares renameat in unistd.h.  Problem encountered
18584         when building GNU tar 1.24 on Solaris 10.
18585
18586 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
18587
18588         fdopendir: fix C89 compilation
18589         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
18590         compilers.
18591
18592 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
18593
18594         inttostr: simplify by removing unnecessary redundancy
18595         * lib/anytostr.c: Don't include verify.h.
18596         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
18597         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
18598         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
18599         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
18600         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
18601         Likewise.
18602         * modules/inttostr (Depends-on): Remove 'verify'.
18603
18604 2010-10-23  Bruno Haible  <bruno@clisp.org>
18605
18606         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
18607         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
18608         Reported by Eric Blake.
18609
18610 2010-10-23  Bruno Haible  <bruno@clisp.org>
18611
18612         Tests: Fix LOCALE_JA on MirBSD 10.
18613         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
18614         to an UTF-8 locale.
18615         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
18616         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
18617         Reported by Eric Blake.
18618
18619 2010-10-21  Bruno Haible  <bruno@clisp.org>
18620
18621         nl_langinfo test: Avoid test failure on NetBSD 5.
18622         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
18623         Reported by Eric Blake.
18624
18625 2010-10-21  Eric Blake  <eblake@redhat.com>
18626
18627         c-stack: work around libsigsegv 2.8 bug
18628         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
18629         overflow on at least PowerPC64.
18630
18631 2010-10-17  Bruno Haible  <bruno@clisp.org>
18632
18633         userspec: Drop redundant file.
18634         * modules/userspec (Files): Remove lib/inttostr.h.
18635
18636 2010-10-17  Bruno Haible  <bruno@clisp.org>
18637
18638         nl_langinfo tests: Silence some warnings.
18639         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
18640         Reported by Jim Meyering.
18641
18642 2010-10-17  Bruno Haible  <bruno@clisp.org>
18643
18644         Make use of GCC's attribute __alloc_size__.
18645         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
18646         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
18647         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
18648         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
18649         __alloc_size__.
18650         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
18651         Suggested by Jim Meyering.
18652
18653 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
18654
18655         bootstrap: anchor .gitignore entries.
18656         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
18657         with...
18658         (insert_vc_ignore): ... this new function, which prepends `/' to
18659         all .gitignore entries before passing them to
18660         insert_sorted_if_absent.
18661
18662 2010-10-16  Bruno Haible  <bruno@clisp.org>
18663
18664         nextafter: Fix configure check.
18665         * modules/nextafter (configure.ac): Correct expected prototype.
18666
18667 2010-10-16  Bruno Haible  <bruno@clisp.org>
18668
18669         termios: Update documentation.
18670         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
18671
18672 2010-10-16  Bruno Haible  <bruno@clisp.org>
18673
18674         tests: Make them compile with TinyCC.
18675         * tests/test-strstr.c (main): Remove parentheses around array
18676         initializer.
18677
18678 2010-10-15  Eric Blake  <eblake@redhat.com>
18679
18680         ignore-value: make header idempotent
18681         * lib/ignore-value.h: Add double-inclusion guards.
18682         Reported by Stefan Berger.
18683
18684 2010-10-15  Jim Meyering  <meyering@redhat.com>
18685
18686         GNUmakefile: handle "stable" target, not "major"
18687         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
18688         lists in maint.mk and announce-gen.  Without this, "make stable"
18689         would fail to ensure that $(VERSION) is up to date.
18690
18691 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
18692
18693         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
18694         & co.
18695
18696 2010-10-14  Bruno Haible  <bruno@clisp.org>
18697
18698         vasnprintf: Don't set errno to 0.
18699         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
18700         block that sets it to 0.
18701         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
18702
18703 2010-10-14  Bruno Haible  <bruno@clisp.org>
18704
18705         socketlib: Fix.
18706         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
18707         gl_PREREQ_SYS_H_WINSOCK2.
18708         Reported by Ian Beckwith <ianb@erislabs.net>.
18709
18710 2010-10-13  Jim Meyering  <meyering@redhat.com>
18711
18712         test-select-stdin.c: avoid warn_unused_result warnings
18713         * tests/test-select-stdin.c: Include "macros.h".
18714         ASSERT that read and fflush succeed.
18715
18716 2010-10-13  Jim Meyering  <meyering@redhat.com>
18717
18718         git-version-gen: do require git-VC'd files in cwd
18719         * build-aux/git-version-gen: Reject a git version string
18720         if there are no commits associated with the current directory.
18721         This avoids an unlikely false-positive (unrelated dir whose parent
18722         repository also contains a tag matching v*), as pointed out
18723         by Giuseppe Scrivano in
18724         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
18725
18726 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
18727
18728         argv-iter: omit nonconforming declaration
18729         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
18730         enum arg_iter_err declaration, which doesn't conform to C99.
18731         Solaris 10 cc warns about this.
18732
18733 2010-10-13  Eric Blake  <eblake@redhat.com>
18734
18735         termios: fix compilation on mingw
18736         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
18737         (gl_TERMIOS_H): Adjust it on mingw.
18738         * modules/termios (Makefile.am): Substitute new key.
18739         * lib/termios.in.h (includes): Make include_next conditional.
18740         * doc/posix-headers/termios.texi (termios.h): Update
18741         documentation.
18742         Reported by Daniel P. Berrange.
18743
18744 2010-10-13  Jim Meyering  <meyering@redhat.com>
18745
18746         git-version-gen: don't require that .git/ be in the current dir
18747         * build-aux/git-version-gen: Adjust this script so that it works
18748         when run from any working directory beneath the top-level .git/-
18749         containing directory.  Inspired by a patch from Giuseppe Scrivano,
18750         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
18751
18752         test-select: avoid warn_unused_result warnings
18753         * tests/test-select.c: Include "macros.h".
18754         ASSERT that each call to read, write, and pipe succeeds.
18755         While not technically required, also check each "close".
18756         * modules/select-tests (Files): Add tests/macros.h.
18757
18758         test-symlinkat: remove declaration of unused local
18759         * tests/test-symlinkat.c (main): Remove unused local, "buf".
18760
18761         test-inttostr: avoid shadowing warnings
18762         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
18763         and use malloc rather than the stack for the same reason as
18764         mentioned in the comment justifying the other allocation.
18765
18766 2010-10-11  Bruno Haible  <bruno@clisp.org>
18767
18768         stdlib: Allow multiple gnulib generated replacements to coexist.
18769         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
18770         Reported by Sam Steingold <sds@gnu.org>.
18771
18772 2010-10-11  Jim Meyering  <meyering@redhat.com>
18773
18774         fix a documentation typo
18775         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
18776
18777 2010-10-11  Eric Blake  <eblake@redhat.com>
18778
18779         futimens: work around Solaris 11 bug
18780         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
18781         * tests/test-futimens.h (test_futimens): Enhance, rather than
18782         weaken test.
18783         * doc/posix-functions/futimens.texi (futimens): Document the bug.
18784
18785 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
18786
18787         Indentation.
18788         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
18789         higher-level operators more to the left.
18790
18791 2010-10-11  Jim Meyering  <meyering@redhat.com>
18792
18793         test-futimens: avoid unwarranted test failure on Solaris 5.11
18794         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
18795         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
18796         because it tries to dereference the NULL name argument.
18797
18798 2010-10-11  Bruno Haible  <bruno@clisp.org>
18799
18800         Indentation.
18801         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
18802         indentation.
18803
18804 2010-10-11  Jim Meyering  <meyering@redhat.com>
18805
18806         spawn.in.h: make indentation consistent with parentheses
18807         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
18808         Make indentation consistent with parentheses.
18809
18810 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
18811
18812         Fix mismatched parens in previous commit
18813         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
18814         parens.
18815
18816 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
18817
18818         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
18819
18820         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
18821         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
18822         * lib/malloca.c: Include "verify.h".
18823         (verify1): Remove, replacing with a verify call.
18824         * lib/relocwrapper.c (verify1): Likewise.
18825         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
18826         Likewise.
18827         * modules/malloca (Depends-on): Add 'verify'.
18828         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
18829         * modules/vasnprintf (Depends-on): Add 'verify'.
18830         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
18831         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
18832         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
18833         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
18834         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
18835         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
18836         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
18837
18838         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
18839
18840         Formerly the style was sometimes 2*X - 1, because the C standard
18841         was wrongly thought to disallow ?: in integral constant expressions.
18842         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
18843         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
18844         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
18845         * lib/stdint.in.h (_verify_intmax_size): Likewise.
18846         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
18847         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
18848         verify that time_t cannot be floating.
18849
18850 2010-10-08  Eric Blake  <eblake@redhat.com>
18851
18852         time: enforce recent POSIX ruling that time_t is integral
18853         * lib/time.in.h (__time_t_must_be_integral): Detect any
18854         problematic systems, allowing the rest of gnulib to assume POSIX.
18855
18856 2010-10-08  Jim Meyering  <meyering@redhat.com>
18857
18858         fdopendir: fix a bug on systems lacking openat and /proc support
18859         OpenBSD 4.7 is one such system.  The most noticeable effect was
18860         failure of any application making nontrivial use of fts: rm, du,
18861         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
18862           ./rm: traversal failed: `a': Bad file descriptor
18863         Debugging that, you see that even though FD 6 was closed just
18864         prior to the opendir call in fd_clone_opendir, its resulting
18865         dir->dd_fd was 8, rather than the expected value of 6:
18866
18867         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
18868         93                close (fd);
18869         (gdb) n
18870         94                dir = fd_clone_opendir (dupfd);
18871         (gdb) n
18872         95                saved_errno = errno;
18873         (gdb) p dir->dd_fd
18874         $11 = 8
18875
18876         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
18877         The problem is that on OpenBSD, fd_clone_opendir has to resort
18878         to using the old-style save/restore CWD mechanism, due to its
18879         lack of openat/proc support, and *that* would steal the FD (6)
18880         that opendir was supposed to use.
18881
18882         The fix is to squirrel away the desired FD so that save_cwd uses a
18883         different one, and then free the dest FD right before calling opendir.
18884         That guarantees opendir will use the required file descriptor.
18885
18886         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
18887
18888 2010-10-08  Bruno Haible  <bruno@clisp.org>
18889
18890         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
18891         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
18892
18893 2010-10-08  Bruno Haible  <bruno@clisp.org>
18894
18895         nanosleep: Make replacement POSIX compliant.
18896         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
18897         is out of range.
18898         Reported by Jim Meyering.
18899
18900 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
18901
18902         bootstrap: add hook for altering gnulib.mk, for Bison
18903         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
18904         the Bison bootstrapping process can rewrite file names and variables
18905         in this file before later parts of 'bootstrap' use the file.
18906         Bison wants to include lib/gnulib.mk from the top-level makefile,
18907         so it needs the file names in this file to be relative to the top
18908         level, not relative to lib; plus it needs variable names to be
18909         rewritten.
18910         (slurp): Use the new function.
18911
18912         bootstrap: reformat for readability
18913         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
18914
18915 2010-10-08  Eric Blake  <eblake@redhat.com>
18916
18917         docs: update cygwin progress
18918         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
18919         1.7.7.
18920         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
18921         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
18922         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
18923         * doc/posix-functions/carg.texi (carg): Likewise.
18924         * doc/posix-functions/cargf.texi (cargf): Likewise.
18925         * doc/posix-functions/casin.texi (casin): Likewise.
18926         * doc/posix-functions/casinf.texi (casinf): Likewise.
18927         * doc/posix-functions/casinh.texi (casinh): Likewise.
18928         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
18929         * doc/posix-functions/catan.texi (catan): Likewise.
18930         * doc/posix-functions/catanf.texi (catanf): Likewise.
18931         * doc/posix-functions/catanh.texi (catanh): Likewise.
18932         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
18933         * doc/posix-functions/ccos.texi (ccos): Likewise.
18934         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
18935         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
18936         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
18937         * doc/posix-functions/cexp.texi (cexp): Likewise.
18938         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
18939         * doc/posix-functions/cimag.texi (cimag): Likewise.
18940         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
18941         * doc/posix-functions/clog.texi (clog): Likewise.
18942         * doc/posix-functions/clogf.texi (clogf): Likewise.
18943         * doc/posix-functions/conj.texi (conj): Likewise.
18944         * doc/posix-functions/conjf.texi (conjf): Likewise.
18945         * doc/posix-functions/cpow.texi (cpow): Likewise.
18946         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
18947         * doc/posix-functions/cproj.texi (cproj): Likewise.
18948         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
18949         * doc/posix-functions/creal.texi (creal): Likewise.
18950         * doc/posix-functions/crealf.texi (crealf): Likewise.
18951         * doc/posix-functions/csin.texi (csin): Likewise.
18952         * doc/posix-functions/csinf.texi (csinf): Likewise.
18953         * doc/posix-functions/csinh.texi (csinh): Likewise.
18954         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
18955         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
18956         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
18957         * doc/posix-functions/ctan.texi (ctan): Likewise.
18958         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
18959         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
18960         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
18961         * doc/posix-headers/complex.texi (complex.h): Likewise.
18962
18963 2010-10-07  Jim Meyering  <meyering@redhat.com>
18964
18965         parse-datetime: avoid compilation failure on OpenBSD 4.7
18966         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
18967         This works around a compilation failure on OpenBSD 4.7:
18968         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
18969
18970 2010-10-07  Eric Blake  <eblake@redhat.com>
18971
18972         docs: update cygwin progress
18973         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
18974         1.7.6.
18975         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
18976         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
18977         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
18978         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
18979         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
18980         Likewise.
18981         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
18982         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
18983         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
18984         Likewise.
18985         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
18986         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
18987         Likewise.
18988         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
18989         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
18990         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
18991         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
18992         Likewise.
18993         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
18994         Likewise.
18995         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
18996
18997         docs: update parse-datetime history
18998         * doc/parse-datetime.texi (Authors of parse_datetime): Better
18999         documentation of this function's history and alternatives.
19000
19001         cygwin: use more robust version check
19002         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
19003         exclude an eventual cygwin 1.9.1.
19004         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
19005         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
19006         (gl_FUNC_STRCASESTR): Likewise.
19007         Reported by Bruno Haible.
19008
19009 2010-10-06  Bruno Haible  <bruno@clisp.org>
19010
19011         string, sys_select: Avoid #including large headers unless necessary.
19012         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
19013         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
19014         OSF/1, BeOS, Haiku.
19015         Reported by Jim Meyering.
19016
19017 2010-10-05  Eric Blake  <eblake@redhat.com>
19018
19019         memmem, strstr, strcasestr: fix bug with long periodic needle
19020         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
19021         periodic needle having false positive.
19022         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
19023         and cygwin 1.7.7.
19024         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
19025         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
19026         (gl_FUNC_STRCASESTR): Likewise.
19027         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
19028         * tests/test-memmem.c (main): Expose the bug.
19029         * tests/test-strcasestr.c (main): Likewise.
19030         * tests/test-strstr.c (main): Likewise.
19031         * tests/test-c-strcasestr.c (main): Likewise.
19032         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
19033         * doc/posix-functions/strstr.texi (strstr): Likewise.
19034         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
19035         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
19036
19037 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
19038
19039         parse-datetime: do some more renaming
19040         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
19041         parse_datetime, not get_date.  Mention the renaming.
19042         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
19043         in comments.
19044         * m4/bison.m4: Likewise.
19045
19046 2010-10-05  Eric Blake  <eblake@redhat.com>
19047
19048         parse-datetime: better name than get_date
19049         * NEWS: Reword the deprecation notice.
19050         * modules/get_date: Rename to modules/parse-datetime.
19051         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
19052         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
19053         * lib/get_date.y: Rename to lib/parse-datetime.y.
19054         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
19055         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
19056         * doc/getdate.texi: Provide fallback wrapper.
19057         * lib/getdate.h: Move guts, and wrap...
19058         * lib/parse-datetime.h: ...new file.
19059         * lib/parse-datetime.y (get_date): Rename...
19060         (parse_datetime): ...to this.
19061         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
19062         (gl_PARSE_DATETIME): ...to this.
19063         * doc/posix-functions/getdate.texi (get_date): Provide fallback
19064         documentation.
19065         * modules/getdate (Files): Provide fallback docs and header.
19066         (Notice, Depends-on): Update references.
19067         * tests/test-parse-datetime.c: Likewise.
19068         * DEPENDENCIES: Likewise.
19069         * MODULES.html.sh (Date and time <time.h>): Likewise.
19070         * doc/parse-datetime.texi (Date input formats)
19071         (Authors of parse_datetime): Likewise.
19072         * modules/parse-datetime (Files, configure.ac, Makefile.am)
19073         (Include): Likewise.
19074         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
19075         * gnulib-tool: Likewise.
19076         * m4/bison.m4 (gl_BISON): Likewise.
19077         Suggested by Bruno Haible.
19078
19079 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
19080
19081         more ports to Solaris tr, which needs [] around ranges
19082         * gnulib-tool: Solaris tr needs [] around ranges.
19083         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
19084         * tests/test-pipe-filter-gi1.c (main): Likewise.
19085         * tests/test-pipe-filter-ii1.c (main): Likewise.
19086
19087 2010-10-05  Eric Blake  <eblake@redhat.com>
19088
19089         bootstrap: fix Solaris regression
19090         * build-aux/bootstrap (check_versions): Solaris tr still needs []
19091         around ranges.
19092         Reported by Pádraig Brady.
19093
19094         bootstrap: work with pkg-config
19095         * build-aux/bootstrap (check_versions): Also transliterate - in
19096         prerequisite name.
19097         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
19098         prerequisites that were already found, to avoid confusion.
19099         Reported by Justin Clift.
19100
19101         faccessat: remove unused wrappers
19102         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
19103         presence of these wrappers dragged in -lgen on Solaris.
19104         Reported by Clemens Brogi; fix suggested by Paul Eggert.
19105
19106 2010-10-05  Jim Meyering  <meyering@redhat.com>
19107
19108         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
19109         * Makefile (sc_pragma_columns): New syntax-check rule.
19110
19111 2010-10-04  Bruno Haible  <bruno@clisp.org>
19112
19113         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
19114         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
19115         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
19116         Reported by Bruce Korb and Eric Blake.
19117
19118 2010-10-04  Bruno Haible  <bruno@clisp.org>
19119
19120         threadlib: Make option --with-libpth-prefix work.
19121         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
19122         use $LIBPTH, not just -lpth.
19123
19124 2010-10-04  Bruno Haible  <bruno@clisp.org>
19125
19126         Avoid line length limitation from HP NonStop system header files.
19127         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
19128         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
19129         * lib/ctype.in.h: Likewise.
19130         * lib/dirent.in.h: Likewise.
19131         * lib/errno.in.h: Likewise.
19132         * lib/fcntl.in.h: Likewise.
19133         * lib/float.in.h: Likewise.
19134         * lib/getopt.in.h: Likewise.
19135         * lib/iconv.in.h: Likewise.
19136         * lib/inttypes.in.h: Likewise.
19137         * lib/langinfo.in.h: Likewise.
19138         * lib/locale.in.h: Likewise.
19139         * lib/math.in.h: Likewise.
19140         * lib/netdb.in.h: Likewise.
19141         * lib/netinet_in.in.h: Likewise.
19142         * lib/poll.in.h: Likewise.
19143         * lib/pthread.in.h: Likewise.
19144         * lib/pty.in.h: Likewise.
19145         * lib/sched.in.h: Likewise.
19146         * lib/se-selinux.in.h: Likewise.
19147         * lib/search.in.h: Likewise.
19148         * lib/signal.in.h: Likewise.
19149         * lib/spawn.in.h: Likewise.
19150         * lib/stdarg.in.h: Likewise.
19151         * lib/stddef.in.h: Likewise.
19152         * lib/stdint.in.h: Likewise.
19153         * lib/stdio.in.h: Likewise.
19154         * lib/stdlib.in.h: Likewise.
19155         * lib/string.in.h: Likewise.
19156         * lib/strings.in.h: Likewise.
19157         * lib/sys_file.in.h: Likewise.
19158         * lib/sys_ioctl.in.h: Likewise.
19159         * lib/sys_select.in.h: Likewise.
19160         * lib/sys_socket.in.h: Likewise.
19161         * lib/sys_stat.in.h: Likewise.
19162         * lib/sys_time.in.h: Likewise.
19163         * lib/sys_times.in.h: Likewise.
19164         * lib/sys_utsname.in.h: Likewise.
19165         * lib/sys_wait.in.h: Likewise.
19166         * lib/sysexits.in.h: Likewise.
19167         * lib/termios.in.h: Likewise.
19168         * lib/time.in.h: Likewise.
19169         * lib/unistd.in.h: Likewise.
19170         * lib/wchar.in.h: Likewise.
19171         * lib/wctype.in.h: Likewise.
19172         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
19173         * modules/ctype (Makefile.am): Likewise.
19174         * modules/dirent (Makefile.am): Likewise.
19175         * modules/errno (Makefile.am): Likewise.
19176         * modules/fcntl-h (Makefile.am): Likewise.
19177         * modules/float (Makefile.am): Likewise.
19178         * modules/getopt-posix (Makefile.am): Likewise.
19179         * modules/iconv-h (Makefile.am): Likewise.
19180         * modules/inttypes (Makefile.am): Likewise.
19181         * modules/langinfo (Makefile.am): Likewise.
19182         * modules/locale (Makefile.am): Likewise.
19183         * modules/math (Makefile.am): Likewise.
19184         * modules/netdb (Makefile.am): Likewise.
19185         * modules/netinet_in (Makefile.am): Likewise.
19186         * modules/poll-h (Makefile.am): Likewise.
19187         * modules/pthread (Makefile.am): Likewise.
19188         * modules/pty (Makefile.am): Likewise.
19189         * modules/sched (Makefile.am): Likewise.
19190         * modules/search (Makefile.am): Likewise.
19191         * modules/selinux-h (Makefile.am): Likewise.
19192         * modules/signal (Makefile.am): Likewise.
19193         * modules/spawn (Makefile.am): Likewise.
19194         * modules/stdarg (Makefile.am): Likewise.
19195         * modules/stddef (Makefile.am): Likewise.
19196         * modules/stdint (Makefile.am): Likewise.
19197         * modules/stdio (Makefile.am): Likewise.
19198         * modules/stdlib (Makefile.am): Likewise.
19199         * modules/string (Makefile.am): Likewise.
19200         * modules/strings (Makefile.am): Likewise.
19201         * modules/sys_file (Makefile.am): Likewise.
19202         * modules/sys_ioctl (Makefile.am): Likewise.
19203         * modules/sys_select (Makefile.am): Likewise.
19204         * modules/sys_socket (Makefile.am): Likewise.
19205         * modules/sys_stat (Makefile.am): Likewise.
19206         * modules/sys_time (Makefile.am): Likewise.
19207         * modules/sys_times (Makefile.am): Likewise.
19208         * modules/sys_utsname (Makefile.am): Likewise.
19209         * modules/sys_wait (Makefile.am): Likewise.
19210         * modules/sysexits (Makefile.am): Likewise.
19211         * modules/termios (Makefile.am): Likewise.
19212         * modules/time (Makefile.am): Likewise.
19213         * modules/unistd (Makefile.am): Likewise.
19214         * modules/wchar (Makefile.am): Likewise.
19215         * modules/wctype (Makefile.am): Likewise.
19216
19217 2010-10-04  Bruno Haible  <bruno@clisp.org>
19218
19219         read-file tests: Avoid a test failure on NonStop Kernel.
19220         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
19221         a regular file.
19222         Reported by Joachim Schmitz <schmitz@hp.com>.
19223
19224 2010-10-03  Bruno Haible  <bruno@clisp.org>
19225
19226         gnulib-tool: Fixes for --create-testdir with --libtool.
19227         * gnulib-tool (func_get_automake_snippet): Don't augment
19228         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
19229         an executable.
19230         (func_create_testdir): Handle module 'alloca' like func_import.
19231         Reported by Bruce Korb <bruce.korb@gmail.com>.
19232
19233 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
19234
19235         Avoid some lines longer than 80 characters.
19236         * lib/stdint.in.h: Break long comment lines.
19237         * lib/math.in.h: Likewise.
19238         (_GL_NUM_UINT_WORDS): New macro, for readability.
19239         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
19240         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
19241         * lib/stdlib.in.h: Likewise.
19242         * lib/spawn.in.h: Likewise.
19243         * lib/sys_socket.in.h: Update an URL.
19244         * lib/sys_stat.in.h: Break long line.
19245
19246 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
19247
19248         Improve pmccabe2html.
19249         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
19250         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
19251         when the sources change. Remove the line in the HTML about "Used
19252         ranges" (which implied that there might be other unused ranges),
19253         rename "Resume" to "Summary" (easier to understand for more users).
19254         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
19255         styles, and some unnecessary blank lines.
19256
19257 2010-10-03  Bruno Haible  <bruno@clisp.org>
19258             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
19259
19260         acl: Add support for ACLs on NonStop Kernel.
19261         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
19262         Check whether the function aclsort() exists.
19263         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
19264         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
19265         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
19266         (acl_nontrivial [HAVE_ACLSORT]: New function.
19267         (file_has_acl): Implement for NonStop Kernel.
19268         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
19269         (qset_acl): Implement for NonStop Kernel.
19270         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
19271         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
19272         (main): Implement for NonStop Kernel.
19273         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
19274         Kernel. Handle this flavor.
19275         * tests/test-set-mode-acl.sh: Likewise.
19276         * tests/test-copy-acl.sh: Likewise.
19277         * tests/test-copy-file.sh: Likewise.
19278
19279 2010-10-03  Bruno Haible  <bruno@clisp.org>
19280
19281         Info about ACLs on NonStop Kernel.
19282         * doc/acl-resources.txt: Add info about NonStop Kernel.
19283         References by Joachim Schmitz <schmitz@hp.com>.
19284
19285 2010-10-02  Bruno Haible  <bruno@clisp.org>
19286
19287         Define missing EDQUOT on NonStop Kernel.
19288         * lib/errno.in.h (EDQUOT): Assign a value if missing.
19289         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
19290         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
19291         missing.
19292         * doc/posix-headers/errno.texi: Mention the NSK bug.
19293         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
19294         Reported by Joachim Schmitz <schmitz@hp.com>.
19295
19296 2010-10-02  Bruno Haible  <bruno@clisp.org>
19297
19298         Update doc for POSIX:2008.
19299         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
19300         Update URL of POSIX specification.
19301
19302 2010-10-02  Bruno Haible  <bruno@clisp.org>
19303
19304         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
19305         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
19306         from gnulib, not from Automake.
19307
19308 2010-10-02  Bruno Haible  <bruno@clisp.org>
19309
19310         New module 'system-posix'.
19311         * modules/system-posix: New file.
19312         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
19313         module is present.
19314         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
19315         GNULIB_SYSTEM_POSIX.
19316         * modules/stdlib (Depends-on): Remove sys_wait.
19317         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
19318         * doc/posix-functions/system.texi: Mention the new module.
19319         * doc/posix-headers/stdlib.texi: Likewise.
19320         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
19321         define test_sys_wait_macros to a no-op.
19322         Reported by Sam Steingold <sds@gnu.org>.
19323
19324 2010-09-30  Bruno Haible  <bruno@clisp.org>
19325
19326         More renaming from 'getdate' to 'get_date'.
19327         * doc/get_date.texi: Renamed from doc/getdate.texi.
19328         * modules/get_date (Files): Update.
19329         * MODULES.html.sh (Date and time <time.h>): Update.
19330         * DEPENDENCIES: Update.
19331         * gnulib-tool: Update comment.
19332         * m4/bison.m4 (gl_BISON): Likewise.
19333         * m4/get_date.m4 (gl_GET_DATE): Likewise.
19334
19335 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
19336
19337         bootstrap: support ACLOCAL_FLAGS during aclocal
19338         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
19339         can add additional -I dir for third-party .m4 files.
19340
19341 2010-09-30  Eric Blake  <eblake@redhat.com>
19342
19343         bootstrap: use glibtoolize on MacOS
19344         * build-aux/bootstrap (check_versions): Convert libtool into
19345         libtoolize.
19346         (tool search): Move libtool check earlier, and look for
19347         glibtoolize for MacOS.
19348         (gnulib_tool_options): Auto-add --libtool when appropriate.
19349         Reported by Justin Clift.
19350
19351         poll: fix typo that broke test on MacOS
19352         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
19353         Reported by Justin Clift.
19354
19355         getdate: rename to get_date
19356         Note: getdate.h is not renamed, to minimize client impact.
19357         * modules/getdate: Mark obsolete.  Move old contents...
19358         * modules/get_date: ...to new module name.
19359         * modules/getdate-tests: Move...
19360         * modules/get_date-tests: ...here.
19361         * m4/getdate.m4: Move...
19362         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
19363         * lib/getdate.y: Move...
19364         * lib/get_date.y: ...here.
19365         * tests/test-getdate.c: Move...
19366         * tests/test-get_date.c: ...here.
19367         * doc/posix-functions/getdate.texi (getdate): Update name.
19368         * NEWS: Mention the change.
19369
19370 2010-09-29  Bruno Haible  <bruno@clisp.org>
19371
19372         Separate the module 'waitpid' from the module 'sys_wait'.
19373         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
19374         present.
19375         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
19376         gl_MODULE_INDICATOR_FOR_TESTS.
19377         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
19378         * modules/sys_wait (Depends-on): Remove waitpid.
19379         (Makefile.am): Substitute GNULIB_WAITPID.
19380         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
19381         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
19382         signature only if the 'waitpid' module is present.
19383         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
19384         * NEWS: Mention the change.
19385         * modules/grantpt (Depends-on): Add waitpid.
19386         * modules/wait-process (Depends-on): Likewise.
19387
19388 2010-09-29  Bruno Haible  <bruno@clisp.org>
19389
19390         More tests for module 'sys_wait'.
19391         * modules/sys_wait-c++-tests: New file.
19392         * tests/test-sys_wait-c++.cc: New file.
19393         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
19394         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
19395
19396 2010-09-29  Bruno Haible  <bruno@clisp.org>
19397
19398         New module 'waitpid'.
19399         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
19400         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
19401         Don't include <process.h>.
19402         (waitpid): Declare only, using modern idiom.
19403         * m4/waitpid.m4: New file.
19404         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
19405         * modules/waitpid: New file.
19406         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
19407         (Makefile.am): Update.
19408         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
19409
19410 2010-09-28  Bruno Haible  <bruno@clisp.org>
19411
19412         poll: Assume ANSI C.
19413         * lib/poll.c (poll): Use an ANSI C declaration.
19414
19415 2010-09-28  Bruno Haible  <bruno@clisp.org>
19416
19417         poll-h: Create poll.h on all platforms.
19418         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
19419         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
19420         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
19421         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
19422         (gl_REPLACE_POLL_H): Don't set POLL_H.
19423         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
19424         * modules/poll-h (Depends-on): Add include_next.
19425         (Makefile.am): Create poll.h unconditionally. Substitute also
19426         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
19427
19428 2010-09-28  Bruno Haible  <bruno@clisp.org>
19429
19430         Tests for module 'poll-h'.
19431         * modules/poll-h-c++-tests: New file.
19432         * tests/test-poll-h-c++.cc: New file.
19433
19434         Tests for module 'poll-h'.
19435         * modules/poll-h-tests: New file.
19436         * tests/test-poll-h.c: New file.
19437
19438 2010-09-28  Bruno Haible  <bruno@clisp.org>
19439
19440         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
19441         * modules/poll-h (Depends-on): Add 'extensions'.
19442
19443 2010-09-28  Bruno Haible  <bruno@clisp.org>
19444
19445         New module 'poll-h'.
19446         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
19447         (poll): Use modern idiom.
19448         * modules/poll-h: New file.
19449         * modules/poll (Files): Remove lib/poll.in.h.
19450         (Depends-on): Add poll-h.
19451         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
19452         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
19453         * m4/poll_h.m4: New file.
19454         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
19455         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
19456         and invoke gl_REPLACE_POLL_H.
19457         * lib/poll.c: Use common idiom.
19458         * tests/test-poll.c: Likewise.
19459         * doc/posix-headers/poll.texi: Mention the poll-h module.
19460         Suggested by Eric Blake.
19461
19462 2010-09-26  Bruno Haible  <bruno@clisp.org>
19463
19464         sys_wait: Implement WSTOPSIG.
19465         * lib/sys_wait.in.h (WSTOPSIG): New macro.
19466         Reported by Simon Josefsson.
19467
19468 2010-09-26  Simon Josefsson  <simon@josefsson.org>
19469
19470         stdlib, sys_wait: Avoid compilation error on mingw.
19471         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
19472
19473 2010-09-26  Bruno Haible  <bruno@clisp.org>
19474
19475         stdlib tests: Avoid code duplication.
19476         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
19477         * modules/sys_wait-tests (Files): Likewise.
19478         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
19479         * tests/test-stdlib.c: Include test-sys_wait.h.
19480         (main): Invoke test_sys_wait_macros.
19481         * tests/test-sys_wait.c: Include test-sys_wait.h.
19482         (main): Invoke test_sys_wait_macros.
19483
19484 2010-09-25  Simon Josefsson  <simon@josefsson.org>
19485
19486         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
19487         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
19488         sure Windows sockets are working before calling getaddrinfo.
19489         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
19490         * doc/gnulib.texi (Windows sockets): Fix typo.
19491
19492 2010-09-25  Bruno Haible  <bruno@clisp.org>
19493
19494         Tests for module 'regex-quote'.
19495         * modules/regex-quote-tests: New file.
19496         * tests/test-regex-quote.c: New file.
19497
19498         New module 'regex-quote'.
19499         * lib/regex-quote.h: New file.
19500         * lib/regex-quote.c: New file.
19501         * modules/regex-quote: New file.
19502         Suggested by Reuben Thomas <rrt@sc3d.org>.
19503
19504 2010-09-24  Bruno Haible  <bruno@clisp.org>
19505
19506         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
19507         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
19508
19509 2010-09-23  Bruno Haible  <bruno@clisp.org>
19510
19511         setenv: Relax license.
19512         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
19513         Blake.
19514         Requested by Eric Blake.
19515
19516 2010-09-22  Bruno Haible  <bruno@clisp.org>
19517
19518         termios: Relax license.
19519         * modules/termios (License): Change to LGPLv2+.
19520         Requested by Eric Blake.
19521
19522 2010-09-22  Bruno Haible  <bruno@clisp.org>
19523
19524         threadlib: Allow the package to change the default to 'no'.
19525         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
19526         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
19527         Reported by Paul Eggert.
19528
19529 2010-09-22  Pádraig Brady  <P@draigbrady.com>
19530             Bruno Haible  <bruno@clisp.org>
19531
19532         Fix endless loop in mbmemcasecoll.
19533         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
19534         byte.
19535         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
19536
19537 2010-09-22  Bruno Haible  <bruno@clisp.org>
19538
19539         Tests for module 'memcoll'.
19540         * modules/memcoll-tests: New file.
19541         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
19542
19543         memcoll, xmemcoll: Clarify size vs. length.
19544         * modules/memcoll.c (memcoll0): Clarify specification.
19545         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
19546         passed to collate_error.
19547
19548 2010-09-22  Bruno Haible  <bruno@clisp.org>
19549
19550         Tests for module 'memcasecmp'.
19551         * modules/memcasecmp-tests: New file.
19552         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
19553
19554 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
19555
19556         * lib/pthread.in.h: Add split double-inclusion guard, and include
19557         system <pthread.h> if there is one.  Use @@-style as in other
19558         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
19559         pthread.h doesn't.
19560         (pthread_mutexattr_destroy, pthread_mutexattr_init):
19561         (pthread_mutexattr_settype, pthread_mutex_trylock):
19562         New static inline functions, if there's no system <pthread.h>.
19563         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
19564         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
19565         Approximate with mutexes if the system lacks spinlocks, as in
19566         MacOS.
19567         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
19568         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
19569         @@-style.  Check for spinlocks separately.
19570         (gl_PTHREAD_DEFAULTS): New macro.
19571         * modules/pthread: Redo to use a more typical style for in.h files.
19572
19573 2010-09-21  Eric Blake  <eblake@redhat.com>
19574
19575         net_if: enhance tests
19576         * tests/test-net_if.c (main): Move signature checks earlier.
19577         Print failures to stderr.
19578         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
19579         Document the bug that we do not yet fix.
19580
19581 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
19582
19583         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
19584         about gnulib, not GSS.
19585
19586 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
19587
19588         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
19589         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
19590         for Emacs.
19591         * build-aux/pmccabe2html: Make Makefile.am example code more
19592         cut-and-paste friendly.
19593
19594 2010-09-21  Simon Josefsson  <simon@josefsson.org>
19595
19596         * tests/test-net_if.c: New file.
19597         * modules/net_if-tests: New file.
19598
19599 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
19600
19601         pthread: add pthread_spin_destroy
19602         * lib/pthread.in.h (pthread_spin_destroy): New function.
19603
19604 2010-09-19  Bruno Haible  <bruno@clisp.org>
19605
19606         gnulib-tool: Fix --help output.
19607         * gnulib-tool (func_usage): Fix help message.
19608         Reported by Reuben Thomas <rrt@sc3d.org>.
19609
19610 2010-09-18  Jim Meyering  <meyering@redhat.com>
19611
19612         maint.mk: avoid unexpanded \n in two diagnostics
19613         * top/maint.mk (sc_prohibit_always_true_header_tests):
19614         Don't use a literal \n in a halt=... assignment.  It would not be
19615         expanded, and the two \n bytes would appear in the diagnostic output
19616         rather than the desired newline.  Use halt=$$(printf ... instead.
19617         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
19618
19619 2010-09-18  Bruno Haible  <bruno@clisp.org>
19620
19621         netinet_in: Doc tweak.
19622         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
19623         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
19624
19625 2010-09-18  Jim Meyering  <meyering@redhat.com>
19626
19627         init.sh: correct an outdated comment
19628         * tests/init.sh (create_exe_shims_):  s/function/alias/
19629
19630         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
19631         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
19632         a file named "*.exe" is removed between the glob expansion and the
19633         processing of that oddly named file.
19634
19635 2010-09-17  Eric Blake  <eblake@redhat.com>
19636
19637         mirbsd: add some more support
19638         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
19639         in BSD family.
19640         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
19641         devices as OpenBSD.
19642         * m4/host-os.m4 (mirbsd): Add MirBSD.
19643
19644         tests: fix unportable assumption on sys/wait.h
19645         * tests/test-sys_wait.c (main): Relax test.
19646         * tests/test-stdlib.c (main): Likewise.
19647
19648         init.sh: accomodate directory with no .exes
19649         * tests/init.sh: Accomodate directory containing only scripts.
19650
19651         tests: avoid compiler warning
19652         * tests/test-stdlib.c (main): Use the variable.
19653
19654         fdutimens, fdutimensat: update signature, again
19655         * lib/utimens.h (gl_futimens): Delete, and move signature...
19656         (fdutimens): ...here.
19657         (fdutimensat): Rearrange signature.
19658         (lutimensat): Rename variable for clarity.
19659         * lib/fdutimensat.c (fdutimensat): Update signature.
19660         * lib/utimens.c (fdutimens): Likewise.
19661         (gl_futimens): Delete.
19662         (utimens, lutimens): Update callers.
19663         * lib/futimens.c (futimens): Likewise.
19664         * tests/test-fdutimensat.c: Likewise.
19665         * tests/test-utimens.c: Likewise.
19666         * tests/test-futimens.h: Update comment.
19667         * NEWS: Mention this.
19668         Suggested by Paul Eggert.
19669
19670 2010-09-17  Bruno Haible  <bruno@clisp.org>
19671
19672         Take over the maintenance of some older macros from Autoconf.
19673         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
19674         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
19675         GNU Autoconf.
19676         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
19677         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
19678
19679 2010-09-17  Eric Blake  <eblake@redhat.com>
19680
19681         fdutimensat: drop atflag validation
19682         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
19683         with valid fd, to close a race scenario where futimens is
19684         unsupported and FILE was replaced by a symlink.
19685         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
19686         accordingly.
19687         Suggested by Paul Eggert.
19688
19689 2010-09-16  Bruno Haible  <bruno@clisp.org>
19690
19691         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
19692         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
19693
19694 2010-09-16  Bruno Haible  <bruno@clisp.org>
19695
19696         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
19697         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
19698         login_tty exists.
19699         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
19700
19701 2010-09-16  Bruno Haible  <bruno@clisp.org>
19702
19703         login_tty: Make the replacement code work on BSD systems.
19704         * lib/login_tty.c: Include <sys/ioctl.h>.
19705         (login_tty): Use ioctl TIOCSCTTY when available.
19706         * modules/login_tty (Depends-on): Add sys_ioctl.
19707         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
19708
19709 2010-09-16  Bruno Haible  <bruno@clisp.org>
19710
19711         login_tty: Stricter unit test.
19712         * modules/login_tty-tests (Depends-on): Add tcgetsid.
19713         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
19714         and tcgetsid() after login_tty.
19715         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
19716
19717 2010-09-16  Bruno Haible  <bruno@clisp.org>
19718
19719         New module 'tcgetsid'.
19720         * lib/tcgetsid.c: New file.
19721         * m4/tcgetsid.m4: New file.
19722         * modules/tcgetsid: New file.
19723         * modules/termios (Depends-on): Add c++defs, warn-on-use.
19724         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
19725         GNULIB_TCGETSID, HAVE_TCGETSID.
19726         * lib/termios.in.h: Include <sys/types.h>.
19727         (tcgetsid): New declaration.
19728         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
19729         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
19730         * doc/posix-functions/tcgetsid.texi: Mention the new module.
19731         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
19732
19733 2010-09-16  Bruno Haible  <bruno@clisp.org>
19734
19735         Tests for module 'termios'.
19736         * modules/termios-c++-tests: New file.
19737         * modules/termios-tests: New file.
19738         * tests/test-termios-c++.cc: New file.
19739         * tests/test-termios.c: New file.
19740
19741         New module 'termios'.
19742         * modules/termios: New file.
19743         * lib/termios.in.h: New file.
19744         * m4/termios_h.m4: New file.
19745         * doc/posix-headers/termios.texi: Mention the new module.
19746
19747 2010-09-16  Eric Blake  <eblake@redhat.com>
19748
19749         fdutimensat: add an atflag parameter
19750         * lib/fdutimensat.c (fdutimensat): Add new parameter.
19751         * lib/utimens.h (fdutimensat): Update prototype.
19752         * tests/test-fdutimensat.c: Adjust test to match.
19753         * NEWS: Document the change.
19754         Suggested by Paul Eggert.
19755
19756 2010-09-16  Bruno Haible  <bruno@clisp.org>
19757
19758         Fix typos in comments.
19759         * lib/striconveh.h: Fix typo in comment.
19760         * lib/login_tty.c (login_tty): Likewise.
19761
19762 2010-09-15  Bruno Haible  <bruno@clisp.org>
19763
19764         stdlib: clarify MirBSD WEXITSTATUS bug
19765         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
19766         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
19767
19768 2010-09-15  Eric Blake  <eblake@redhat.com>
19769
19770         stdlib: work around MirBSD WEXITSTATUS bug
19771         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
19772         * modules/stdlib (Depends-on): Add sys_wait.
19773         * tests/test-sys_wait.c (main): Enhance test.
19774         * tests/test-stdlib.c (main): Likewise.
19775         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
19776
19777         docs: mention MacOS issue with WEXITSTATUS(constant)
19778         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
19779         issue.
19780         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
19781
19782         strnlen: add tests
19783         * modules/strnlen-tests: New file.
19784         * tests/test-strnlen.c: Likewise.
19785
19786 2010-09-14  Bruno Haible  <bruno@clisp.org>
19787
19788         unistr/base: Avoid link errors when module 'libunistring' is also used.
19789         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
19790         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
19791         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
19792         Declare also when HAVE_LIBUNISTRING is set.
19793         Reported by Pádraig Brady <P@draigbrady.com>.
19794
19795 2010-09-14  Eric Blake  <eblake@redhat.com>
19796
19797         test-rawmemchr: make more robust
19798         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
19799         (Depends-on, configure.ac): Add needed prerequisites to use it.
19800         * modules/memchr-tests (Files, Depends-on, configure.ac):
19801         Likewise, to avoid implicit reliance on memchr module prereqs.
19802         * tests/test-memchr.c (main): Ensure proper masking.
19803         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
19804         reads.
19805
19806         memchr: detect glibc Alpha bug
19807         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
19808         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
19809         Alpha.
19810         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
19811         * tests/test-memchr.c (main): Enhance test.
19812         Reported by Nelson H. F. Beebe.
19813
19814 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
19815
19816         fts, getcwd, glob: audit for dirfd returning -1
19817         * lib/fts.c (opendir): Remove #define; no longer used.
19818         (opendirat): New arg PDIR_FD.  All callers changed.
19819         (fts_build, _opendir2): Use new opendirat to avoid the need for
19820         dirfd, or for checking whether dirfd returns a negative value.
19821         Don't use opendir; always use openat followed by fdopendir.
19822         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
19823         it.
19824         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
19825         returns -1 here.
19826         * modules/fts (Depends-on): Remove dirfd.
19827         * modules/getcwd (Depends-on): Likewise.
19828
19829 2010-09-13  Eric Blake  <eblake@redhat.com>
19830
19831         float: fix broken MirBSD header
19832         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
19833         * doc/posix-headers/float.texi (float.h): Document it.
19834
19835 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
19836
19837         fts: use O_NOFOLLOW to avoid race condition when opening a directory
19838         * lib/fts.c (opendirat): New arg extra_flags.
19839         (__opendir2): Use it to avoid following symlinks when opening
19840         a directory, if symlinks are not supposed to be followed.  See
19841         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
19842
19843         fdopendir: preserve argument fd before returning
19844         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
19845         (fdopendir_with_dup, fd_clone_opendir): New static functions.
19846         (fdopendir): Use them, arranging for FD to be open to the same
19847         directory that it was when it started.  (It might be temporarily
19848         closed while fdopendir is running, so this not thread- or
19849         signal-safe.)  Be careful to do the right thing even when file
19850         descriptors are scarce and dup fails with errno == EMFILE.  See
19851         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
19852
19853 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
19854
19855         regex: Pass the system regex if its only problem is 32-bit regoff_t.
19856         * NEWS: Document change.
19857         * m4/regex.m4: Disable test for regoff_t size.
19858
19859 2010-09-13  Jim Meyering  <meyering@redhat.com>
19860
19861         fts: don't operate on an invalid file descriptor after failed dup
19862         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
19863         negative file descriptor.
19864
19865 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
19866
19867         savedir: add streamsavedir, deprecate fdsavedir
19868         * NEWS: Mention deprecation of fdsavedir.
19869         * lib/savedir.c (streamsavedir): New extern function, whose name
19870         ends in "savedir" to be consistent with the others.  This differs
19871         from savedirstream in that it doesn't close its argument.  The
19872         next version of GNU tar will use this instead of fdsavedir, to
19873         avoid some race conditions and conserve file descriptors.
19874         (savedirstream): Reimplement as a wrapper around streamsavedir.
19875         (fdsavedir): Add a comment deprecating this function.  As far as
19876         I know, only GNU tar used it, and GNU tar doesn't need it any more.
19877         * lib/savedir.h (streamsavedir): New decl.
19878         (fdsavedir): Add a comment deprecating this.
19879
19880 2010-09-10  Bruno Haible  <bruno@clisp.org>
19881
19882         langinfo: Fix last commit.
19883         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
19884         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
19885         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19886
19887 2010-09-10  Bruno Haible  <bruno@clisp.org>
19888
19889         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
19890         * lib/progreloc.c (O_EXEC): Define fallback.
19891
19892 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
19893
19894         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
19895         * NEWS: Document recent changes to fcntl-h.
19896         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
19897         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
19898         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
19899         Similarly for O_SEARCH; this last was already true, but not documented.
19900         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
19901         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
19902         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
19903         Likewise.
19904         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
19905         is zero, not whether it is defined.
19906         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
19907         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
19908         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
19909
19910 2010-09-10  Bruno Haible  <bruno@clisp.org>
19911
19912         langinfo, nl_langinfo: Fix for IRIX 5.3.
19913         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
19914         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
19915         HAVE_LANGINFO_YESEXPR.
19916         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
19917         HAVE_LANGINFO_YESEXPR.
19918         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
19919         HAVE_LANGINFO_T_FMT_AMPM is 0.
19920         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
19921         HAVE_LANGINFO_YESEXPR is 0.
19922         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
19923         NOEXPR.
19924         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
19925         * doc/posix-functions/nl_langinfo.texi: Likewise.
19926         Reported by Eric Blake.
19927
19928 2010-09-10  Bruno Haible  <bruno@clisp.org>
19929
19930         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
19931         * doc/glibc-functions/login_tty.texi: Mention the include file problem
19932         on FreeBSD 8.0 and OpenBSD 4.6.
19933         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
19934         * m4/pty_h.m4 (gl_PTY_H): Likewise.
19935         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
19936         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
19937         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
19938         ac_includes_default.
19939         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
19940
19941 2010-09-09  Eric Blake  <eblake@redhat.com>
19942
19943         strsignal: work around NetBSD bug
19944         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
19945         * lib/string.in.h (includes): Likewise.
19946         * doc/posix-functions/strsignal.texi (strsignal): Document the
19947         bug.
19948         Reported by Nelson H. F. Beebe.
19949
19950         gnulib-tool: work with NetBSD /bin/sh
19951         * gnulib-tool (func_cache_var, func_cache_lookup_module)
19952         (func_get_description, func_get_comment, func_get_status)
19953         (func_get_notice, func_get_applicability, func_get_filelist)
19954         (func_get_dependencies, func_get_autoconf_early_snippet)
19955         (func_get_autoconf_snippet, func_get_automake_snippet)
19956         (func_get_include_directive, func_get_link_directive)
19957         (func_get_license, func_get_maintainer, func_import): Avoid
19958         shell syntax errors from parsing syntax extensions.
19959
19960 2010-09-09  Bruno Haible  <bruno@clisp.org>
19961
19962         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
19963         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
19964         a reliable way to determine whether the 'alias' command works.
19965
19966 2010-09-08  Jim Meyering  <meyering@redhat.com>
19967
19968         init.sh: penalize a set-x-impaired shell; don't disqualify it
19969         * tests/init.sh: Too many shells corrupt application stderr when
19970         you set -x, so we can't afford to disqualify them, since at least
19971         on Irix-6.5, that would disqualify all bourne shells.
19972         Instead, use a two-pass approach.
19973         On the first pass, try to find a shell that meets the stricter
19974         condition that set -x does not corrupt stderr.
19975         If no shell meets the stricter condition, retest each candidate
19976         shell, but without that extra condition.  Finally, when
19977         VERBOSE=yes is requested and set -x might cause trouble, simply
19978         issue a warning and refrain from enabling debug output.
19979
19980 2010-09-08  Eric Blake  <eblake@redhat.com>
19981
19982         unsetenv: fix OpenBSD bug
19983         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
19984         * doc/posix-functions/unsetenv.texi (unsetenv): Update
19985         documentation.
19986         Reported by Jim Meyering.
19987
19988         strtod: work around IRIX 6.5 bug
19989         * lib/strtod.c (strtod): Reparse number on shorter string if
19990         exponent parse was invalid.
19991         * tests/test-strtod.c (main): Add check for "0x1p 2".
19992         Reported by Tom G. Christensen.
19993
19994         getopt: optimize previous patch
19995         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
19996         empty variable.  Speed up awk script.
19997         Reported by Paolo Bonzini.
19998
19999 2010-09-08  Jim Meyering  <meyering@redhat.com>
20000
20001         test.sh: disqualify shells for which set -x corrupts stderr
20002         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
20003         and OpenBSD 4.7.  They make it so with "set -x", environment settings
20004         appear in stderr output.  For example, this command:
20005             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
20006         prints "P=1" on those two systems:
20007
20008 2010-09-08  Bruno Haible  <bruno@clisp.org>
20009
20010         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
20011         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
20012         commands, because some shells ignore redirections when there is an
20013         error in the command lookup.
20014         Reported by Eric Blake.
20015
20016 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
20017
20018         * lib/regex.h: Fix a mention of `regex_compile' (should be
20019         `re_compile_pattern').
20020         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
20021         (re_set_registers): Correct name of parameter in comment.
20022
20023         * doc/regex.texi: Add documentation for missing syntax flags.
20024         Remove commented-out documentation of defunct syntax option
20025         RE_NO_EMPTY_ALTS.
20026         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
20027         Add documentation of re_set_registers.
20028         Document trick to re-use a pattern buffer by setting fastmap manually.
20029         Update documentation of struct re_pattern_buffer per public members.
20030         Uncomment documentation of equivalence class operators and
20031         collating symbol operators, since they are now implemented,
20032         Explain leftmost-longest matching in relation to alternatives.
20033         Tidy documentation of substring matching.
20034         Remove POSIX documentation, which is done better in
20035         glibc, and refer the reader there. Keep BSD API documentation, as
20036         that is not readily available elsewhere.
20037
20038 2010-09-07  Eric Blake  <eblake@redhat.com>
20039
20040         getopt: handle POSIXLY_CORRECT set but not exported
20041         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
20042         export state of POSIXLY_CORRECT, due to bash set -o posix.
20043         Reported by Dustin J. Mitchell.
20044
20045 2010-09-05  Bruno Haible  <bruno@clisp.org>
20046
20047         gnulib-tool: Highlight the changed options.
20048         * gnulib-tool (func_usage): Display the --import, --add-import,
20049         --remove-import explanations in bold font.
20050
20051 2010-09-06  Karl Berry  <karl@gnu.org>
20052
20053         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
20054
20055 2010-09-05  Bruno Haible  <bruno@clisp.org>
20056
20057         uniwidth/width: Update comment.
20058         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
20059         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
20060
20061 2010-09-05  Bruno Haible  <bruno@clisp.org>
20062
20063         isinf, isnan: Relax license.
20064         * modules/isinf (License): Change from GPL to LGPL, with consent from
20065         Ben Pfaff.
20066         * modules/isnan (License): Likewise.
20067         Requested by Ludovic Courtès.
20068
20069 2010-09-04  Bruno Haible  <bruno@clisp.org>
20070
20071         gnulib-tool: Help migration from --import to --add-import or --update.
20072         * gnulib-tool: Emit a verbose error message when --import is used
20073         without any module name.
20074
20075 2010-09-04  Bruno Haible  <bruno@clisp.org>
20076
20077         Update doc about gnulib-tool.
20078         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
20079         'gnulib-tool --update' in more detail.
20080         Reported by Eric Blake.
20081
20082 2010-09-04  Bruno Haible  <bruno@clisp.org>
20083
20084         gnulib-tool: Change --import. New options --add/remove-import.
20085         * gnulib-tool: New options --add-import, --remove-import.
20086         (func_usage): Document them.
20087         (have_associative): Define always.
20088         (func_import): In import mode, don't merge the specified settings with
20089         the cached settings. Implement remove-import mode.
20090         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
20091         Explain when to use them versus --import.
20092         (Simple update): Use --add-import instead of --import.
20093         * NEWS: Mention the change.
20094
20095 2010-09-04  Bruno Haible  <bruno@clisp.org>
20096
20097         * doc/gnulib-tool.texi (Initial import): Update paragraph about
20098         separate gnulib.mk.
20099
20100 2010-09-04  Bruno Haible  <bruno@clisp.org>
20101
20102         gnulib-tool: Don't talk about CVS any more.
20103         * gnulib-tool (func_usage, func_import): Write "version control"
20104         instead of CVS.
20105
20106 2010-09-04  Jim Meyering  <meyering@redhat.com>
20107
20108         maint.mk: avoid obscure sc_copyright_check failure in coreutils
20109         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
20110         false positives (whose names may be ill-chosen) when searching
20111         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
20112         would cause a false-positive.
20113
20114         avoid coreutils "make distcheck" failure
20115         Coreutils tests with an absolute build directory name that contains
20116         a space.  Not quoting this directory name caused a failure.
20117         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
20118         * tests/test-vc-list-files-cvs.sh: Likewise.
20119
20120 2010-09-04  Bruno Haible  <bruno@clisp.org>
20121
20122         gnulib-tool: Avoid error when run in a package without Makefile.am.
20123         * gnulib-tool: When collecting the m4dirs in a package that does not
20124         have a Makefile.am, eliminate those directories that contain no
20125         gnulib-cache.m4. Fix expression that counts these directories.
20126
20127 2010-09-04  Bruno Haible  <bruno@clisp.org>
20128
20129         update-copyright test: Improve output when perl is missing or too old.
20130         * tests/test-update-copyright.sh: Move test of Perl version down after
20131         the test whether Perl exists. Provide an explanation relating Perl's
20132         error message to Automake's SKIP: message.
20133
20134 2010-09-04  Bruno Haible  <bruno@clisp.org>
20135
20136         Don't augment PATH in TESTS_ENVIRONMENT.
20137         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
20138         set abs_aux_dir instead of augmenting PATH.
20139         * modules/vc-list-files-tests (Makefile.am): Likewise.
20140         * tests/test-update-copyright.sh: Augment PATH here.
20141         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
20142         path_prepend_.
20143         * tests/test-vc-list-files-git.sh: Likewise.
20144
20145 2010-09-04  Jim Meyering  <meyering@redhat.com>
20146
20147         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
20148         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
20149
20150 2010-09-04  Bruno Haible  <bruno@clisp.org>
20151
20152         strdup: Fix compilation error in C++ mode.
20153         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
20154         the macro.
20155
20156 2010-09-04  Bruno Haible  <bruno@clisp.org>
20157
20158         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
20159         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
20160         macro into a function.
20161         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
20162
20163 2010-09-04  Bruno Haible  <bruno@clisp.org>
20164
20165         Set PATH_SEPARATOR the same way autoconf does.
20166         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
20167         the value of PATH_SEPARATOR the same way autoconf-generated configure
20168         scripts do.
20169         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
20170         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
20171
20172 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
20173
20174         Set PATH_SEPARATOR the same way autoconf does.
20175         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
20176         the same way autoconf-generated configure scripts do.
20177         * posix-modules: Likewise.
20178
20179 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
20180
20181         hash: fix safe_hasher const typo
20182         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
20183         const; otherwise, there is a type error later.
20184
20185 2010-09-02  Jim Meyering  <meyering@redhat.com>
20186
20187         test-update-copyright.sh: require perl 5.8.0
20188         * tests/test-update-copyright.sh: Require 5.8.0,
20189         which Tom G. Christensen has confirmed is adequate,
20190         while 5.6.1 is not.
20191
20192 2010-09-02  Eric Blake  <eblake@redhat.com>
20193
20194         tests: init.sh improvements for re-exec'ing with zsh
20195         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
20196         -vx through shell re-exec.
20197         Reported by Tom G. Christensen.
20198
20199         wctype: fix typo in previous commit
20200         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
20201         Reported by Ludovic Courtès.
20202
20203 2010-09-02  Jim Meyering  <meyering@redhat.com>
20204
20205         test-update-copyright.sh: skip test if Perl is too old
20206         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
20207         Reported by Tom G. Christensen.
20208
20209 2010-09-02  Bruno Haible  <bruno@clisp.org>
20210
20211         wctype: Avoid compilation error on IRIX 6.5.30.
20212         * lib/wctype.in.h (iswblank): Declare with a replacement if
20213         REPLACE_ISWBLANK is set.
20214         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
20215         declared. Set REPLACE_ISWBLANK.
20216         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
20217         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
20218         * doc/posix-headers/wctype.texi: Likewise.
20219         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20220
20221 2010-09-01  Bruno Haible  <bruno@clisp.org>
20222
20223         New module 'socketlib'.
20224         * modules/socketlib: New file.
20225         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
20226         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
20227         * modules/sockets (Depends-on): Add socketlib.
20228         Suggested by Sam Steingold <sds@gnu.org>.
20229
20230 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
20231
20232         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
20233
20234         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
20235         when one needs search access to a directory but not read access.
20236         On systems where it is available, it works in some cases where
20237         O_RDONLY does not, namely on directories that are searchable but
20238         not readable, and which need only to be searchable.  If O_SEARCH
20239         is not available, fall back to the traditional method of using
20240         O_RDONLY.
20241
20242         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
20243         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
20244         when opening a directory that needs only to be searchable.
20245         * lib/chdir-safer.c (chdir_no_follow): Likewise.
20246         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
20247         * lib/openat-proc.c (openat_proc_name): Likewise.
20248         * lib/openat.c (openat_needs_fchdir): Likewise.
20249         * lib/save-cwd.c (save_cwd): Likewise.
20250         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
20251
20252 2010-08-28  Bruno Haible  <bruno@clisp.org>
20253
20254         New module 'host-cpu-c-abi'.
20255         * modules/host-cpu-c-abi: New file.
20256         * m4/host-cpu-c-abi.m4: New file, based on part of
20257         clisp/src/m4/general.m4.
20258         Requested by Sam Steingold <sds@gnu.org>.
20259
20260 2010-08-31  Eric Blake  <eblake@redhat.com>
20261         and Jim Meyering  <meyering@redhat.com>
20262
20263         hash: factor, and guard against misbehaving hasher function
20264         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
20265         of table->hasher's return value.  Also protect against a hash value
20266         so large that adding it to table->bucket results in a NULL pointer.
20267         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
20268         Use it in place of open-coded check-and-abort.
20269
20270 2010-08-30  Bruno Haible  <bruno@clisp.org>
20271
20272         hash: silence spurious clang warning
20273         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
20274         Reported by Eric Blake.
20275
20276 2010-08-30  Eric Blake  <eblake@redhat.com>
20277
20278         strstr, memmem, strcasestr: avoid leaked shell message
20279         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
20280         FreeBSD.
20281         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
20282         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
20283
20284         tests: silence clang warning
20285         * tests/test-malloca.c (do_allocation): Avoid dead store.
20286
20287 2010-08-29  Bruno Haible  <bruno@clisp.org>
20288
20289         gettext: Fix recent mistake.
20290         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
20291
20292 2010-08-29  Bruno Haible  <bruno@clisp.org>
20293
20294         selinux-h: Offer a --without-selinux option.
20295         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
20296         --without-selinux was specified, skip all tests and define
20297         HAVE_SELINUX_SELINUX_H to 0.
20298         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
20299         set LIB_SELINUX to empty.
20300         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
20301         gl_LIBSELINUX. If --without-selinux was specified, replace
20302         selinux/context.h.
20303         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
20304
20305 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
20306             Bruno Haible  <bruno@clisp.org>
20307
20308         Make the module 'realloc-gnu' work again on AIX and OSF/1.
20309         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
20310         of HAVE_REALLOC.
20311         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
20312         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
20313         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
20314         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
20315
20316 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
20317             Bruno Haible  <bruno@clisp.org>
20318
20319         Make the module 'calloc-gnu' work again on AIX and OSF/1.
20320         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
20321         HAVE_CALLOC.
20322         * lib/xmalloc.c: Update accordingly.
20323         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
20324         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
20325         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
20326
20327 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
20328             Bruno Haible  <bruno@clisp.org>
20329
20330         Make the module 'malloc-gnu' work again on AIX and OSF/1.
20331         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
20332         HAVE_MALLOC.
20333         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
20334         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
20335         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
20336
20337 2010-08-29  Bruno Haible  <bruno@clisp.org>
20338
20339         Update modules list.
20340         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
20341         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
20342         (String handling <string.h>): Add astrxfrm.
20343         (File system functions): Add readlinkat.
20344
20345 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20346
20347         Tests for module 'realloc-gnu'.
20348         * modules/realloc-gnu-tests: New file.
20349         * tests/test-realloc-gnu.c: New file.
20350
20351         Tests for module 'calloc-gnu'.
20352         * modules/calloc-gnu-tests: New file.
20353         * tests/test-calloc-gnu.c: New file.
20354
20355         Tests for module 'malloc-gnu'.
20356         * modules/malloc-gnu-tests: New file.
20357         * tests/test-malloc-gnu.c: New file.
20358
20359 2010-08-28  Bruno Haible  <bruno@clisp.org>
20360
20361         Rename module 'realloc' -> 'realloc-gnu'.
20362         * modules/realloc-gnu: New file, copied from modules/realloc.
20363         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
20364         obsolete.
20365         * modules/mgetgroups (Depends-on): Update.
20366         * doc/posix-functions/realloc.texi: Update.
20367         * NEWS: Mention the change.
20368
20369         Rename module 'calloc' -> 'calloc-gnu'.
20370         * modules/calloc-gnu: New file, copied from modules/calloc.
20371         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
20372         obsolete.
20373         * doc/posix-functions/calloc.texi: Update.
20374         * NEWS: Mention the change.
20375
20376         Rename module 'malloc' -> 'malloc-gnu'.
20377         * modules/malloc-gnu: New file, copied from modules/malloc.
20378         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
20379         obsolete.
20380         * modules/argp (Depends-on): Update.
20381         * modules/regex (Depends-on): Update.
20382         * doc/posix-functions/malloc.texi: Update.
20383         * NEWS: Mention the change.
20384
20385 2010-08-28  Eric Blake  <eblake@redhat.com>
20386
20387         pread, pwrite: add missing dependency
20388         * modules/pread (Depends-on): Add extensions.
20389         * modules/pwrite (Depends-on): Likewise.
20390
20391 2010-08-28  Bruno Haible  <bruno@clisp.org>
20392
20393         unistr/u*-strchr: Fix tests dependencies.
20394         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
20395         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
20396         Reported by Ian Beckwith <ianb@erislabs.net>.
20397
20398 2010-08-28  Bruno Haible  <bruno@clisp.org>
20399
20400         read-file: Don't occupy too much unused memory.
20401         * lib/read-file.c (fread_file): Shrink the buffer at the end.
20402
20403 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
20404             Eric Blake  <eblake@redhat.com>
20405             Bruno Haible  <bruno@clisp.org>
20406
20407         read-file: Avoid memory reallocations with regular files.
20408         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
20409         (fread_file): With regular files, use the remaining length as the
20410         initial buffer size.  Check against overflow.
20411         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
20412         sys_stat.
20413
20414 2010-08-28  Bruno Haible  <bruno@clisp.org>
20415
20416         ftello: Relax license.
20417         * modules/ftello (License): Relax to LGPLv2+.
20418         Reported by Eric Blake.
20419
20420 2010-08-28  Bruno Haible  <bruno@clisp.org>
20421
20422         Avoid relocwrapper link errors due to gnulib replacement functions.
20423         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
20424         function.
20425         Reported by Ben Pfaff <blp@cs.stanford.edu>.
20426
20427 2010-08-28  Bruno Haible  <bruno@clisp.org>
20428
20429         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
20430         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
20431         defined.
20432         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
20433         Suggested by Eric Blake.
20434
20435 2010-08-28  Bruno Haible  <bruno@clisp.org>
20436
20437         sys_socket, netdb: Ensure socklen_t gets defined.
20438         * modules/sys_socket (Depends-on): Add socklen.
20439         * modules/netdb (Depends-on): Likewise.
20440         * modules/getaddrinfo (Depends-on): Remove socklen.
20441         * modules/getsockopt (Depends-on): Likewise.
20442         * modules/setsockopt (Depends-on): Likewise.
20443         * tests/test-sys_socket.c: Check that socklen_t is defined.
20444         * tests/test-netdb.c: Likewise.
20445         * m4/socklen.m4: Update comments.
20446         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
20447
20448 2010-08-27  Eric Blake  <eblake@redhat.com>
20449
20450         login_tty: add missing dependency
20451         * modules/login_tty (Depends-on): Add pty.
20452
20453 2010-08-26  Eric Blake  <eblake@redhat.com>
20454
20455         lib-symbol-versions: fix m4 quoting
20456         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
20457         format for AC_LINK_IFELSE.
20458
20459         glob: fix compile test
20460         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
20461
20462         btowc: fix missing file
20463         * modules/btowc (Files): Also ship locale-fr.m4.
20464
20465         lseek: fix link test
20466         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
20467         AC_LINK_IFELSE.
20468
20469         include_next: silence autoconf 2.68 warning
20470         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
20471         AC_COMPILE_IFELSE as special.
20472         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
20473         autoconf < 2.68.
20474
20475         acl: fix compilation test
20476         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
20477         AC_COMPILE_IFELSE.
20478
20479 2010-08-26  Bruno Haible  <bruno@clisp.org>
20480
20481         Modernize AC_TRY_RUN invocations.
20482         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
20483         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
20484         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
20485         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
20486         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
20487         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
20488         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
20489         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
20490         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
20491         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
20492         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
20493         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
20494         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
20495         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
20496         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
20497         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
20498         gl_MBRLEN_NUL_RETVAL): Likewise.
20499         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
20500         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
20501         Likewise.
20502         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
20503         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
20504         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
20505         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
20506         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
20507         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
20508         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
20509         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
20510         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
20511         Likewise.
20512         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
20513         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
20514         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
20515         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
20516         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
20517         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
20518         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
20519         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
20520         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
20521         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
20522
20523 2010-08-26  Bruno Haible  <bruno@clisp.org>
20524
20525         Modernize AC_TRY_LINK invocations.
20526         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
20527         AC_TRY_LINK.
20528         * m4/argp.m4 (gl_ARGP): Likewise.
20529         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
20530         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
20531         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
20532         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
20533         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
20534         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
20535         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
20536         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
20537         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
20538         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
20539         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
20540         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
20541         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
20542         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
20543         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
20544         * m4/hostent.m4 (gl_HOSTENT): Likewise.
20545         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
20546         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
20547         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
20548         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
20549         Likewise.
20550         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
20551         Likewise.
20552         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
20553         Likewise.
20554         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
20555         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
20556         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
20557         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
20558         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
20559         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
20560         * m4/servent.m4 (gl_SERVENT): Likewise.
20561         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
20562         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
20563         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
20564         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
20565         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
20566         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
20567         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
20568         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
20569         * modules/tsearch-tests (configure.ac): Likewise.
20570
20571 2010-08-26  Bruno Haible  <bruno@clisp.org>
20572
20573         Modernize AC_TRY_COMPILE invocations.
20574         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
20575         AC_TRY_COMPILE.
20576         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
20577         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
20578         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
20579         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
20580         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
20581         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
20582         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
20583         * m4/lock.m4 (gl_LOCK): Likewise.
20584         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
20585         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
20586         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
20587         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
20588         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
20589         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
20590         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
20591         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
20592         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
20593         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
20594         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
20595         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
20596         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
20597         extraneous semicolon.
20598
20599 2010-08-26  Jim Meyering  <meyering@redhat.com>
20600
20601         stat-time: relax license LGPL
20602         * modules/stat-time (License): Change from GPL to LGPL,
20603         with consent from all contributors, for use in libguile.
20604         Requested by Ludovic Courtès.
20605
20606 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
20607
20608         poll: return immediately on POLLHUP.
20609         * lib/poll.c (poll): Always set timeout before wait_timeout is
20610         computed.
20611
20612 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20613
20614         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
20615         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
20616         rmdir ("dir/.//"), unlinkat.
20617
20618 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
20619
20620         stdbool: avoid spurious failure with modern xlc
20621         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
20622
20623 2010-08-24  Bruno Haible  <bruno@clisp.org>
20624
20625         getloadavg: simplify code
20626         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
20627         gl_have_func. Update comments.
20628
20629 2010-08-24  Eric Blake  <eblake@redhat.com>
20630
20631         getloadavg: don't define SVR4 on cygwin
20632         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
20633         only define SVR4 when -lkvm is required.
20634         Reported by Yaakov Selkowitz.
20635
20636 2010-08-24  Bruno Haible  <bruno@clisp.org>
20637
20638         priv-set: fix comment
20639         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
20640
20641 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
20642
20643         priv-set: fix comments
20644         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
20645         to match code, as suggested by David Bartley in:
20646         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
20647
20648 2010-08-23  Eric Blake  <eblake@redhat.com>
20649
20650         stdbool: avoid rejecting clang
20651         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
20652         * tests/test-stdbool.c: Enable more tests if using the system
20653         <stdbool.h> instead of the gnulib replacement.
20654         (main): Move xlc bug test to a runtime test for all compilers.
20655         Reported by Anders Kaseorg.
20656
20657         argz: fix shell quoting issue
20658         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
20659         Reported by Charles Wilson.
20660
20661 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
20662             Erik Faye-Lund <kusmabite@gmail.com>
20663
20664         poll, select: handle ERROR_BROKEN_PIPE.
20665         * lib/poll.c (win32_compute_revents): Return POLLHUP when
20666         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
20667         * lib/select.c (win32_compute_revents): Do not mark a pipe
20668         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
20669
20670 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
20671
20672         fts: allow compilation with C++
20673         * lib/fts_.h: Specify extern "C" linkage with C++.
20674
20675 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20676
20677         Fix gnulib-tool sed script de-commentation for AIX sed.
20678         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
20679         sed.
20680
20681 2010-08-17  Eric Blake  <eblake@redhat.com>
20682
20683         test-stddef: test for (some) offsetof bugs
20684         * tests/test-stddef.c: Enhance test to ensure correct type of
20685         offsetof.
20686         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
20687         that we are not fixing at this time.
20688
20689 2010-08-15  Bruno Haible  <bruno@clisp.org>
20690
20691         stpncpy: Allow stpncpy to be defined as a macro.
20692         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
20693         if it's already correctly declared.
20694         * lib/string.in.h (stpncpy): Undefine before redefining.
20695         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
20696
20697 2010-08-14  Bruno Haible  <bruno@clisp.org>
20698
20699         Rename module 'memxfrm' to 'amemxfrm'.
20700         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
20701         (amemxfrm): Renamed from memxfrm.
20702         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
20703         (amemxfrm): Renamed from memxfrm.
20704         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
20705         * NEWS: Mention the change.
20706         * MODULES.html.sh (String handling <string.h>): Update.
20707         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
20708         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
20709         * lib/unicase/u16-casexfrm.c: Likewise.
20710         * lib/unicase/u32-casexfrm.c: Likewise.
20711         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
20712         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
20713         * lib/uninorm/u16-normxfrm.c: Likewise.
20714         * lib/uninorm/u32-normxfrm.c: Likewise.
20715         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
20716         memxfrm.
20717         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
20718         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
20719         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
20720         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
20721         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
20722         Suggested by Paul Eggert.
20723
20724 2010-08-14  Bruno Haible  <bruno@clisp.org>
20725
20726         Tests for module 'astrxfrm'.
20727         * modules/astrxfrm-tests: New file.
20728         * tests/test-astrxfrm.c: New file.
20729
20730         New module 'astrxfrm'.
20731         * lib/astrxfrm.h: New file.
20732         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
20733         * modules/astrxfrm: New file.
20734
20735 2010-08-14  Reuben Thomas <rrt@sc3d.org>
20736
20737         regex: Tweak doc.
20738         * doc/regex.texi (Overview): Don't mention regex.c.
20739         (GNU Regular Expression Compiling): Likewise.
20740         (Match-end-of-line Operator): Mention 'not_eol'.
20741
20742 2010-08-14  Brian Gough  <bjg@gnu.org>
20743             Bruno Haible  <bruno@clisp.org>
20744
20745         git-merge-changelog: add doc relating to use with bzr and hg.
20746         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
20747
20748 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
20749
20750         pthread: fix pthread.h creation for srcdir != builddir
20751         * modules/pthread (Makefile.am): Fix the rule to work also in a
20752         non-srcdir build.
20753
20754 2010-08-13  Karl Berry  <karl@gnu.org>
20755
20756         * doc/regex.texi (Predefined Syntaxes): @smallexample.
20757         * doc/posix-*/*: force line break before @url of POSIX
20758         specifications.
20759         Suggested by Werner Lemberg.
20760
20761 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
20762
20763         strtod: fix const diagnostic
20764         * lib/strtod.c (strtod): Don't assign const char * to char *,
20765         as this elicits a warning from GCC when warnings are enabled.
20766
20767 2010-08-10  Pádraig Brady <P@draigbrady.com>
20768         and Eric Blake  <eblake@redhat.com>
20769
20770         copy-acl: ignore ENOTSUP on HP-UX
20771         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
20772         so that it is available for HP-UX.
20773         * lib/copy-acl.c (qcopy_acl): Use it.
20774         Reported by Patrick M. Callahan.
20775
20776 2010-08-10  Eric Blake  <eblake@redhat.com>
20777
20778         open, chown: relax license
20779         * modules/open (License): Change to LGPLv2+, with consent by all
20780         authors, for use in augeas.
20781         * modules/chown (License): Likewise.
20782         * modules/lchown (Likewise): Likewise.
20783         Requested by Adam Stokes.
20784
20785 2010-08-09  Karl Berry  <karl@gnu.org>
20786
20787         * build-aux/ar-lib: new file, import from Automake.
20788         * config/srclist.txt: autocheck for updates.
20789
20790 2010-08-09  Eric Blake  <eblake@redhat.com>
20791
20792         readlinkat: adjust client modules
20793         * modules/areadlinkat (Depends-on): Use readlinkat, not
20794         symlinkat.
20795         * modules/areadlinkat-with-size (Depends-on): Likewise.
20796
20797         mknod: be more vocal about danger of running tests as root
20798         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
20799         root, since that is just asking for problems.
20800         Suggested by Bruno Haible, based on a report by Rainer Tammer.
20801
20802         readlinkat: split into its own module
20803         * modules/symlinkat: Split readlinkat...
20804         * modules/readlinkat: ...into separate module.
20805         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
20806         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
20807         * lib/symlinkat.c (readlinkat): Move...
20808         * lib/readlinkat.c: ...into new file.
20809         * modules/symlinkat-tests: Split readlinkat test...
20810         * modules/readlinkat-tests: ...into separate module.
20811         * tests/test-symlinkat.c: Split...
20812         * tests/test-readlinkat.c: ...into new file.
20813         * NEWS: Document the split.
20814         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
20815         * lib/unistd.in.h (readlinkat): Likewise.
20816         Suggested by Bruno Haible.
20817
20818 2010-08-08  Bruno Haible  <bruno@clisp.org>
20819
20820         memxfrm: Speed up.
20821         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
20822         that usually only one call to strxfrm is necessary for each string
20823         part.
20824         Reported by Paul Eggert <eggert@cs.ucla.edu>.
20825
20826 2010-08-07  Karl Berry  <karl@gnu.org>
20827
20828         * doc/posix-headers/limits.texi,
20829         * doc/posix-functions/malloc.texi,
20830         * doc/posix-functions/strsignal.texi: missing @item.
20831         * doc/ld-version-script.texi: spurious leading i.
20832         * doc/regex.texi (Interval Operators): no commas inside @var.
20833
20834 2010-08-01  Bruno Haible  <bruno@clisp.org>
20835
20836         Integrate the regex documentation.
20837         * doc/gnulib.texi: Define 'cn' index.
20838         (Regular expressions): New a chapter that includes regex.texi and
20839         regexprops-generic.texi.
20840         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
20841         syntax.
20842
20843         Whitespace cleanup.
20844         * doc/regex.texi: Remove trailing spaces.
20845
20846         Add regex documentation.
20847         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
20848         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
20849         Written by Kathy A. Hargreaves and Karl Berry.
20850
20851 2010-08-01  Bruno Haible  <bruno@clisp.org>
20852
20853         link: Update documentation.
20854         * doc/posix-functions/link.texi: Update regarding Solaris.
20855
20856 2010-07-31  Bruno Haible  <bruno@clisp.org>
20857
20858         Update modules list.
20859         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
20860         (String handling <string.h>): Add memcmp2, memxfrm.
20861         (Container data structures): Add xlist, xsublist, xoset.
20862         (Core language properties): Add alignof, unused-parameter.
20863         (Process control, Numeric conversion functions <stdlib.h>): Renamed
20864         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
20865         (Unibyte characters <ctype.h>): New section.
20866         (String handling <string.h>): New section.
20867         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
20868         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
20869         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
20870         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
20871         tan, tanh, tanl, y0, y1, yn.
20872         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
20873         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
20874         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
20875         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
20876         unlockpt, vdprintf, vdprintf-posix.
20877         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
20878         (File system functions): Add concat-filename, sys_file, sys_ioctl,
20879         xconcat-filename.
20880         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
20881         getdtablesize, pipe2, pipe2-safer.
20882         (Security): New section.
20883         (Networking functions): Add accept4.
20884         (Signal handling): Add sigpipe.
20885         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
20886         mbmemcasecoll.
20887         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
20888         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
20889         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
20890         pipe-filter-ii.
20891         (Misc): Add argp-version-etc, login_tty, parse-duration.
20892
20893 2010-07-31  Bruno Haible  <bruno@clisp.org>
20894
20895         Improve doc in MODULES.html.
20896         * modules/linkat (Description): Add the word "function".
20897         * modules/mkfifo (Description): Likewise.
20898         * modules/mknod (Description): Likewise.
20899         * modules/remove (Description): Likewise.
20900         * modules/renameat (Description): Likewise.
20901         * modules/stat (Description): Likewise.
20902         * modules/symlink (Description): Likewise.
20903         * modules/unlink (Description): Likewise.
20904
20905 2010-07-31  Bruno Haible  <bruno@clisp.org>
20906
20907         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
20908         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
20909         option --enable/disable-c++ instead of --enable/disable-cxx.
20910         * NEWS: Mention the change.
20911
20912 2010-07-31  Bruno Haible  <bruno@clisp.org>
20913
20914         readlink, areadlink: Relax test a bit.
20915         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
20916         alternative to ENOTDIR.
20917         * tests/test-areadlink.h (test_areadlink): Likewise.
20918         Reported by Rainer Tammer.
20919
20920 2010-07-31  Bruno Haible  <bruno@clisp.org>
20921
20922         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
20923         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
20924         character, perform the search using U_STRCHR.
20925         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
20926         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
20927         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
20928         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
20929         Suggested by Paolo Bonzini.
20930
20931 2010-07-31  Bruno Haible  <bruno@clisp.org>
20932
20933         unistr/u*-strstr: Fix dependencies.
20934         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
20935         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
20936         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
20937
20938 2010-07-31  Bruno Haible  <bruno@clisp.org>
20939
20940         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
20941         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
20942         the beginning of the loop.
20943         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
20944         cases in 'switch' statement.
20945
20946         unistr/u8-strchr: Fix several bugs.
20947         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
20948         the string. When not found, return NULL, not a pointer near the end.
20949
20950         More tests for unistr/u8-strchr.
20951         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
20952         that the function does not read past the first occurrence of the byte
20953         being searched.
20954         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
20955         * tests/unistr/test-u16-strchr.c (main): New function.
20956         * tests/unistr/test-u32-strchr.c (main): New function.
20957
20958 2010-07-31  Bruno Haible  <bruno@clisp.org>
20959
20960         posix-modules: Ignore backup files of documentation files.
20961         * posix-modules: grep only through files named *.texi.
20962
20963 2010-07-31  Bruno Haible  <bruno@clisp.org>
20964
20965         symlinkat: Fix documentation.
20966         * doc/posix-functions/readlinkat.texi: Fix module name.
20967
20968 2010-07-31  Bruno Haible  <bruno@clisp.org>
20969
20970         fchownat: Replace also when chown has the trailing slash bug.
20971         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
20972         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
20973         introduced on 2010-04-10.
20974         Reported by Rainer Tammer.
20975
20976 2010-07-31  Bruno Haible  <bruno@clisp.org>
20977
20978         linkat: Work around AIX 7.1 bug.
20979         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
20980         whether linkat handles trailing slash correctly. If not, replace linkat
20981         and define LINKAT_TRAILING_SLASH_BUG.
20982         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
20983         check whether (fd1,file1) points to a directory if file1 or file2 ends
20984         in a slash. Code taken from lib/link.c.
20985         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
20986         Reported by Rainer Tammer.
20987
20988 2010-07-31  Bruno Haible  <bruno@clisp.org>
20989
20990         Correctly determine whether pow is available in libc on AIX 7 with xlc.
20991         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
20992         This disables an xlc optimization that was causing wrong test results.
20993         Reported by Rainer Tammer.
20994
20995 2010-07-31  Bruno Haible  <bruno@clisp.org>
20996
20997         iconv: Work around AIX 6.1..7.1 bug.
20998         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
20999         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
21000         cross-compiling, guess no on all versions of AIX.
21001         Reported by Rainer Tammer.
21002
21003 2010-07-31  Bruno Haible  <bruno@clisp.org>
21004
21005         readlink: Relax test a bit.
21006         * tests/test-readlink.h (test_readlink): Allow different errno value
21007         when readlink is called with a file name that ends in / and refers to
21008         a file.
21009         Suggested by Eric Blake.
21010         Reported by Rainer Tammer.
21011
21012 2010-07-31  Bruno Haible  <bruno@clisp.org>
21013
21014         copysign: Does not require -lm on glibc systems.
21015         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
21016         gl_COMMON_DOUBLE_MATHFUNC.
21017         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
21018
21019 2010-07-31  Bruno Haible  <bruno@clisp.org>
21020
21021         duplocale: Work around AIX 7.1 bug.
21022         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
21023         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
21024         * lib/duplocale.c (rpl_duplocale): Update comment.
21025         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
21026         Reported by Rainer Tammer.
21027
21028 2010-07-30  Bruno Haible  <bruno@clisp.org>
21029
21030         dirfd: Avoid link error on AIX 7.1.
21031         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
21032         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
21033         exist, set REPLACE_DIRFD.
21034         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
21035         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
21036         * doc/posix-functions/dirfd.texi: Update.
21037         Reported by Rainer Tammer.
21038
21039 2010-07-30  Eric Blake  <eblake@redhat.com>
21040
21041         strtod: next round of AIX fixes
21042         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
21043         exponent.
21044         * tests/test-strtod.c (main): Enhance tests.
21045         * doc/posix-functions/strtod.texi (strtod): Document next bug.
21046         Reported by Rainer Tammer.
21047
21048         futimens: fix configure check
21049         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
21050         Reported by Bruno Haible.
21051
21052 2010-07-30  Bruno Haible  <bruno@clisp.org>
21053
21054         getline: Update regarding AIX.
21055         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
21056         Reported by Rainer Tammer.
21057
21058 2010-07-30  Bruno Haible  <bruno@clisp.org>
21059
21060         wcwidth: Drop replacement on AIX 7.
21061         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
21062         AIX 7.
21063         Reported by Rainer Tammer.
21064
21065 2010-07-30  Bruno Haible  <bruno@clisp.org>
21066
21067         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
21068         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
21069         a 'char *'.
21070         Reported by Rainer Tammer.
21071
21072 2010-07-30  Bruno Haible  <bruno@clisp.org>
21073
21074         unlink: Update regarding AIX.
21075         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
21076         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
21077         Reported by Rainer Tammer.
21078
21079 2010-07-30  Bruno Haible  <bruno@clisp.org>
21080
21081         symlink: Update regarding AIX.
21082         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
21083         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
21084         Reported by Rainer Tammer.
21085
21086 2010-07-30  Bruno Haible  <bruno@clisp.org>
21087
21088         strndup: Update regarding AIX.
21089         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
21090         AIX 7.
21091         Reported by Rainer Tammer.
21092
21093 2010-07-30  Bruno Haible  <bruno@clisp.org>
21094
21095         stat: Update regarding AIX.
21096         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
21097         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
21098         Reported by Rainer Tammer.
21099
21100 2010-07-30  Bruno Haible  <bruno@clisp.org>
21101
21102         truncl: Fix autoconf test.
21103         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
21104         whether truncl works.
21105         Reported by Rainer Tammer.
21106
21107 2010-07-30  Bruno Haible  <bruno@clisp.org>
21108
21109         round: Update regarding AIX.
21110         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
21111         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
21112         Reported by Rainer Tammer.
21113
21114 2010-07-30  Bruno Haible  <bruno@clisp.org>
21115
21116         rename: Update regarding AIX.
21117         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
21118         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
21119         Reported by Rainer Tammer.
21120
21121 2010-07-30  Bruno Haible  <bruno@clisp.org>
21122
21123         printf.m4: Update regarding AIX.
21124         * m4/printf.m4: Update comments regarding AIX.
21125         Reported by Rainer Tammer.
21126
21127 2010-07-30  Bruno Haible  <bruno@clisp.org>
21128
21129         iconv: Update regarding AIX.
21130         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
21131         AIX 7.
21132         Reported by Rainer Tammer.
21133
21134 2010-07-30  Bruno Haible  <bruno@clisp.org>
21135
21136         getopt: Update regarding AIX.
21137         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
21138         no on AIX.
21139         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
21140         Reported by Rainer Tammer.
21141
21142 2010-07-30  Bruno Haible  <bruno@clisp.org>
21143
21144         ldexpl; Update regarding AIX.
21145         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
21146         on AIX 7.
21147         Reported by Rainer Tammer.
21148
21149 2010-07-30  Bruno Haible  <bruno@clisp.org>
21150
21151         frexpl: Update regarding AIX.
21152         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
21153         on AIX 7.
21154         Reported by Rainer Tammer.
21155
21156 2010-07-30  Bruno Haible  <bruno@clisp.org>
21157
21158         open, fopen: Update regarding AIX.
21159         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
21160         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
21161         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
21162         * doc/posix-functions/fopen.texi: Likewise.
21163         Reported by Rainer Tammer.
21164
21165 2010-07-30  Bruno Haible  <bruno@clisp.org>
21166
21167         chown: Update doc regarding AIX.
21168         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
21169         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
21170         Reported by Rainer Tammer.
21171
21172 2010-07-30  Eric Blake  <eblake@redhat.com>
21173
21174         strtod: fix bug in replacement function on AIX
21175         * lib/strtod.c (strtod): Special case broken "0x" parse in
21176         underlying strtod.
21177         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
21178         * doc/posix-functions/strtod.texi (strtod): Likewise.
21179         Reported by Rainer Tammer.
21180
21181 2010-07-30  Bruno Haible  <bruno@clisp.org>
21182
21183         mbrlen: Fix cross-compilation guess for AIX.
21184         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
21185         guess. Leftover from 2008-12-22.
21186
21187 2010-07-30  Bruno Haible  <bruno@clisp.org>
21188
21189         mbrtowc: Fix cross-compilation guess for AIX.
21190         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
21191         guess. Leftover from 2008-12-21.
21192
21193 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
21194
21195         init.sh: work around trap limitation of some shells
21196         * tests/init.sh (setup_): Move exit trap outside of shell function.
21197
21198 2010-07-29  Eric Blake  <eblake@redhat.com>
21199
21200         strtod: aid debugging
21201         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
21202         understanding why strtod is rejected.
21203
21204 2010-07-28  Bruno Haible  <bruno@clisp.org>
21205
21206         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
21207         * lib/unistr/u8-chr.c: Include <string.h>.
21208         * tests/unistr/test-u8-chr.c: Likewise.
21209         * tests/unistr/test-u16-chr.c: Likewise.
21210         * tests/unistr/test-u32-chr.c: Likewise.
21211         * tests/unistr/test-u8-strchr.c: Likewise.
21212         * tests/unistr/test-u16-strchr.c: Likewise.
21213         * tests/unistr/test-u32-strchr.c: Likewise.
21214         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
21215         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
21216         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
21217         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
21218
21219 2010-07-28  Bruno Haible  <bruno@clisp.org>
21220
21221         Use spaces for indentation, not tabs.
21222         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
21223
21224 2010-07-27  Bruno Haible  <bruno@clisp.org>
21225
21226         mbspcasecmp: Fix function specification.
21227         * lib/string.in.h (mbspcasecmp): Fix specification comment.
21228         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
21229         Reported by Eric Blake <eblake@redhat.com>.
21230
21231 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
21232
21233         timespec: use cast and not conditional, as truncation isn't possible
21234         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
21235         instead of a conditional.  Comment about the situation in more detail.
21236         This undoes most of the 2009-10-29 patch.
21237
21238 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
21239
21240         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
21241         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
21242         * lib/unistr/u8-strchr.c: Likewise.
21243         * modules/unistr/u8-chr: Depend on memchr.
21244
21245         unistr/u*-strchr: add tests
21246         * modules/unistr/u8-strchr-tests: New file.
21247         * modules/unistr/u16-strchr-tests: New file.
21248         * modules/unistr/u32-strchr-tests: New file.
21249         * tests/unistr/test-strchr.h: New file.
21250         * tests/unistr/test-u8-strchr.c: New file.
21251         * tests/unistr/test-u16-strchr.c: New file.
21252         * tests/unistr/test-u32-strchr.c: New file.
21253
21254         unistr/u*-chr: test multibyte sequences more
21255         * tests/unistr/test-chr.h: Do complete testing of the characters in the
21256         test vector.
21257         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
21258         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
21259         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
21260
21261         unistr/u*-chr: test multibyte sequences
21262         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
21263
21264         unistr/u*-chr: prepare for multibyte tests
21265         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
21266         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
21267         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
21268         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
21269         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
21270         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
21271
21272 2010-07-18  Bruno Haible  <bruno@clisp.org>
21273
21274         unistr/u8-strchr: Optimize non-ASCII argument case.
21275         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
21276         because the first byte often matches anyway.
21277         Reported by Pádraig Brady <P@draigbrady.com>.
21278
21279 2010-07-15  Karl Berry  <karl@gnu.org>
21280
21281         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
21282
21283 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
21284
21285         getcwd: on Solaris, work better if ancestors are inaccessible
21286         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
21287         buffer and size, try again with a large buffer.  This works better
21288         on Solaris, since its getcwd succeeds even if the path to the root
21289         is inaccessible, and this is helpful in common cases such as .zfs
21290         hidden directories.  Problem reported by J Chapman Flack in
21291         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
21292         Use system getcwd if it's declared, not merely if it's partly
21293         working; use the partly-working test only to avoid needless effort
21294         if the system getcwd fails.
21295         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
21296         comment that was already obsolete and is now even more obsolete.
21297         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
21298         now might call strdup.
21299
21300 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
21301
21302         pthread: Add enough so that coreutils/src/sort.c compiles.
21303         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
21304         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
21305         gnulib. Include <sched.h> and <time.h>, as per POSIX.
21306         Include <sys/types.h>, in case it defines pthread_t.
21307         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
21308         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
21309         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
21310         (pthread_rwlockattr_t, pthread_spinlock_t):
21311         New typedefs, if HAVE_PTHREAD_T is not defined.
21312         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
21313         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
21314         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
21315         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
21316         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
21317         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
21318         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
21319         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
21320         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
21321         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
21322         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
21323         New macros.
21324         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
21325         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
21326         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
21327         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
21328         (pthread_spin_unlock): New dummy functions.
21329         (pthread_create): Return EAGAIN; don't set errno.
21330         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
21331         require AC_C_INLINE.
21332         * modules/pthread (Depends-on): Add sched, time.
21333         (pthread.h): Use AM_V_GEN.
21334
21335 2010-07-13  Bruno Haible  <bruno@clisp.org>
21336
21337         striconveh: Don't malloc memory if the result buffer is sufficient.
21338         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
21339         buffer if its size is sufficient.
21340         Reported by Ludovic Courtès <ludo@gnu.org>.
21341
21342 2010-07-13  Bruno Haible  <bruno@clisp.org>
21343
21344         strtod: Add safety check.
21345         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
21346
21347 2010-07-12  Bruno Haible  <bruno@clisp.org>
21348
21349         Unify tests that set gl_cv_func_ldexpl_no_libm.
21350         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
21351         gl_FUNC_LDEXPL.
21352         (gl_FUNC_LDEXPL): Invoke it.
21353         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
21354
21355 2010-07-12  Bruno Haible  <bruno@clisp.org>
21356
21357         Unify tests that set gl_cv_func_ldexp_no_libm.
21358         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
21359         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
21360         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
21361         (configure.ac): Simply invoke gl_FUNC_LDEXP.
21362         * modules/strtod (Files): Add m4/ldexp.m4.
21363
21364 2010-07-12  Bruno Haible  <bruno@clisp.org>
21365
21366         Unify tests that set gl_cv_func_frexpl_no_libm.
21367         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
21368         gl_FUNC_FREXPL_NO_LIBM.
21369         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
21370         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
21371
21372 2010-07-12  Bruno Haible  <bruno@clisp.org>
21373
21374         Unify tests that set gl_cv_func_frexp_no_libm.
21375         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
21376         gl_FUNC_FREXP_NO_LIBM.
21377         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
21378         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
21379
21380 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
21381
21382         memcoll: clarify sizes versus lengths, document better, and tweak perf
21383         * lib/memcoll.c (strcoll_loop, memcoll0):
21384         Improve quality of descriptive comments.  Name variables
21385         consistently as to whether they are lengths (which do not include
21386         terminating null) versus sizes (which do).
21387         * lib/xmemcoll.c (xmemcoll0): Likewise.
21388         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
21389         returned when s1size == 0; this is easier to compile and saves
21390         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
21391
21392 2010-07-12  Bruno Haible  <bruno@clisp.org>
21393
21394         Tests for module '_Exit'.
21395         * modules/_Exit-tests: New file.
21396         * tests/test-_Exit.sh: New file.
21397         * tests/test-_Exit.c: New file.
21398
21399         New module '_Exit'.
21400         * lib/stdlib.in.h (__attribute__): New macro.
21401         (_Exit): New declaration.
21402         * lib/_Exit.c: New file.
21403         * m4/_Exit.m4: New file.
21404         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
21405         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
21406         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
21407         * modules/_Exit: New file.
21408         * tests/test-stdlib-c++.cc (_Exit): Check signature.
21409         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
21410
21411 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
21412
21413         strtod: make it more-accurate typically, and don't require libm
21414         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
21415         Include limits.h.  Don't include string.h.
21416         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
21417         (locale_isspace): New function, so that no casts are needed to
21418         check whether *s is a space.
21419         (ldexp): Provide an unused dummy if not available.
21420         (scale_radix_exp, parse_number, underlying_strtod): New functions.
21421         (strtod): Use them.  This implementation prefers to use the
21422         underlying strtod if available, falling back on our own code
21423         only to fix known bugs.  This is more likely to produce an
21424         accurate result.  Also, it avoids the use of libm functions.
21425         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
21426         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
21427         was absent, but it caused a test failure with coreutils.
21428         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
21429         with libm.
21430         * modules/strtod (Makefile.am, Link): libm is no longer needed.
21431         * modules/strtod-tests (Makefile.am): Likewise.
21432
21433 2010-07-11  Pádraig Brady  <P@draigBrady.com>
21434             Bruno Haible  <bruno@clisp.org>
21435
21436         unistr/u8-strchr: Optimize ASCII argument case.
21437         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
21438
21439 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
21440
21441         (x)memcoll: minor tweaks
21442         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
21443         is after the type that it qualifies.
21444         (memcoll0): Likewise.
21445         * lib/memcoll.h (memcoll0): Likewise.
21446         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
21447         * lib/xmemcoll.h (xmemcoll0): Likewise.
21448         * lib/memcoll.c (memcoll0): Correct the comment.  This function
21449         differs from memcoll in that the NUL byte is part of the argument.
21450         Omit the abort-checks, as performance is a real issue here.  Plus,
21451         the checks were wrong anyway (an off-by-one error).  Omit local
21452         variable 'diff', as it's a bit clearer that way.
21453         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
21454         no longer needed.
21455
21456 2010-07-08  Chen Guo <chenguo4@yahoo.com>
21457
21458         (x)memcoll: speedup when input is known to be NUL delimited
21459         * lib/memcoll.c: Include stdlib.
21460         (memcoll0): New function.
21461         (strcoll_loop): New function, refactored for use in both memcoll
21462         and memcoll0.
21463         * lib/memcoll.h (memcoll0): Add prototype.
21464         * lib/xmemcoll.c (xmemcoll0): New function.
21465         (collate_error): New function, refactored for use in both xmemcoll
21466         and xmemcoll0.
21467         * lib/xmemcoll.h (xmemcoll0): Add prototype.
21468         * m4/memcoll.m4: add inline invocation.
21469
21470 2010-07-06  Pádraig Brady  <P@draigBrady.com>
21471
21472         * build-aux/bootstrap: Remove any local translations
21473         from the translation project synchronization directory,
21474         so that local only translations are not distributed.
21475
21476 2010-07-04  Bruno Haible  <bruno@clisp.org>
21477
21478         fsusage: Clarify which code applies to which platforms.
21479         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
21480         platform.
21481         * lib/fsusage.c (get_fs_usage): Likewise.
21482
21483 2010-07-04  Bruno Haible  <bruno@clisp.org>
21484
21485         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
21486         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
21487         Reported by Martin Lambers <marlam@marlam.de>.
21488
21489 2010-07-04  Jim Meyering  <meyering@redhat.com>
21490
21491         hash: once again explicitly disallow insertion of NULL
21492         * lib/hash.c (hash_insert0): Reinstate just-removed test:
21493         inserting a NULL pointer cannot work with these functions.
21494         Add a comment with details.
21495         This reverts part of the 2010-07-01 commit, 5bef1a35
21496         "hash: extend module to deal with non-pointer keys".
21497
21498 2010-07-01  Bruno Haible  <bruno@clisp.org>
21499
21500         stdbool: Update doc.
21501         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
21502         Info from Christian Weisgerber <naddy@mips.inka.de>.
21503
21504 2010-07-01  Jim Meyering  <meyering@redhat.com>
21505
21506         hash: extend module to deal with non-pointer keys
21507         * lib/hash.c (hash_insert0): New interface, much like hash_insert
21508         but that allows insertion of non-pointer entries.
21509         Do not disallow an ENTRY value of NULL.
21510         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
21511         * lib/hash.h (hash_insert0): Declare.
21512
21513 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
21514
21515         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
21516         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
21517         not present (i.e. with autoconf 2.59 and when using gettextize, not
21518         gnulib), require AC_GNU_SOURCE instead.
21519
21520 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
21521
21522         idpriv-drop: Fix tests.
21523         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
21524         not to the test-idpriv-droptemp program.
21525
21526 2010-06-29  Bruno Haible  <bruno@clisp.org>
21527
21528         string: Fix syntax error with g++ 2.96.
21529         * lib/string.in.h (__pure__): Remove definition.
21530         (_GL_ATTRIBUTE_PURE): New macro.
21531         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
21532         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
21533         Reported by Christian Weisgerber <naddy@mips.inka.de>.
21534
21535 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
21536
21537         unitypes: Fix bug introduced on 2010-05-18.
21538         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
21539
21540 2010-06-22  Eric Blake  <eblake@redhat.com>
21541
21542         memmem: slight optimization
21543         * lib/str-two-way.h (critical_factorization): Update comments.
21544         Reduce work during factorization phase.
21545         Reported by Carlos Bueno <carlos@bueno.org>.
21546
21547 2010-06-21  Bruno Haible  <bruno@clisp.org>
21548
21549         Fix HAVE_CALLOC_POSIX misnomer.
21550         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
21551         !HAVE_CALLOC_POSIX.
21552         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
21553         HAVE_CALLOC_POSIX.
21554         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
21555         instead of HAVE_CALLOC_POSIX.
21556         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
21557         HAVE_CALLOC_POSIX.
21558
21559         Use modern idiom for calloc() replacement.
21560         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
21561         AC_FUNC_CALLOC.
21562         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
21563         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
21564         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
21565         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
21566         (gl_REPLACE_CALLOC): New macro.
21567
21568 2010-06-21  Bruno Haible  <bruno@clisp.org>
21569
21570         Fix HAVE_REALLOC_POSIX misnomer.
21571         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
21572         !HAVE_REALLOC_POSIX.
21573         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
21574         HAVE_REALLOC_POSIX.
21575         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
21576         instead of HAVE_REALLOC_POSIX.
21577         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
21578         HAVE_REALLOC_POSIX.
21579
21580         Use modern idiom for realloc() replacement.
21581         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
21582         AC_FUNC_REALLOC.
21583         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
21584         Autoconf's AC_FUNC_REALLOC.
21585         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
21586         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
21587         (gl_REPLACE_REALLOC): New macro.
21588         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
21589
21590 2010-06-21  Bruno Haible  <bruno@clisp.org>
21591
21592         Fix HAVE_MALLOC_POSIX misnomer.
21593         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
21594         !HAVE_MALLOC_POSIX.
21595         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
21596         HAVE_MALLOC_POSIX.
21597         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
21598         instead of HAVE_MALLOC_POSIX.
21599         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
21600         HAVE_MALLOC_POSIX.
21601
21602         Use modern idiom for malloc() replacement.
21603         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
21604         AC_FUNC_MALLOC.
21605         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
21606         Autoconf's AC_FUNC_MALLOC.
21607         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
21608         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
21609         (gl_REPLACE_MALLOC): New macro.
21610         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
21611
21612 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
21613
21614         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
21615         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
21616         This macro takes 3 arguments, not 4.
21617
21618 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
21619
21620         ipv6: fix detection under mingw
21621         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
21622         in6_addr.
21623
21624 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
21625
21626         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
21627         that strtod() works when cross-compiling to a glibc version known
21628         to work.
21629
21630 2010-06-15  Bruno Haible  <bruno@clisp.org>
21631
21632         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
21633
21634 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
21635
21636         select: Correct timeout.
21637         * lib/select.c (rpl_select): Compute wait_timeout correctly.
21638
21639 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
21640
21641         git-version-gen: init shell var to avoid env var influence
21642         * build-aux/git-version-gen (v): Init shell var to empty.
21643
21644 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
21645
21646         priv-set: Don't assume that priv.h exists merely because getppriv does.
21647         See Jan Andersen's bug report about AIX 5L in
21648         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
21649         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
21650         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
21651         * lib/priv-set.h: Likewise.
21652         * tests/test-priv-set.c: Likewise.
21653
21654 2010-06-13  Bruno Haible  <bruno@clisp.org>
21655
21656         relocatable: Make it easier to test whether to install wrappers.
21657         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
21658         RELOCATABLE_VIA_WRAPPER.
21659
21660 2010-06-13  Bruno Haible  <bruno@clisp.org>
21661
21662         gnulib-tool: Display specified modules and dependencies differently.
21663         * gnulib-tool (func_show_module_list): New function.
21664         (func_import, func_create_testdir): Invoke it.
21665         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
21666
21667 2010-06-13  Bruno Haible  <bruno@clisp.org>
21668
21669         gnulib-tool: Align code of func_import and func_create_testdir.
21670         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
21671         specified_modules.
21672
21673 2010-06-12  Jim Meyering  <meyering@redhat.com>
21674
21675         test-inttostr: avoid spurious failure on Solaris 9
21676         * tests/test-inttostr.c (main): Skip the test when snprintf fails
21677         to accept "%ju".  Reported by Bruno Haible.
21678
21679 2010-06-11  Jim Meyering  <meyering@redhat.com>
21680
21681         test-sys_socket: mark variables as used more readably
21682         * tests/test-sys_socket.c (main): Mark otherwise unused variables
21683         as "used" explicitly via (void) statement casts.  This is more
21684         readable than using them in an artificial return expression.
21685         Suggestion from Bruno Haible.
21686
21687 2010-06-11  Bruno Haible  <bruno@clisp.org>
21688
21689         Avoid some more warnings from "gcc -Wwrite-strings".
21690         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
21691         to 'const char *'.
21692         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
21693         * tests/test-c-strcasestr.c (main): Likewise.
21694         * tests/test-mbscasestr1.c (main): Likewise.
21695         * tests/test-mbscasestr2.c (main): Likewise.
21696         * tests/test-memmem.c (main): Likewise.
21697         * tests/test-strstr.c (main): Likewise.
21698         * tests/test-strcasestr.c (main): Likewise.
21699
21700 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21701
21702         init.sh: change framework_failure_ to fail with status 99, not 1
21703         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
21704         automake's parallel-tests rule that this is an unexpected failure,
21705         even if the test is listed in XFAIL_TESTS.
21706
21707 2010-06-11  Jim Meyering  <meyering@redhat.com>
21708
21709         test-inttostr: avoid warnings about 4-6KB literal strings
21710         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
21711         Include "macros.h", for its definition of ASSERT.
21712         (CK): s/assert/ASSERT/
21713         * modules/inttostr-tests (Files): Add macros.h.
21714
21715         init.sh: don't use $ME_ or skip_ before they are defined
21716         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
21717         their first uses.  Also hoist their companions: warn_, fail_,
21718         framework_failure_, $stderr_fileno.  Prompted by a patch from
21719         Stefano Lattarini.
21720
21721         test-sys_socket: avoid set-but-not-used warnings from gcc
21722         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
21723         avoid warning about set-but-not-used variables.
21724
21725         test-xvasprintf: avoid 'const' discard warnings
21726         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
21727         "const" when assigning from literal strings.
21728         (test_xasprintf): Add "void" in function argument list to placate
21729         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
21730
21731         tests: avoid compilation warnings in argmatch and exclude tests...
21732         in packages that define ARGMATCH_DIE_DECL, like coreutils.
21733         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
21734         Since it always exits, declare with the "noreturn" attribute.
21735         * tests/test-argmatch.c: Likewise.
21736
21737         tests: avoid 'const' discard warnings in mbsstr tests
21738         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
21739         * tests/test-mbsstr2.c (main): Likewise.
21740
21741         test-verify: avoid warning from gcc's -Wmissing-declarations
21742         * tests/test-verify.c (function): Declare to be static.
21743
21744         test-inttostr.c: include <string.h> for use of strcmp
21745         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
21746
21747         test-linkat: avoid failed assertion on "other" architectures
21748         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
21749         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
21750         sparc: https://bugs.launchpad.net/bugs/591968
21751
21752 2010-06-11  Jim Meyering  <meyering@redhat.com>
21753
21754         printf.m4: avoid autoconf's "Expanded Before Required" warning
21755         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
21756         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
21757         autoconf warning.
21758
21759 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
21760
21761         Replacement header templates are now named with ".in", not "_".
21762         * doc/gnulib-intro.texi: Correct.
21763
21764 2010-06-10  Jim Meyering  <meyering@redhat.com>
21765
21766         inttostr-tests: depend on snprintf, not snprintf-posix
21767         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
21768         snprintf-posix, to avoid this aclocal failure:
21769           missing file gnulib-tests/vasnprintf.c
21770           configure.ac:45: error: expected source file, required through \
21771           AC_LIBSOURCES, not found
21772
21773 2010-06-10  Jim Meyering  <meyering@redhat.com>
21774
21775         inttostr: add a new function, inttostr, and tests
21776         The namesake function was not available.  The existence of the
21777         template file, inttostr.c makes its addition nontrivial.
21778         * lib/anytostr.c: Rename from inttostr.c.
21779         (anytostr): Rename from inttostr.
21780         * lib/inttostr.c: New file.
21781         * modules/inttostr (Files): Add anytostr.c.
21782         (Makefile.am): Set lib_SOURCES instead of ...
21783         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
21784         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
21785         * lib/offtostr.c: Likewise.
21786         * lib/uinttostr.c: Likewise.
21787         * lib/umaxtostr.c: Likewise.
21788         * modules/inttostr-tests: New file.
21789         * tests/test-inttostr.c: New file.  Test these functions.
21790
21791 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
21792             Bruno Haible  <bruno@clisp.org>
21793
21794         Add "Extending Gnulib" chapter to manual.
21795         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
21796         chapter.
21797         (Extending Gnulib): New chapter.
21798         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
21799         chapter.
21800
21801 2010-06-09  Bruno Haible  <bruno@clisp.org>
21802
21803         Avoid relocwrapper link errors due to gnulib replacement functions.
21804         * lib/areadlink.c: Use the system's malloc, realloc functions.
21805         (areadlink): Set errno to ENOMEM explicitly.
21806         * modules/areadlink (Depends-on): Remove malloc-posix.
21807         Reported by Ben Pfaff <blp@cs.stanford.edu>.
21808
21809 2010-06-09  Bruno Haible  <bruno@clisp.org>
21810
21811         Avoid relocwrapper link errors due to gnulib replacement functions.
21812         * lib/canonicalize-lgpl.c: Use the system's malloc function.
21813         * lib/malloca.c: Likewise.
21814         * lib/relocatable.c: Likewise.
21815         * lib/progreloc.c: Use the system's malloc, sprintf functions.
21816         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
21817         * lib/setenv.c: Use the system's malloc, realloc functions.
21818         * lib/strerror.c: Use the system's sprintf function.
21819         Reported by Ben Pfaff <blp@cs.stanford.edu>.
21820
21821 2010-06-04  Bruno Haible  <bruno@clisp.org>
21822
21823         Prefer documented low-level autoconf macro names.
21824         * m4/lib-link.m4: Use m4_translit instead of translit.
21825         * m4/environ.m4: Likewise.
21826         * m4/mathfunc.m4: Likewise.
21827         * m4/onceonly.m4: Likewise.
21828         * m4/stdint.m4: Likewise.
21829         Suggested by Eric Blake.
21830
21831 2010-06-04  Martin Lambers  <marlam@marlam.de>
21832             Bruno Haible  <bruno@clisp.org>
21833
21834         havelib: Allow library names with '+' characters.
21835         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
21836         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
21837
21838 2010-06-09  Bruno Haible  <bruno@clisp.org>
21839
21840         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
21841         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
21842         realloc failed.
21843
21844 2010-06-08  Peter Simons  <simons@cryp.to>
21845
21846         maint.mk: make the news-check rule more configurable
21847         * top/maint.mk (news-check-lines-spec): New variable.
21848         (news-check): Use "sed -n 1,10p" in place of "head".
21849
21850 2010-06-07  Jim Meyering  <meyering@redhat.com>
21851
21852         do-release-commit-and-tag: fix typo in --help
21853         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
21854
21855         regex: avoid new dead-code warning with gcc-4.6.0
21856         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
21857         if-block containing a while-loop.  It's been unused for at least
21858         5 years.
21859
21860 2010-06-05  Bruno Haible  <bruno@clisp.org>
21861
21862         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
21863         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
21864
21865 2010-06-04  Bruno Haible  <bruno@clisp.org>
21866
21867         Update to GNU gettext 0.18.1.
21868         * modules/gettext (configure.ac): Require gettext infrastructure from
21869         version 0.18.1.
21870
21871 2010-06-03  Bruno Haible  <bruno@clisp.org>
21872
21873         Don't use AC_LIBOBJ with file names in subdirectories.
21874         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
21875         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
21876         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
21877         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
21878         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
21879         gl_LIBUNISTRING_LIBSOURCE.
21880         (Makefile.am): Augment lib_SOURCES here, conditionally.
21881         * NEWS: Drop requirement for Automake option 'subdir-objects'.
21882
21883 2010-06-03  Bruno Haible  <bruno@clisp.org>
21884
21885         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
21886         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
21887         expansion does not end with a newline.
21888         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
21889         unnecessary newline.
21890
21891 2010-06-03  Bruno Haible  <bruno@clisp.org>
21892
21893         Reduce dependencies.
21894         * tests/test-quotearg.h: New file, extracted from
21895         tests/test-quotearg.c.
21896         * tests/test-quotearg-simple.c: New file, extracted from
21897         tests/test-quotearg.c.
21898         * tests/test-quotearg.c: Don't include <ctype.h>.
21899         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
21900         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
21901         use_quote_double_quotes, use_quotearg_colon): Moved to
21902         tests/test-quotearg.h.
21903         (results_g, flag_results, custom_quotes, custom_results): Moved
21904         to tests/test-quotearg-simple.c.
21905         (main): Moved the part that does not depend on gettext to
21906         tests/test-quotearg-simple.c. Return 77 if the test cannot be
21907         performed.
21908         * modules/quotearg-simple: New file.
21909         * modules/quotearg-simple-tests: New file.
21910         * modules/quotearg (Depends-on): Add quotearg-simple.
21911         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
21912         (Files): Add tests/test-quotearg.h.
21913         Reported by Paolo Bonzini.
21914
21915 2010-06-03  Bruno Haible  <bruno@clisp.org>
21916
21917         Reduce dependencies.
21918         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
21919
21920 2010-06-03  Bruno Haible  <bruno@clisp.org>
21921
21922         time: Undefine more broken macros.
21923         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
21924         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
21925         Reported by Eric Blake.
21926
21927 2010-06-03  Bruno Haible  <bruno@clisp.org>
21928
21929         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
21930         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
21931         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
21932         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
21933         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
21934         Reported by Ludovic Courtès <ludo@gnu.org>.
21935
21936 2010-06-02  Eric Blake  <eblake@redhat.com>
21937
21938         time: work with mingw + pthreads-win32 library
21939         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
21940         if timespec is defined only in pthread.h.
21941         * modules/time (Makefile.am): Substitute it.
21942         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
21943         <pthread.h>, when needed.
21944         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
21945         from the library.
21946
21947 2010-05-31  Bruno Haible  <bruno@clisp.org>
21948
21949         Avoid expanding two macros in the wrong order.
21950         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
21951         gl_LIBUNISTRING if it is defined.
21952         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
21953         autoconf >= 2.64.
21954         Reported by Ludovic Courtès <ludo@gnu.org>.
21955
21956 2010-05-27  Jim Meyering  <meyering@redhat.com>
21957
21958         maint.mk: also prohibit "#undef" of always-defined symbols
21959         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
21960         Allow more than one space before the symbol name.
21961         (sc_prohibit_always-defined_macros): Use grep's -E, now that
21962         the regexp uses alternation.
21963
21964 2010-05-26  Eric Blake  <eblake@redhat.com>
21965
21966         maint.mk: avoid echo -e
21967         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
21968         Convert all uses of echo -* to printf.
21969         Reported by Matthias Bolte.
21970
21971 2010-05-25  Bruno Haible  <bruno@clisp.org>
21972
21973         Update to GNU gettext 0.18, part 2.
21974         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
21975         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
21976
21977 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21978
21979         Add missing include in test-pwrite.c.
21980         * tests/test-pwrite.c: Include string.h, for strcmp.
21981
21982 2010-05-24  Bruno Haible  <bruno@clisp.org>
21983
21984         * NEWS: Mention requirement for Automake option 'subdir-objects'.
21985
21986 2010-05-24  Bruno Haible  <bruno@clisp.org>
21987
21988         Don't use conversion with transliteration in u{8,16,32}_strcoll.
21989         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
21990         iconveh_error argument.
21991         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
21992         U_STRCONV_TO_LOCALE.
21993         * lib/unistr/u16-strcoll.c: Likewise.
21994         * lib/unistr/u32-strcoll.c: Likewise.
21995         * modules/unistr/u8-strcoll (Depends-on): Add
21996         uniconv/u8-strconv-to-enc, localcharset. Remove
21997         uniconv/u8-strconv-to-locale.
21998         (configure.ac): Bump version number.
21999         * modules/unistr/u16-strcoll (Depends-on): Add
22000         uniconv/u16-strconv-to-enc, localcharset. Remove
22001         uniconv/u16-strconv-to-locale.
22002         (configure.ac): Bump version number.
22003         * modules/unistr/u32-strcoll (Depends-on): Add
22004         uniconv/u32-strconv-to-enc, localcharset. Remove
22005         uniconv/u32-strconv-to-locale.
22006         (configure.ac): Bump version number.
22007
22008 2010-05-24  Bruno Haible  <bruno@clisp.org>
22009
22010         Avoid a test failure on NetBSD 5.0.
22011         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
22012         an iconv() bug.
22013
22014 2010-05-24  Bruno Haible  <bruno@clisp.org>
22015
22016         Adjust #include directive style.
22017         * modules/regex (Includes): Recommend to write <regex.h>.
22018
22019 2010-05-24  Bruno Haible  <bruno@clisp.org>
22020
22021         regex: Don't require alloca.
22022         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
22023         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
22024         only inside if (0).
22025
22026 2010-05-23  Jim Meyering  <meyering@redhat.com>
22027
22028         test-renameat.c: include <sys/stat.h>
22029         * tests/test-renameat.c: Include <sys/stat.h>; required for
22030         definition of S_IS* macros.
22031
22032 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
22033
22034         Update maintainer documentation for 'relocatable-prog' module.
22035         * doc/relocatable-maint.texi: Update.
22036         Comments by Bruno Haible.
22037
22038 2010-05-23  Bruno Haible  <bruno@clisp.org>
22039
22040         git-merge-changelog: Enable --split-merged-entry by default.
22041         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
22042         (usage): Don't mention this option any more.
22043         Reported by Ralf Wildenhues.
22044
22045 2010-05-23  Jim Meyering  <meyering@redhat.com>
22046
22047         test-pwrite: do not leave behind a test file named "out"
22048         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
22049         The trivial-looking use of init.sh is really necessary.
22050         It ensures that the temporary file, "out", is created in
22051         a temporary directory, and removed upon termination.
22052         * tests/test-pwrite.sh: Re-add file.
22053         * modules/pwrite-tests: Reference it.
22054
22055 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22056
22057         Fix output redirection buglet in init.sh.
22058         * tests/init.sh: Fix redirection of stderr.
22059
22060 2010-05-20  Simon Josefsson  <simon@josefsson.org>
22061
22062         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
22063
22064 2010-05-17  Simon Josefsson  <simon@josefsson.org>
22065
22066         * modules/valgrind-tests: New file.
22067         * m4/valgrind-tests.m4: New file.
22068         * doc/valgrind-tests.texi: New file.
22069         * doc/gnulib.texi (Running self-tests under valgrind): New
22070         section.
22071
22072 2010-05-19  Bruno Haible  <bruno@clisp.org>
22073
22074         Clean up dead code in recent commit.
22075         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
22076         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
22077         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
22078         Suggested by Paolo Bonzini.
22079
22080 2010-05-19  Bruno Haible  <bruno@clisp.org>
22081
22082         Avoid valgrind error reports from libunistring.
22083         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
22084         * modules/libunistring (Files): Add it.
22085         * modules/libunistring-optional (Files): Likewise.
22086
22087 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
22088             Bruno Haible  <bruno@clisp.org>
22089
22090         New module 'libunistring-optional'.
22091         * modules/libunistring-optional: New file.
22092         * m4/libunistring-base.m4: New file.
22093         * m4/libunistring-optional.m4: New file.
22094         * lib/unicase.in.h: Renamed from lib/unicase.h.
22095         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
22096         * lib/unictype.in.h: Renamed from lib/unictype.h.
22097         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
22098         * lib/uniname.in.h: Renamed from lib/uniname.h.
22099         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
22100         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
22101         * lib/unistr.in.h: Renamed from lib/unistr.h.
22102         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
22103         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
22104         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
22105         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
22106         gl_LIBUNISTRING. If the library was found, determine the installed
22107         version and set LIBUNISTRING_VERSION.
22108         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
22109         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
22110         handle a configuration option --with-included-libunistring.
22111         * modules/libunistring (Files): Add m4/absolute-header.m4.
22112         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
22113         Add m4/libunistring-base.m4.
22114         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22115         (Makefile.am): Build unicase.h from unicase.in.h.
22116         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
22117         Add m4/libunistring-base.m4.
22118         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22119         (Makefile.am): Build uniconv.h from uniconv.in.h.
22120         * modules/unictype/base (Files): Use unictype.in.h instead of
22121         unictype.h. Add m4/libunistring-base.m4.
22122         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22123         (Makefile.am): Build unictype.h from unictype.in.h.
22124         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
22125         Add m4/libunistring-base.m4.
22126         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22127         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
22128         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
22129         Add m4/libunistring-base.m4.
22130         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22131         (Makefile.am): Build uniname.h from uniname.in.h.
22132         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
22133         Add m4/libunistring-base.m4.
22134         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22135         (Makefile.am): Build uninorm.h from uninorm.in.h.
22136         * modules/unistdio/base (Files): Use unistdio.in.h instead of
22137         unistdio.h. Add m4/libunistring-base.m4.
22138         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22139         (Makefile.am): Build unistdio.h from unistdio.in.h.
22140         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
22141         Add m4/libunistring-base.m4.
22142         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22143         (Makefile.am): Build unistr.h from unistr.in.h.
22144         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
22145         Add m4/libunistring-base.m4.
22146         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22147         (Makefile.am): Build unitypes.h from unitypes.in.h.
22148         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
22149         Add m4/libunistring-base.m4.
22150         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22151         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
22152         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
22153         uniwidth.h. Add m4/libunistring-base.m4.
22154         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22155         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
22156         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
22157         instead of augmenting lib_SOURCES.
22158         * modules/unicase/empty-suffix-context: Likewise.
22159         * modules/unicase/locale-language: Likewise.
22160         * modules/unicase/tolower: Likewise.
22161         * modules/unicase/totitle: Likewise.
22162         * modules/unicase/toupper: Likewise.
22163         * modules/unicase/u8-casecmp: Likewise.
22164         * modules/unicase/u8-casecoll: Likewise.
22165         * modules/unicase/u8-casefold: Likewise.
22166         * modules/unicase/u8-casexfrm: Likewise.
22167         * modules/unicase/u8-ct-casefold: Likewise.
22168         * modules/unicase/u8-ct-tolower: Likewise.
22169         * modules/unicase/u8-ct-totitle: Likewise.
22170         * modules/unicase/u8-ct-toupper: Likewise.
22171         * modules/unicase/u8-is-cased: Likewise.
22172         * modules/unicase/u8-is-casefolded: Likewise.
22173         * modules/unicase/u8-is-lowercase: Likewise.
22174         * modules/unicase/u8-is-titlecase: Likewise.
22175         * modules/unicase/u8-is-uppercase: Likewise.
22176         * modules/unicase/u8-prefix-context: Likewise.
22177         * modules/unicase/u8-suffix-context: Likewise.
22178         * modules/unicase/u8-tolower: Likewise.
22179         * modules/unicase/u8-totitle: Likewise.
22180         * modules/unicase/u8-toupper: Likewise.
22181         * modules/unicase/u16-casecmp: Likewise.
22182         * modules/unicase/u16-casecoll: Likewise.
22183         * modules/unicase/u16-casefold: Likewise.
22184         * modules/unicase/u16-casexfrm: Likewise.
22185         * modules/unicase/u16-ct-casefold: Likewise.
22186         * modules/unicase/u16-ct-tolower: Likewise.
22187         * modules/unicase/u16-ct-totitle: Likewise.
22188         * modules/unicase/u16-ct-toupper: Likewise.
22189         * modules/unicase/u16-is-cased: Likewise.
22190         * modules/unicase/u16-is-casefolded: Likewise.
22191         * modules/unicase/u16-is-lowercase: Likewise.
22192         * modules/unicase/u16-is-titlecase: Likewise.
22193         * modules/unicase/u16-is-uppercase: Likewise.
22194         * modules/unicase/u16-prefix-context: Likewise.
22195         * modules/unicase/u16-suffix-context: Likewise.
22196         * modules/unicase/u16-tolower: Likewise.
22197         * modules/unicase/u16-totitle: Likewise.
22198         * modules/unicase/u16-toupper: Likewise.
22199         * modules/unicase/u32-casecmp: Likewise.
22200         * modules/unicase/u32-casecoll: Likewise.
22201         * modules/unicase/u32-casefold: Likewise.
22202         * modules/unicase/u32-casexfrm: Likewise.
22203         * modules/unicase/u32-ct-casefold: Likewise.
22204         * modules/unicase/u32-ct-tolower: Likewise.
22205         * modules/unicase/u32-ct-totitle: Likewise.
22206         * modules/unicase/u32-ct-toupper: Likewise.
22207         * modules/unicase/u32-is-cased: Likewise.
22208         * modules/unicase/u32-is-casefolded: Likewise.
22209         * modules/unicase/u32-is-lowercase: Likewise.
22210         * modules/unicase/u32-is-titlecase: Likewise.
22211         * modules/unicase/u32-is-uppercase: Likewise.
22212         * modules/unicase/u32-prefix-context: Likewise.
22213         * modules/unicase/u32-suffix-context: Likewise.
22214         * modules/unicase/u32-tolower: Likewise.
22215         * modules/unicase/u32-totitle: Likewise.
22216         * modules/unicase/u32-toupper: Likewise.
22217         * modules/unicase/ulc-casecmp: Likewise.
22218         * modules/unicase/ulc-casecoll: Likewise.
22219         * modules/unicase/ulc-casexfrm: Likewise.
22220         * modules/uniconv/u8-conv-from-enc: Likewise.
22221         * modules/uniconv/u8-conv-to-enc: Likewise.
22222         * modules/uniconv/u8-strconv-from-enc: Likewise.
22223         * modules/uniconv/u8-strconv-from-locale: Likewise.
22224         * modules/uniconv/u8-strconv-to-enc: Likewise.
22225         * modules/uniconv/u8-strconv-to-locale: Likewise.
22226         * modules/uniconv/u16-conv-from-enc: Likewise.
22227         * modules/uniconv/u16-conv-to-enc: Likewise.
22228         * modules/uniconv/u16-strconv-from-enc: Likewise.
22229         * modules/uniconv/u16-strconv-from-locale: Likewise.
22230         * modules/uniconv/u16-strconv-to-enc: Likewise.
22231         * modules/uniconv/u16-strconv-to-locale: Likewise.
22232         * modules/uniconv/u32-conv-from-enc: Likewise.
22233         * modules/uniconv/u32-conv-to-enc: Likewise.
22234         * modules/uniconv/u32-strconv-from-enc: Likewise.
22235         * modules/uniconv/u32-strconv-from-locale: Likewise.
22236         * modules/uniconv/u32-strconv-to-enc: Likewise.
22237         * modules/uniconv/u32-strconv-to-locale: Likewise.
22238         * modules/unictype/bidicategory-byname: Likewise.
22239         * modules/unictype/bidicategory-name: Likewise.
22240         * modules/unictype/bidicategory-of: Likewise.
22241         * modules/unictype/bidicategory-test: Likewise.
22242         * modules/unictype/block-list: Likewise.
22243         * modules/unictype/block-test: Likewise.
22244         * modules/unictype/category-C: Likewise.
22245         * modules/unictype/category-Cc: Likewise.
22246         * modules/unictype/category-Cf: Likewise.
22247         * modules/unictype/category-Cn: Likewise.
22248         * modules/unictype/category-Co: Likewise.
22249         * modules/unictype/category-Cs: Likewise.
22250         * modules/unictype/category-L: Likewise.
22251         * modules/unictype/category-Ll: Likewise.
22252         * modules/unictype/category-Lm: Likewise.
22253         * modules/unictype/category-Lo: Likewise.
22254         * modules/unictype/category-Lt: Likewise.
22255         * modules/unictype/category-Lu: Likewise.
22256         * modules/unictype/category-M: Likewise.
22257         * modules/unictype/category-Mc: Likewise.
22258         * modules/unictype/category-Me: Likewise.
22259         * modules/unictype/category-Mn: Likewise.
22260         * modules/unictype/category-N: Likewise.
22261         * modules/unictype/category-Nd: Likewise.
22262         * modules/unictype/category-Nl: Likewise.
22263         * modules/unictype/category-No: Likewise.
22264         * modules/unictype/category-P: Likewise.
22265         * modules/unictype/category-Pc: Likewise.
22266         * modules/unictype/category-Pd: Likewise.
22267         * modules/unictype/category-Pe: Likewise.
22268         * modules/unictype/category-Pf: Likewise.
22269         * modules/unictype/category-Pi: Likewise.
22270         * modules/unictype/category-Po: Likewise.
22271         * modules/unictype/category-Ps: Likewise.
22272         * modules/unictype/category-S: Likewise.
22273         * modules/unictype/category-Sc: Likewise.
22274         * modules/unictype/category-Sk: Likewise.
22275         * modules/unictype/category-Sm: Likewise.
22276         * modules/unictype/category-So: Likewise.
22277         * modules/unictype/category-Z: Likewise.
22278         * modules/unictype/category-Zl: Likewise.
22279         * modules/unictype/category-Zp: Likewise.
22280         * modules/unictype/category-Zs: Likewise.
22281         * modules/unictype/category-and: Likewise.
22282         * modules/unictype/category-and-not: Likewise.
22283         * modules/unictype/category-byname: Likewise.
22284         * modules/unictype/category-name: Likewise.
22285         * modules/unictype/category-none: Likewise.
22286         * modules/unictype/category-of: Likewise.
22287         * modules/unictype/category-or: Likewise.
22288         * modules/unictype/category-test: Likewise.
22289         * modules/unictype/combining-class: Likewise.
22290         * modules/unictype/ctype-alnum: Likewise.
22291         * modules/unictype/ctype-alpha: Likewise.
22292         * modules/unictype/ctype-blank: Likewise.
22293         * modules/unictype/ctype-cntrl: Likewise.
22294         * modules/unictype/ctype-digit: Likewise.
22295         * modules/unictype/ctype-graph: Likewise.
22296         * modules/unictype/ctype-lower: Likewise.
22297         * modules/unictype/ctype-print: Likewise.
22298         * modules/unictype/ctype-punct: Likewise.
22299         * modules/unictype/ctype-space: Likewise.
22300         * modules/unictype/ctype-upper: Likewise.
22301         * modules/unictype/ctype-xdigit: Likewise.
22302         * modules/unictype/decimal-digit: Likewise.
22303         * modules/unictype/digit: Likewise.
22304         * modules/unictype/mirror: Likewise.
22305         * modules/unictype/numeric: Likewise.
22306         * modules/unictype/property-alphabetic: Likewise.
22307         * modules/unictype/property-ascii-hex-digit: Likewise.
22308         * modules/unictype/property-bidi-arabic-digit: Likewise.
22309         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
22310         * modules/unictype/property-bidi-block-separator: Likewise.
22311         * modules/unictype/property-bidi-boundary-neutral: Likewise.
22312         * modules/unictype/property-bidi-common-separator: Likewise.
22313         * modules/unictype/property-bidi-control: Likewise.
22314         * modules/unictype/property-bidi-embedding-or-override: Likewise.
22315         * modules/unictype/property-bidi-eur-num-separator: Likewise.
22316         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
22317         * modules/unictype/property-bidi-european-digit: Likewise.
22318         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
22319         * modules/unictype/property-bidi-left-to-right: Likewise.
22320         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
22321         * modules/unictype/property-bidi-other-neutral: Likewise.
22322         * modules/unictype/property-bidi-pdf: Likewise.
22323         * modules/unictype/property-bidi-segment-separator: Likewise.
22324         * modules/unictype/property-bidi-whitespace: Likewise.
22325         * modules/unictype/property-byname: Likewise.
22326         * modules/unictype/property-combining: Likewise.
22327         * modules/unictype/property-composite: Likewise.
22328         * modules/unictype/property-currency-symbol: Likewise.
22329         * modules/unictype/property-dash: Likewise.
22330         * modules/unictype/property-decimal-digit: Likewise.
22331         * modules/unictype/property-default-ignorable-code-point: Likewise.
22332         * modules/unictype/property-deprecated: Likewise.
22333         * modules/unictype/property-diacritic: Likewise.
22334         * modules/unictype/property-extender: Likewise.
22335         * modules/unictype/property-format-control: Likewise.
22336         * modules/unictype/property-grapheme-base: Likewise.
22337         * modules/unictype/property-grapheme-extend: Likewise.
22338         * modules/unictype/property-grapheme-link: Likewise.
22339         * modules/unictype/property-hex-digit: Likewise.
22340         * modules/unictype/property-hyphen: Likewise.
22341         * modules/unictype/property-id-continue: Likewise.
22342         * modules/unictype/property-id-start: Likewise.
22343         * modules/unictype/property-ideographic: Likewise.
22344         * modules/unictype/property-ids-binary-operator: Likewise.
22345         * modules/unictype/property-ids-trinary-operator: Likewise.
22346         * modules/unictype/property-ignorable-control: Likewise.
22347         * modules/unictype/property-iso-control: Likewise.
22348         * modules/unictype/property-join-control: Likewise.
22349         * modules/unictype/property-left-of-pair: Likewise.
22350         * modules/unictype/property-line-separator: Likewise.
22351         * modules/unictype/property-logical-order-exception: Likewise.
22352         * modules/unictype/property-lowercase: Likewise.
22353         * modules/unictype/property-math: Likewise.
22354         * modules/unictype/property-non-break: Likewise.
22355         * modules/unictype/property-not-a-character: Likewise.
22356         * modules/unictype/property-numeric: Likewise.
22357         * modules/unictype/property-other-alphabetic: Likewise.
22358         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
22359         * modules/unictype/property-other-grapheme-extend: Likewise.
22360         * modules/unictype/property-other-id-continue: Likewise.
22361         * modules/unictype/property-other-id-start: Likewise.
22362         * modules/unictype/property-other-lowercase: Likewise.
22363         * modules/unictype/property-other-math: Likewise.
22364         * modules/unictype/property-other-uppercase: Likewise.
22365         * modules/unictype/property-paired-punctuation: Likewise.
22366         * modules/unictype/property-paragraph-separator: Likewise.
22367         * modules/unictype/property-pattern-syntax: Likewise.
22368         * modules/unictype/property-pattern-white-space: Likewise.
22369         * modules/unictype/property-private-use: Likewise.
22370         * modules/unictype/property-punctuation: Likewise.
22371         * modules/unictype/property-quotation-mark: Likewise.
22372         * modules/unictype/property-radical: Likewise.
22373         * modules/unictype/property-sentence-terminal: Likewise.
22374         * modules/unictype/property-soft-dotted: Likewise.
22375         * modules/unictype/property-space: Likewise.
22376         * modules/unictype/property-terminal-punctuation: Likewise.
22377         * modules/unictype/property-test: Likewise.
22378         * modules/unictype/property-titlecase: Likewise.
22379         * modules/unictype/property-unassigned-code-value: Likewise.
22380         * modules/unictype/property-unified-ideograph: Likewise.
22381         * modules/unictype/property-uppercase: Likewise.
22382         * modules/unictype/property-variation-selector: Likewise.
22383         * modules/unictype/property-white-space: Likewise.
22384         * modules/unictype/property-xid-continue: Likewise.
22385         * modules/unictype/property-xid-start: Likewise.
22386         * modules/unictype/property-zero-width: Likewise.
22387         * modules/unictype/scripts: Likewise.
22388         * modules/unictype/syntax-c-ident: Likewise.
22389         * modules/unictype/syntax-c-whitespace: Likewise.
22390         * modules/unictype/syntax-java-ident: Likewise.
22391         * modules/unictype/syntax-java-whitespace: Likewise.
22392         * modules/unilbrk/u8-possible-linebreaks: Likewise.
22393         * modules/unilbrk/u8-width-linebreaks: Likewise.
22394         * modules/unilbrk/u16-possible-linebreaks: Likewise.
22395         * modules/unilbrk/u16-width-linebreaks: Likewise.
22396         * modules/unilbrk/u32-possible-linebreaks: Likewise.
22397         * modules/unilbrk/u32-width-linebreaks: Likewise.
22398         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
22399         * modules/unilbrk/ulc-width-linebreaks: Likewise.
22400         * modules/uniname/uniname: Likewise.
22401         * modules/uninorm/canonical-decomposition: Likewise.
22402         * modules/uninorm/composition: Likewise.
22403         * modules/uninorm/decomposing-form: Likewise.
22404         * modules/uninorm/decomposition: Likewise.
22405         * modules/uninorm/filter: Likewise.
22406         * modules/uninorm/nfc: Likewise.
22407         * modules/uninorm/nfd: Likewise.
22408         * modules/uninorm/nfkc: Likewise.
22409         * modules/uninorm/nfkd: Likewise.
22410         * modules/uninorm/u8-normalize: Likewise.
22411         * modules/uninorm/u8-normcmp: Likewise.
22412         * modules/uninorm/u8-normcoll: Likewise.
22413         * modules/uninorm/u8-normxfrm: Likewise.
22414         * modules/uninorm/u16-normalize: Likewise.
22415         * modules/uninorm/u16-normcmp: Likewise.
22416         * modules/uninorm/u16-normcoll: Likewise.
22417         * modules/uninorm/u16-normxfrm: Likewise.
22418         * modules/uninorm/u32-normalize: Likewise.
22419         * modules/uninorm/u32-normcmp: Likewise.
22420         * modules/uninorm/u32-normcoll: Likewise.
22421         * modules/uninorm/u32-normxfrm: Likewise.
22422         * modules/unistdio/u8-asnprintf: Likewise.
22423         * modules/unistdio/u8-asprintf: Likewise.
22424         * modules/unistdio/u8-snprintf: Likewise.
22425         * modules/unistdio/u8-sprintf: Likewise.
22426         * modules/unistdio/u8-u8-asnprintf: Likewise.
22427         * modules/unistdio/u8-u8-asprintf: Likewise.
22428         * modules/unistdio/u8-u8-snprintf: Likewise.
22429         * modules/unistdio/u8-u8-sprintf: Likewise.
22430         * modules/unistdio/u8-u8-vasnprintf: Likewise.
22431         * modules/unistdio/u8-u8-vasprintf: Likewise.
22432         * modules/unistdio/u8-u8-vsnprintf: Likewise.
22433         * modules/unistdio/u8-u8-vsprintf: Likewise.
22434         * modules/unistdio/u8-vasnprintf: Likewise.
22435         * modules/unistdio/u8-vasprintf: Likewise.
22436         * modules/unistdio/u8-vsnprintf: Likewise.
22437         * modules/unistdio/u8-vsprintf: Likewise.
22438         * modules/unistdio/u16-asnprintf: Likewise.
22439         * modules/unistdio/u16-asprintf: Likewise.
22440         * modules/unistdio/u16-snprintf: Likewise.
22441         * modules/unistdio/u16-sprintf: Likewise.
22442         * modules/unistdio/u16-u16-asnprintf: Likewise.
22443         * modules/unistdio/u16-u16-asprintf: Likewise.
22444         * modules/unistdio/u16-u16-snprintf: Likewise.
22445         * modules/unistdio/u16-u16-sprintf: Likewise.
22446         * modules/unistdio/u16-u16-vasnprintf: Likewise.
22447         * modules/unistdio/u16-u16-vasprintf: Likewise.
22448         * modules/unistdio/u16-u16-vsnprintf: Likewise.
22449         * modules/unistdio/u16-u16-vsprintf: Likewise.
22450         * modules/unistdio/u16-vasnprintf: Likewise.
22451         * modules/unistdio/u16-vasprintf: Likewise.
22452         * modules/unistdio/u16-vsnprintf: Likewise.
22453         * modules/unistdio/u16-vsprintf: Likewise.
22454         * modules/unistdio/u32-asnprintf: Likewise.
22455         * modules/unistdio/u32-asprintf: Likewise.
22456         * modules/unistdio/u32-snprintf: Likewise.
22457         * modules/unistdio/u32-sprintf: Likewise.
22458         * modules/unistdio/u32-u32-asnprintf: Likewise.
22459         * modules/unistdio/u32-u32-asprintf: Likewise.
22460         * modules/unistdio/u32-u32-snprintf: Likewise.
22461         * modules/unistdio/u32-u32-sprintf: Likewise.
22462         * modules/unistdio/u32-u32-vasnprintf: Likewise.
22463         * modules/unistdio/u32-u32-vasprintf: Likewise.
22464         * modules/unistdio/u32-u32-vsnprintf: Likewise.
22465         * modules/unistdio/u32-u32-vsprintf: Likewise.
22466         * modules/unistdio/u32-vasnprintf: Likewise.
22467         * modules/unistdio/u32-vasprintf: Likewise.
22468         * modules/unistdio/u32-vsnprintf: Likewise.
22469         * modules/unistdio/u32-vsprintf: Likewise.
22470         * modules/unistdio/ulc-asnprintf: Likewise.
22471         * modules/unistdio/ulc-asprintf: Likewise.
22472         * modules/unistdio/ulc-fprintf: Likewise.
22473         * modules/unistdio/ulc-snprintf: Likewise.
22474         * modules/unistdio/ulc-sprintf: Likewise.
22475         * modules/unistdio/ulc-vasnprintf: Likewise.
22476         * modules/unistdio/ulc-vasprintf: Likewise.
22477         * modules/unistdio/ulc-vfprintf: Likewise.
22478         * modules/unistdio/ulc-vsnprintf: Likewise.
22479         * modules/unistdio/ulc-vsprintf: Likewise.
22480         * modules/unistr/u8-check: Likewise.
22481         * modules/unistr/u8-chr: Likewise.
22482         * modules/unistr/u8-cmp: Likewise.
22483         * modules/unistr/u8-cmp2: Likewise.
22484         * modules/unistr/u8-cpy: Likewise.
22485         * modules/unistr/u8-cpy-alloc: Likewise.
22486         * modules/unistr/u8-endswith: Likewise.
22487         * modules/unistr/u8-mblen: Likewise.
22488         * modules/unistr/u8-mbsnlen: Likewise.
22489         * modules/unistr/u8-mbtouc: Likewise.
22490         * modules/unistr/u8-mbtouc-unsafe: Likewise.
22491         * modules/unistr/u8-mbtoucr: Likewise.
22492         * modules/unistr/u8-move: Likewise.
22493         * modules/unistr/u8-next: Likewise.
22494         * modules/unistr/u8-prev: Likewise.
22495         * modules/unistr/u8-set: Likewise.
22496         * modules/unistr/u8-startswith: Likewise.
22497         * modules/unistr/u8-stpcpy: Likewise.
22498         * modules/unistr/u8-stpncpy: Likewise.
22499         * modules/unistr/u8-strcat: Likewise.
22500         * modules/unistr/u8-strchr: Likewise.
22501         * modules/unistr/u8-strcmp: Likewise.
22502         * modules/unistr/u8-strcoll: Likewise.
22503         * modules/unistr/u8-strcpy: Likewise.
22504         * modules/unistr/u8-strcspn: Likewise.
22505         * modules/unistr/u8-strdup: Likewise.
22506         * modules/unistr/u8-strlen: Likewise.
22507         * modules/unistr/u8-strmblen: Likewise.
22508         * modules/unistr/u8-strmbtouc: Likewise.
22509         * modules/unistr/u8-strncat: Likewise.
22510         * modules/unistr/u8-strncmp: Likewise.
22511         * modules/unistr/u8-strncpy: Likewise.
22512         * modules/unistr/u8-strnlen: Likewise.
22513         * modules/unistr/u8-strpbrk: Likewise.
22514         * modules/unistr/u8-strrchr: Likewise.
22515         * modules/unistr/u8-strspn: Likewise.
22516         * modules/unistr/u8-strstr: Likewise.
22517         * modules/unistr/u8-strtok: Likewise.
22518         * modules/unistr/u8-to-u16: Likewise.
22519         * modules/unistr/u8-to-u32: Likewise.
22520         * modules/unistr/u8-uctomb: Likewise.
22521         * modules/unistr/u16-check: Likewise.
22522         * modules/unistr/u16-chr: Likewise.
22523         * modules/unistr/u16-cmp: Likewise.
22524         * modules/unistr/u16-cmp2: Likewise.
22525         * modules/unistr/u16-cpy: Likewise.
22526         * modules/unistr/u16-cpy-alloc: Likewise.
22527         * modules/unistr/u16-endswith: Likewise.
22528         * modules/unistr/u16-mblen: Likewise.
22529         * modules/unistr/u16-mbsnlen: Likewise.
22530         * modules/unistr/u16-mbtouc: Likewise.
22531         * modules/unistr/u16-mbtouc-unsafe: Likewise.
22532         * modules/unistr/u16-mbtoucr: Likewise.
22533         * modules/unistr/u16-move: Likewise.
22534         * modules/unistr/u16-next: Likewise.
22535         * modules/unistr/u16-prev: Likewise.
22536         * modules/unistr/u16-set: Likewise.
22537         * modules/unistr/u16-startswith: Likewise.
22538         * modules/unistr/u16-stpcpy: Likewise.
22539         * modules/unistr/u16-stpncpy: Likewise.
22540         * modules/unistr/u16-strcat: Likewise.
22541         * modules/unistr/u16-strchr: Likewise.
22542         * modules/unistr/u16-strcmp: Likewise.
22543         * modules/unistr/u16-strcoll: Likewise.
22544         * modules/unistr/u16-strcpy: Likewise.
22545         * modules/unistr/u16-strcspn: Likewise.
22546         * modules/unistr/u16-strdup: Likewise.
22547         * modules/unistr/u16-strlen: Likewise.
22548         * modules/unistr/u16-strmblen: Likewise.
22549         * modules/unistr/u16-strmbtouc: Likewise.
22550         * modules/unistr/u16-strncat: Likewise.
22551         * modules/unistr/u16-strncmp: Likewise.
22552         * modules/unistr/u16-strncpy: Likewise.
22553         * modules/unistr/u16-strnlen: Likewise.
22554         * modules/unistr/u16-strpbrk: Likewise.
22555         * modules/unistr/u16-strrchr: Likewise.
22556         * modules/unistr/u16-strspn: Likewise.
22557         * modules/unistr/u16-strstr: Likewise.
22558         * modules/unistr/u16-strtok: Likewise.
22559         * modules/unistr/u16-to-u32: Likewise.
22560         * modules/unistr/u16-to-u8: Likewise.
22561         * modules/unistr/u16-uctomb: Likewise.
22562         * modules/unistr/u32-check: Likewise.
22563         * modules/unistr/u32-chr: Likewise.
22564         * modules/unistr/u32-cmp: Likewise.
22565         * modules/unistr/u32-cmp2: Likewise.
22566         * modules/unistr/u32-cpy: Likewise.
22567         * modules/unistr/u32-cpy-alloc: Likewise.
22568         * modules/unistr/u32-endswith: Likewise.
22569         * modules/unistr/u32-mblen: Likewise.
22570         * modules/unistr/u32-mbsnlen: Likewise.
22571         * modules/unistr/u32-mbtouc: Likewise.
22572         * modules/unistr/u32-mbtouc-unsafe: Likewise.
22573         * modules/unistr/u32-mbtoucr: Likewise.
22574         * modules/unistr/u32-move: Likewise.
22575         * modules/unistr/u32-next: Likewise.
22576         * modules/unistr/u32-prev: Likewise.
22577         * modules/unistr/u32-set: Likewise.
22578         * modules/unistr/u32-startswith: Likewise.
22579         * modules/unistr/u32-stpcpy: Likewise.
22580         * modules/unistr/u32-stpncpy: Likewise.
22581         * modules/unistr/u32-strcat: Likewise.
22582         * modules/unistr/u32-strchr: Likewise.
22583         * modules/unistr/u32-strcmp: Likewise.
22584         * modules/unistr/u32-strcoll: Likewise.
22585         * modules/unistr/u32-strcpy: Likewise.
22586         * modules/unistr/u32-strcspn: Likewise.
22587         * modules/unistr/u32-strdup: Likewise.
22588         * modules/unistr/u32-strlen: Likewise.
22589         * modules/unistr/u32-strmblen: Likewise.
22590         * modules/unistr/u32-strmbtouc: Likewise.
22591         * modules/unistr/u32-strncat: Likewise.
22592         * modules/unistr/u32-strncmp: Likewise.
22593         * modules/unistr/u32-strncpy: Likewise.
22594         * modules/unistr/u32-strnlen: Likewise.
22595         * modules/unistr/u32-strpbrk: Likewise.
22596         * modules/unistr/u32-strrchr: Likewise.
22597         * modules/unistr/u32-strspn: Likewise.
22598         * modules/unistr/u32-strstr: Likewise.
22599         * modules/unistr/u32-strtok: Likewise.
22600         * modules/unistr/u32-to-u16: Likewise.
22601         * modules/unistr/u32-to-u8: Likewise.
22602         * modules/unistr/u32-uctomb: Likewise.
22603         * modules/uniwbrk/u8-wordbreaks: Likewise.
22604         * modules/uniwbrk/u16-wordbreaks: Likewise.
22605         * modules/uniwbrk/u32-wordbreaks: Likewise.
22606         * modules/uniwbrk/ulc-wordbreaks: Likewise.
22607         * modules/uniwbrk/wordbreak-property: Likewise.
22608         * modules/uniwidth/u8-strwidth: Likewise.
22609         * modules/uniwidth/u8-width: Likewise.
22610         * modules/uniwidth/u16-strwidth: Likewise.
22611         * modules/uniwidth/u16-width: Likewise.
22612         * modules/uniwidth/u32-strwidth: Likewise.
22613         * modules/uniwidth/u32-width: Likewise.
22614         * modules/uniwidth/width: Likewise.
22615         * modules/unicase/cased-tests (Makefile.am): Link all test programs
22616         with $(LIBUNISTRING).
22617         * modules/unicase/ignorable-tests: Likewise.
22618         * modules/unicase/locale-language-tests: Likewise.
22619         * modules/unicase/tolower-tests: Likewise.
22620         * modules/unicase/totitle-tests: Likewise.
22621         * modules/unicase/toupper-tests: Likewise.
22622         * modules/unicase/u8-casecmp-tests: Likewise.
22623         * modules/unicase/u8-casecoll-tests: Likewise.
22624         * modules/unicase/u8-casefold-tests: Likewise.
22625         * modules/unicase/u8-is-cased-tests: Likewise.
22626         * modules/unicase/u8-is-casefolded-tests: Likewise.
22627         * modules/unicase/u8-is-lowercase-tests: Likewise.
22628         * modules/unicase/u8-is-titlecase-tests: Likewise.
22629         * modules/unicase/u8-is-uppercase-tests: Likewise.
22630         * modules/unicase/u8-tolower-tests: Likewise.
22631         * modules/unicase/u8-totitle-tests: Likewise.
22632         * modules/unicase/u8-toupper-tests: Likewise.
22633         * modules/unicase/u16-casecmp-tests: Likewise.
22634         * modules/unicase/u16-casecoll-tests: Likewise.
22635         * modules/unicase/u16-casefold-tests: Likewise.
22636         * modules/unicase/u16-is-cased-tests: Likewise.
22637         * modules/unicase/u16-is-casefolded-tests: Likewise.
22638         * modules/unicase/u16-is-lowercase-tests: Likewise.
22639         * modules/unicase/u16-is-titlecase-tests: Likewise.
22640         * modules/unicase/u16-is-uppercase-tests: Likewise.
22641         * modules/unicase/u16-tolower-tests: Likewise.
22642         * modules/unicase/u16-totitle-tests: Likewise.
22643         * modules/unicase/u16-toupper-tests: Likewise.
22644         * modules/unicase/u32-casecmp-tests: Likewise.
22645         * modules/unicase/u32-casecoll-tests: Likewise.
22646         * modules/unicase/u32-casefold-tests: Likewise.
22647         * modules/unicase/u32-is-cased-tests: Likewise.
22648         * modules/unicase/u32-is-casefolded-tests: Likewise.
22649         * modules/unicase/u32-is-lowercase-tests: Likewise.
22650         * modules/unicase/u32-is-titlecase-tests: Likewise.
22651         * modules/unicase/u32-is-uppercase-tests: Likewise.
22652         * modules/unicase/u32-tolower-tests: Likewise.
22653         * modules/unicase/u32-totitle-tests: Likewise.
22654         * modules/unicase/u32-toupper-tests: Likewise.
22655         * modules/unicase/ulc-casecmp-tests: Likewise.
22656         * modules/unicase/ulc-casecoll-tests: Likewise.
22657         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
22658         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
22659         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
22660         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
22661         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
22662         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
22663         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
22664         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
22665         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
22666         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
22667         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
22668         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
22669         * modules/unictype/bidicategory-byname-tests: Likewise.
22670         * modules/unictype/bidicategory-name-tests: Likewise.
22671         * modules/unictype/bidicategory-of-tests: Likewise.
22672         * modules/unictype/bidicategory-test-tests: Likewise.
22673         * modules/unictype/block-list-tests: Likewise.
22674         * modules/unictype/block-of-tests: Likewise.
22675         * modules/unictype/block-test-tests: Likewise.
22676         * modules/unictype/category-C-tests: Likewise.
22677         * modules/unictype/category-Cc-tests: Likewise.
22678         * modules/unictype/category-Cf-tests: Likewise.
22679         * modules/unictype/category-Cn-tests: Likewise.
22680         * modules/unictype/category-Co-tests: Likewise.
22681         * modules/unictype/category-Cs-tests: Likewise.
22682         * modules/unictype/category-L-tests: Likewise.
22683         * modules/unictype/category-Ll-tests: Likewise.
22684         * modules/unictype/category-Lm-tests: Likewise.
22685         * modules/unictype/category-Lo-tests: Likewise.
22686         * modules/unictype/category-Lt-tests: Likewise.
22687         * modules/unictype/category-Lu-tests: Likewise.
22688         * modules/unictype/category-M-tests: Likewise.
22689         * modules/unictype/category-Mc-tests: Likewise.
22690         * modules/unictype/category-Me-tests: Likewise.
22691         * modules/unictype/category-Mn-tests: Likewise.
22692         * modules/unictype/category-N-tests: Likewise.
22693         * modules/unictype/category-Nd-tests: Likewise.
22694         * modules/unictype/category-Nl-tests: Likewise.
22695         * modules/unictype/category-No-tests: Likewise.
22696         * modules/unictype/category-P-tests: Likewise.
22697         * modules/unictype/category-Pc-tests: Likewise.
22698         * modules/unictype/category-Pd-tests: Likewise.
22699         * modules/unictype/category-Pe-tests: Likewise.
22700         * modules/unictype/category-Pf-tests: Likewise.
22701         * modules/unictype/category-Pi-tests: Likewise.
22702         * modules/unictype/category-Po-tests: Likewise.
22703         * modules/unictype/category-Ps-tests: Likewise.
22704         * modules/unictype/category-S-tests: Likewise.
22705         * modules/unictype/category-Sc-tests: Likewise.
22706         * modules/unictype/category-Sk-tests: Likewise.
22707         * modules/unictype/category-Sm-tests: Likewise.
22708         * modules/unictype/category-So-tests: Likewise.
22709         * modules/unictype/category-Z-tests: Likewise.
22710         * modules/unictype/category-Zl-tests: Likewise.
22711         * modules/unictype/category-Zp-tests: Likewise.
22712         * modules/unictype/category-Zs-tests: Likewise.
22713         * modules/unictype/category-and-not-tests: Likewise.
22714         * modules/unictype/category-and-tests: Likewise.
22715         * modules/unictype/category-byname-tests: Likewise.
22716         * modules/unictype/category-name-tests: Likewise.
22717         * modules/unictype/category-none-tests: Likewise.
22718         * modules/unictype/category-of-tests: Likewise.
22719         * modules/unictype/category-or-tests: Likewise.
22720         * modules/unictype/category-test-withtable-tests: Likewise.
22721         * modules/unictype/combining-class-tests: Likewise.
22722         * modules/unictype/ctype-alnum-tests: Likewise.
22723         * modules/unictype/ctype-alpha-tests: Likewise.
22724         * modules/unictype/ctype-blank-tests: Likewise.
22725         * modules/unictype/ctype-cntrl-tests: Likewise.
22726         * modules/unictype/ctype-digit-tests: Likewise.
22727         * modules/unictype/ctype-graph-tests: Likewise.
22728         * modules/unictype/ctype-lower-tests: Likewise.
22729         * modules/unictype/ctype-print-tests: Likewise.
22730         * modules/unictype/ctype-punct-tests: Likewise.
22731         * modules/unictype/ctype-space-tests: Likewise.
22732         * modules/unictype/ctype-upper-tests: Likewise.
22733         * modules/unictype/ctype-xdigit-tests: Likewise.
22734         * modules/unictype/decimal-digit-tests: Likewise.
22735         * modules/unictype/digit-tests: Likewise.
22736         * modules/unictype/mirror-tests: Likewise.
22737         * modules/unictype/numeric-tests: Likewise.
22738         * modules/unictype/property-alphabetic-tests: Likewise.
22739         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
22740         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
22741         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
22742         * modules/unictype/property-bidi-block-separator-tests: Likewise.
22743         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
22744         * modules/unictype/property-bidi-common-separator-tests: Likewise.
22745         * modules/unictype/property-bidi-control-tests: Likewise.
22746         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
22747         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
22748         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
22749         * modules/unictype/property-bidi-european-digit-tests: Likewise.
22750         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
22751         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
22752         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
22753         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
22754         * modules/unictype/property-bidi-pdf-tests: Likewise.
22755         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
22756         * modules/unictype/property-bidi-whitespace-tests: Likewise.
22757         * modules/unictype/property-byname-tests: Likewise.
22758         * modules/unictype/property-combining-tests: Likewise.
22759         * modules/unictype/property-composite-tests: Likewise.
22760         * modules/unictype/property-currency-symbol-tests: Likewise.
22761         * modules/unictype/property-dash-tests: Likewise.
22762         * modules/unictype/property-decimal-digit-tests: Likewise.
22763         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
22764         * modules/unictype/property-deprecated-tests: Likewise.
22765         * modules/unictype/property-diacritic-tests: Likewise.
22766         * modules/unictype/property-extender-tests: Likewise.
22767         * modules/unictype/property-format-control-tests: Likewise.
22768         * modules/unictype/property-grapheme-base-tests: Likewise.
22769         * modules/unictype/property-grapheme-extend-tests: Likewise.
22770         * modules/unictype/property-grapheme-link-tests: Likewise.
22771         * modules/unictype/property-hex-digit-tests: Likewise.
22772         * modules/unictype/property-hyphen-tests: Likewise.
22773         * modules/unictype/property-id-continue-tests: Likewise.
22774         * modules/unictype/property-id-start-tests: Likewise.
22775         * modules/unictype/property-ideographic-tests: Likewise.
22776         * modules/unictype/property-ids-binary-operator-tests: Likewise.
22777         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
22778         * modules/unictype/property-ignorable-control-tests: Likewise.
22779         * modules/unictype/property-iso-control-tests: Likewise.
22780         * modules/unictype/property-join-control-tests: Likewise.
22781         * modules/unictype/property-left-of-pair-tests: Likewise.
22782         * modules/unictype/property-line-separator-tests: Likewise.
22783         * modules/unictype/property-logical-order-exception-tests: Likewise.
22784         * modules/unictype/property-lowercase-tests: Likewise.
22785         * modules/unictype/property-math-tests: Likewise.
22786         * modules/unictype/property-non-break-tests: Likewise.
22787         * modules/unictype/property-not-a-character-tests: Likewise.
22788         * modules/unictype/property-numeric-tests: Likewise.
22789         * modules/unictype/property-other-alphabetic-tests: Likewise.
22790         * modules/unictype/property-other-default-ignorable-code-point-tests:
22791         Likewise.
22792         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
22793         * modules/unictype/property-other-id-continue-tests: Likewise.
22794         * modules/unictype/property-other-id-start-tests: Likewise.
22795         * modules/unictype/property-other-lowercase-tests: Likewise.
22796         * modules/unictype/property-other-math-tests: Likewise.
22797         * modules/unictype/property-other-uppercase-tests: Likewise.
22798         * modules/unictype/property-paired-punctuation-tests: Likewise.
22799         * modules/unictype/property-paragraph-separator-tests: Likewise.
22800         * modules/unictype/property-pattern-syntax-tests: Likewise.
22801         * modules/unictype/property-pattern-white-space-tests: Likewise.
22802         * modules/unictype/property-private-use-tests: Likewise.
22803         * modules/unictype/property-punctuation-tests: Likewise.
22804         * modules/unictype/property-quotation-mark-tests: Likewise.
22805         * modules/unictype/property-radical-tests: Likewise.
22806         * modules/unictype/property-sentence-terminal-tests: Likewise.
22807         * modules/unictype/property-soft-dotted-tests: Likewise.
22808         * modules/unictype/property-space-tests: Likewise.
22809         * modules/unictype/property-terminal-punctuation-tests: Likewise.
22810         * modules/unictype/property-test-tests: Likewise.
22811         * modules/unictype/property-titlecase-tests: Likewise.
22812         * modules/unictype/property-unassigned-code-value-tests: Likewise.
22813         * modules/unictype/property-unified-ideograph-tests: Likewise.
22814         * modules/unictype/property-uppercase-tests: Likewise.
22815         * modules/unictype/property-variation-selector-tests: Likewise.
22816         * modules/unictype/property-white-space-tests: Likewise.
22817         * modules/unictype/property-xid-continue-tests: Likewise.
22818         * modules/unictype/property-xid-start-tests: Likewise.
22819         * modules/unictype/property-zero-width-tests: Likewise.
22820         * modules/unictype/scripts-tests: Likewise.
22821         * modules/unictype/syntax-c-ident-tests: Likewise.
22822         * modules/unictype/syntax-c-whitespace-tests: Likewise.
22823         * modules/unictype/syntax-java-ident-tests: Likewise.
22824         * modules/unictype/syntax-java-whitespace-tests: Likewise.
22825         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
22826         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
22827         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
22828         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
22829         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
22830         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
22831         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
22832         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
22833         * modules/uniname/uniname-tests: Likewise.
22834         * modules/uninorm/canonical-decomposition-tests: Likewise.
22835         * modules/uninorm/compat-decomposition-tests: Likewise.
22836         * modules/uninorm/composition-tests: Likewise.
22837         * modules/uninorm/decomposing-form-tests: Likewise.
22838         * modules/uninorm/decomposition-tests: Likewise.
22839         * modules/uninorm/filter-tests: Likewise.
22840         * modules/uninorm/nfc-tests: Likewise.
22841         * modules/uninorm/nfd-tests: Likewise.
22842         * modules/uninorm/nfkc-tests: Likewise.
22843         * modules/uninorm/nfkd-tests: Likewise.
22844         * modules/uninorm/u8-normcmp-tests: Likewise.
22845         * modules/uninorm/u8-normcoll-tests: Likewise.
22846         * modules/uninorm/u16-normcmp-tests: Likewise.
22847         * modules/uninorm/u16-normcoll-tests: Likewise.
22848         * modules/uninorm/u32-normcmp-tests: Likewise.
22849         * modules/uninorm/u32-normcoll-tests: Likewise.
22850         * modules/unistdio/u8-asnprintf-tests: Likewise.
22851         * modules/unistdio/u8-vasnprintf-tests: Likewise.
22852         * modules/unistdio/u8-vasprintf-tests: Likewise.
22853         * modules/unistdio/u8-vsnprintf-tests: Likewise.
22854         * modules/unistdio/u8-vsprintf-tests: Likewise.
22855         * modules/unistdio/u16-asnprintf-tests: Likewise.
22856         * modules/unistdio/u16-vasnprintf-tests: Likewise.
22857         * modules/unistdio/u16-vasprintf-tests: Likewise.
22858         * modules/unistdio/u16-vsnprintf-tests: Likewise.
22859         * modules/unistdio/u16-vsprintf-tests: Likewise.
22860         * modules/unistdio/u32-asnprintf-tests: Likewise.
22861         * modules/unistdio/u32-vasnprintf-tests: Likewise.
22862         * modules/unistdio/u32-vasprintf-tests: Likewise.
22863         * modules/unistdio/u32-vsnprintf-tests: Likewise.
22864         * modules/unistdio/u32-vsprintf-tests: Likewise.
22865         * modules/unistdio/ulc-asnprintf-tests: Likewise.
22866         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
22867         * modules/unistdio/ulc-vasprintf-tests: Likewise.
22868         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
22869         * modules/unistdio/ulc-vsprintf-tests: Likewise.
22870         * modules/unistr/u8-check-tests: Likewise.
22871         * modules/unistr/u8-chr-tests: Likewise.
22872         * modules/unistr/u8-cmp-tests: Likewise.
22873         * modules/unistr/u8-cmp2-tests: Likewise.
22874         * modules/unistr/u8-cpy-alloc-tests: Likewise.
22875         * modules/unistr/u8-cpy-tests: Likewise.
22876         * modules/unistr/u8-mblen-tests: Likewise.
22877         * modules/unistr/u8-mbsnlen-tests: Likewise.
22878         * modules/unistr/u8-mbtouc-tests: Likewise.
22879         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
22880         * modules/unistr/u8-mbtoucr-tests: Likewise.
22881         * modules/unistr/u8-move-tests: Likewise.
22882         * modules/unistr/u8-next-tests: Likewise.
22883         * modules/unistr/u8-prev-tests: Likewise.
22884         * modules/unistr/u8-set-tests: Likewise.
22885         * modules/unistr/u8-stpcpy-tests: Likewise.
22886         * modules/unistr/u8-stpncpy-tests: Likewise.
22887         * modules/unistr/u8-strcat-tests: Likewise.
22888         * modules/unistr/u8-strcmp-tests: Likewise.
22889         * modules/unistr/u8-strcoll-tests: Likewise.
22890         * modules/unistr/u8-strcpy-tests: Likewise.
22891         * modules/unistr/u8-strdup-tests: Likewise.
22892         * modules/unistr/u8-strlen-tests: Likewise.
22893         * modules/unistr/u8-strmblen-tests: Likewise.
22894         * modules/unistr/u8-strmbtouc-tests: Likewise.
22895         * modules/unistr/u8-strncat-tests: Likewise.
22896         * modules/unistr/u8-strncmp-tests: Likewise.
22897         * modules/unistr/u8-strncpy-tests: Likewise.
22898         * modules/unistr/u8-strnlen-tests: Likewise.
22899         * modules/unistr/u8-to-u16-tests: Likewise.
22900         * modules/unistr/u8-to-u32-tests: Likewise.
22901         * modules/unistr/u8-uctomb-tests: Likewise.
22902         * modules/unistr/u16-check-tests: Likewise.
22903         * modules/unistr/u16-chr-tests: Likewise.
22904         * modules/unistr/u16-cmp-tests: Likewise.
22905         * modules/unistr/u16-cmp2-tests: Likewise.
22906         * modules/unistr/u16-cpy-alloc-tests: Likewise.
22907         * modules/unistr/u16-cpy-tests: Likewise.
22908         * modules/unistr/u16-mblen-tests: Likewise.
22909         * modules/unistr/u16-mbsnlen-tests: Likewise.
22910         * modules/unistr/u16-mbtouc-tests: Likewise.
22911         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
22912         * modules/unistr/u16-mbtoucr-tests: Likewise.
22913         * modules/unistr/u16-move-tests: Likewise.
22914         * modules/unistr/u16-next-tests: Likewise.
22915         * modules/unistr/u16-prev-tests: Likewise.
22916         * modules/unistr/u16-set-tests: Likewise.
22917         * modules/unistr/u16-stpcpy-tests: Likewise.
22918         * modules/unistr/u16-stpncpy-tests: Likewise.
22919         * modules/unistr/u16-strcat-tests: Likewise.
22920         * modules/unistr/u16-strcmp-tests: Likewise.
22921         * modules/unistr/u16-strcoll-tests: Likewise.
22922         * modules/unistr/u16-strcpy-tests: Likewise.
22923         * modules/unistr/u16-strdup-tests: Likewise.
22924         * modules/unistr/u16-strlen-tests: Likewise.
22925         * modules/unistr/u16-strmblen-tests: Likewise.
22926         * modules/unistr/u16-strmbtouc-tests: Likewise.
22927         * modules/unistr/u16-strncat-tests: Likewise.
22928         * modules/unistr/u16-strncmp-tests: Likewise.
22929         * modules/unistr/u16-strncpy-tests: Likewise.
22930         * modules/unistr/u16-strnlen-tests: Likewise.
22931         * modules/unistr/u16-to-u32-tests: Likewise.
22932         * modules/unistr/u16-to-u8-tests: Likewise.
22933         * modules/unistr/u16-uctomb-tests: Likewise.
22934         * modules/unistr/u32-check-tests: Likewise.
22935         * modules/unistr/u32-chr-tests: Likewise.
22936         * modules/unistr/u32-cmp-tests: Likewise.
22937         * modules/unistr/u32-cmp2-tests: Likewise.
22938         * modules/unistr/u32-cpy-alloc-tests: Likewise.
22939         * modules/unistr/u32-cpy-tests: Likewise.
22940         * modules/unistr/u32-mblen-tests: Likewise.
22941         * modules/unistr/u32-mbsnlen-tests: Likewise.
22942         * modules/unistr/u32-mbtouc-tests: Likewise.
22943         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
22944         * modules/unistr/u32-mbtoucr-tests: Likewise.
22945         * modules/unistr/u32-move-tests: Likewise.
22946         * modules/unistr/u32-next-tests: Likewise.
22947         * modules/unistr/u32-prev-tests: Likewise.
22948         * modules/unistr/u32-set-tests: Likewise.
22949         * modules/unistr/u32-stpcpy-tests: Likewise.
22950         * modules/unistr/u32-stpncpy-tests: Likewise.
22951         * modules/unistr/u32-strcat-tests: Likewise.
22952         * modules/unistr/u32-strcmp-tests: Likewise.
22953         * modules/unistr/u32-strcoll-tests: Likewise.
22954         * modules/unistr/u32-strcpy-tests: Likewise.
22955         * modules/unistr/u32-strdup-tests: Likewise.
22956         * modules/unistr/u32-strlen-tests: Likewise.
22957         * modules/unistr/u32-strmblen-tests: Likewise.
22958         * modules/unistr/u32-strmbtouc-tests: Likewise.
22959         * modules/unistr/u32-strncat-tests: Likewise.
22960         * modules/unistr/u32-strncmp-tests: Likewise.
22961         * modules/unistr/u32-strncpy-tests: Likewise.
22962         * modules/unistr/u32-strnlen-tests: Likewise.
22963         * modules/unistr/u32-to-u16-tests: Likewise.
22964         * modules/unistr/u32-to-u8-tests: Likewise.
22965         * modules/unistr/u32-uctomb-tests: Likewise.
22966         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
22967         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
22968         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
22969         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
22970         * modules/uniwidth/u8-strwidth-tests: Likewise.
22971         * modules/uniwidth/u8-width-tests: Likewise.
22972         * modules/uniwidth/u16-strwidth-tests: Likewise.
22973         * modules/uniwidth/u16-width-tests: Likewise.
22974         * modules/uniwidth/u32-strwidth-tests: Likewise.
22975         * modules/uniwidth/u32-width-tests: Likewise.
22976         * modules/uniwidth/width-tests: Likewise.
22977
22978 2010-05-18  Richard Jones  <rjones@redhat.com>
22979
22980         doc: users.txt: list hivex
22981         * users.txt: Add hivex.
22982
22983 2010-05-18  Richard Jones  <rjones@redhat.com>
22984
22985         doc: users.txt: list febootstrap
22986         * users.txt: Add febootstrap.
22987
22988 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
22989
22990         bootstrap: fix an error when gnulib is not used as a git submodule
22991         * build-aux/bootstrap (gnulib_path): If its length is zero then
22992         assign "gnulib" to it.
22993         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
22994
22995 2010-05-16  Bruno Haible  <bruno@clisp.org>
22996
22997         Avoid autoconf warnings about AM_ICONV.
22998         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
22999         2.64.
23000
23001 2010-05-16  Bruno Haible  <bruno@clisp.org>
23002
23003         absolute-header: Make the macro usable in more situations.
23004         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
23005         from gl_ABSOLUTE_HEADER.
23006         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
23007
23008 2010-05-16  James Youngman  <jay@gnu.org>
23009
23010         doc: update users.txt
23011         * users.txt: Add CSSC.
23012
23013 2010-05-16  Jim Meyering  <meyering@redhat.com>
23014
23015         init.sh: fix an error in the previous change; add more comments
23016         * tests/init.sh: Compare exit code in loop against 9, not 2.
23017         Patch by Bruno Haible.
23018         Make the two tests more similar by adding an empty "then" clause.
23019         Add comments.
23020
23021         init.sh: avoid unnecessary shell re-exec
23022         * tests/init.sh: Improve the re-exec-required check to first test the
23023         current shell.  If it passes the test, do not search for a shell that
23024         does pass, and do not re-exec.  This test is particularly contorted to
23025         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
23026         of $(...) evokes a syntax error and causes immediate shell exit with
23027         status 2.  Bruno Haible reported that the re-exec made it impossible
23028         to single-step through any init.sh-using script.
23029
23030 2010-05-16  Bruno Haible  <bruno@clisp.org>
23031
23032         Fix collision between gnulib's and libintl's printf replacements.
23033         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
23034         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
23035         (printf): When using GNU C, map the __printf__ function to rpl_printf
23036         via __asm__. When not using GNU C, define rpl_printf instead of
23037         __printf__.
23038         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
23039         commit.
23040         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
23041         commit.
23042         * m4/asm-underscore.m4: New file.
23043         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
23044         * modules/stdio (Files): Add m4/asm-underscore.m4.
23045         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
23046         Reported by Ben Pfaff.
23047
23048 2010-05-16  Bruno Haible  <bruno@clisp.org>
23049
23050         verify: Avoid skipping the test on openSUSE 11.0.
23051         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
23052
23053 2010-05-13  Bruno Haible  <bruno@clisp.org>
23054
23055         Avoid useless warnings from G++.
23056         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
23057         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
23058         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
23059
23060 2010-05-11  Jim Meyering  <meyering@redhat.com>
23061
23062         maint.mk: tweak preceding change
23063         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
23064         regexps tighter by anchoring at EOL, and make the new group "shy"
23065         for slightly decreased overhead.
23066
23067 2010-05-11  Eric Blake  <eblake@redhat.com>
23068
23069         maint.mk: gnulib doesn't guarantee NSIG
23070         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
23071
23072 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
23073
23074         test-pwrite.c: Remove unused variable declaration.
23075         * tests/test-pwrite.c (main): Remove read_buf declaration.
23076
23077         Remove useless test-pwrite.sh file.
23078         * tests/test-pwrite.sh: Delete file.
23079         * modules/pwrite-tests: Remove references.
23080         Reported by Bruno Haible.
23081
23082 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
23083
23084         init.sh: fix a typo
23085         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
23086
23087 2010-05-10  Jim Meyering  <meyering@redhat.com>
23088
23089         maint.mk: avoid using a temporary file in the always-defined-macros check
23090         * top/maint.mk (.re-defmac): Remove rule.
23091         (gl_trap_): Remove definition.
23092         (sc_prohibit_always-defined_macros): Rewrite not to create and
23093         depend on a temporary file.  Instead, depend on GNU grep's ability
23094         to read a list of regular expressions from stdin when given "-f -".
23095
23096 2010-05-09  Bruno Haible  <bruno@clisp.org>
23097
23098         Update to GNU gettext 0.18, part 1.
23099         * m4/gettext.m4: Update to GNU gettext 0.18.
23100         * m4/intl.m4: Likewise.
23101         * m4/po.m4: Likewise.
23102         * modules/gettext (Files): Add m4/fcntl-o.m4.
23103         (configure.ac): Require gettext infrastructure from version 0.18.
23104
23105 2010-05-09  Jim Meyering  <meyering@redhat.com>
23106
23107         init.sh: enable MALLOC_PERTURB_
23108         * tests/init.sh: Enable glibc's malloc-perturbing option.
23109
23110         maint.mk: improve sc_cross_check_PATH_usage_in_tests
23111         With my recent change in init.sh from the two-line form:
23112             -#   : ${srcdir=.}
23113             -#   . "$srcdir/init.sh"; path_prepend_ .
23114             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
23115         I noticed that using the one-line form would cause this test
23116         to fail with a false-positive, or to stop working altogether,
23117         depending on whether help-version changed or all the tests did.
23118         * top/maint.mk (_hv_regex): Remove this definition.
23119         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
23120         (_hv_regex_strong): Use a stronger regex to check for conformance.
23121         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
23122         Give a separate diagnostic for lack of conforming use.
23123
23124         maint.mk: prohibit definition of symbols defined by gnulib
23125         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
23126         definition of symbols defined by gnulib.
23127
23128 2010-05-09  Bruno Haible  <bruno@clisp.org>
23129
23130         acl: Avoid test failure on Cygwin-hosted mingw.
23131         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
23132
23133 2010-05-09  Bruno Haible  <bruno@clisp.org>
23134
23135         error: Use system's fcntl function.
23136         * lib/error.c (fcntl): Undefine.
23137
23138 2010-05-09  Jim Meyering  <meyering@redhat.com>
23139
23140         verify: adjust formatting to be more consistent
23141         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
23142         argument-list '('s, and after one comma.
23143
23144 2010-05-09  Bruno Haible  <bruno@clisp.org>
23145
23146         error: More reliable output on mingw.
23147         * lib/error.c: Include <windows.h>.
23148         (is_open): New function.
23149         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
23150         defined.
23151
23152 2010-05-09  Bruno Haible  <bruno@clisp.org>
23153
23154         vasnprintf: Fix syntax errors in libintl build on mingw.
23155         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
23156         pad_ourselves and prec_ourselves after use.
23157
23158 2010-05-08  Bruno Haible  <bruno@clisp.org>
23159
23160         * lib/config.charset: Update comments for Cygwin 1.7.
23161         * lib/localcharset.c: Likewise.
23162
23163 2010-05-07  Jim Meyering  <meyering@redhat.com>
23164
23165         init.sh: improve comments
23166         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
23167         . "${srcdir=.}/init.sh"; path_prepend_ .
23168         Add a note about path_prepend_ and the alternative of using
23169         TESTS_ENVIRONMENT.
23170
23171 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
23172
23173         exclude: Unescape hashed patterns in wildcard mode.
23174         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
23175         to the hash list.
23176         * tests/test-exclude8.sh: New test case.
23177         * modules/exclude-tests: Add new test.
23178
23179 2010-05-05  Eric Blake  <eblake@redhat.com>
23180
23181         verify: automate tests
23182         * modules/verify-tests: New module.
23183         * tests/test-verify.sh: New file.
23184         * tests/test-verify.c: Guard each negative test with a unique id.
23185         Also avoid warning about unused left hand of comma expressions.
23186
23187 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
23188
23189         Further improvements to verify.h, suggested by Eric Blake.
23190         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
23191         the GL_* versions, to avoid collision with OpenGL.
23192         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
23193         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
23194         than testing merely whether it's defined.
23195
23196         Modify verify.h to pacify gcc -Wredundant_decls.
23197         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
23198         These use the prefix "GL_" since they're likely to be useful elsewhere.
23199         We may need to break them out into a different .h file.
23200         (__COUNTER__): Define to 0 if the compiler doesn't support it.
23201         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
23202         of verify_function__.
23203
23204 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
23205
23206         Tests for module pwrite.
23207         * modules/pwrite-tests: New file.
23208         * tests/test-pwrite.sh: New file.
23209         * tests/test-pwrite.c: New file.
23210
23211         New module pwrite.
23212         * lib/unistd.in.h (pwrite): New declaration.
23213         * lib/pwrite.c: New file, from glibc with modifications.
23214         * m4/pwrite.m4: New file.
23215         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
23216         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
23217         REPLACE_PWRITE.
23218         * modules/pwrite: New file.
23219         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
23220         REPLACE_PWRITE.
23221         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
23222         * doc/posix-functions/pwrite.texi: Mention the new module.
23223
23224 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
23225
23226         pread: Update documentation.
23227         * doc/posix-functions/pread.texi: Mention the 'pread' module.
23228
23229 2010-05-04  Eric Blake  <eblake@redhat.com>
23230
23231         docs: update cygwin progress
23232         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
23233         this bug.
23234         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
23235         Added in cygwin 1.7.2.
23236         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
23237         Likewise.
23238         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
23239         Likewise.
23240         * doc/glibc-functions/dup3.texi (dup3): Likewise.
23241         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
23242         * doc/glibc-functions/accept4.texi (accept4): Likewise.
23243         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
23244         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
23245         Mention nproc module.
23246         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
23247         bug in cygwin 1.7.5 addition.
23248         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
23249         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
23250         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
23251         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
23252         1.7.5.
23253         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
23254         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
23255         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
23256         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
23257         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
23258         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
23259         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
23260         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
23261         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
23262         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
23263         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
23264         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
23265         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
23266         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
23267         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
23268         Likewise.
23269         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
23270         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
23271         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
23272         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
23273         Likewise.
23274         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
23275         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
23276         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
23277         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
23278         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
23279         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
23280         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
23281         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
23282         Likewise.
23283         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
23284         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
23285         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
23286         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
23287         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
23288         Likewise.
23289         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
23290         Likewise.
23291         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
23292         Likewise.
23293         * doc/glibc-functions/xdrrec_endofrecord.texi
23294         (xdrrec_endofrecord): Likewise.
23295         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
23296         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
23297         Likewise.
23298         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
23299         Likewise.
23300
23301 2010-05-04  Jim Meyering  <meyering@redhat.com>
23302
23303         gendocs.sh: make its "-s FILE" option more useful
23304         * build-aux/gendocs.sh: When honoring the -s FILE option, update
23305         $PACKAGE to reflect the probably-different basename of "FILE".
23306
23307 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
23308
23309         bootstrap: don't ignore download_po_files failure
23310         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
23311         failure.
23312
23313 2010-05-03  Jim Meyering  <meyering@redhat.com>
23314
23315         maint.mk: allow to pass options to gendocs.sh
23316         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
23317         (gendocs_options_): New overridable variable.
23318
23319         gnu-web-doc-update: don't ignore configure or build failure
23320         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
23321
23322         announce-gen: backslash-escape '@'s in --help output
23323         * build-aux/announce-gen: Fix syntax errors.
23324
23325         maint.mk, announce-gen: allow project-specific announcement mail headers
23326         * top/maint.mk (translation_project_): Define default.
23327         (announcement_Cc_, announcement_mail_headers_): Likewise.
23328         (announcement): Invoke announce-gen with new --mail-headers option.
23329         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
23330
23331         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
23332         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
23333         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
23334         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
23335         line in the "err2" output file when running "make check" in verbose
23336         mode (i.e., with set -x enabled).
23337
23338 2010-05-03  Bruno Haible  <bruno@clisp.org>
23339
23340         wctob: Fix for weird platforms.
23341         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
23342         argument value.
23343
23344 2010-05-03  Jim Meyering  <meyering@redhat.com>
23345
23346         maint.mk: prohibit unwarranted use of <strings.h>
23347         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
23348         strings.h in a file that does not also use strcasecmp, strncasecmp,
23349         ffs or ffsll.
23350
23351         maint.mk: remove obsolete comments
23352         * top/maint.mk: Remove stale, commented-out rules.
23353
23354 2010-05-02  Bruno Haible  <bruno@clisp.org>
23355
23356         wcwidth: Declare also when it's aliased.
23357         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
23358         macro.
23359
23360 2010-05-02  Bruno Haible  <bruno@clisp.org>
23361
23362         Fix regression from 2010-04-25.
23363         * gnulib-tool (func_modules_transitive_closure): Check the status of
23364         all modules, not only of the tests that are of the form foo-tests where
23365         foo is a module.
23366
23367 2010-05-02  Bruno Haible  <bruno@clisp.org>
23368
23369         wctob: Work around nasty Cygwin 1.7.2 bug.
23370         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
23371         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
23372
23373 2010-05-01  Bruno Haible  <bruno@clisp.org>
23374
23375         fpurge: Sharper test.
23376         * tests/test-fpurge.c (main): Add one more ftell check.
23377         * modules/fpurge-tests (Depends-on): Add ftell.
23378         Suggested by Eric Blake.
23379
23380 2010-05-01  Bruno Haible  <bruno@clisp.org>
23381
23382         ftello: Another test.
23383         * tests/test-ftello3.c: New file.
23384         * modules/ftello-tests (Files): Add it.
23385         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
23386         MOSTLYCLEANFILES.
23387
23388         ftell: Another test.
23389         * tests/test-ftell3.c: New file.
23390         * modules/ftell-tests (Files): Add it.
23391         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
23392         MOSTLYCLEANFILES.
23393
23394 2010-05-01  Bruno Haible  <bruno@clisp.org>
23395
23396         ftell, ftello: Work around Solaris bug.
23397         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
23398         * lib/ftello.c: Include stdio-impl.h.
23399         (ftello): On Solaris, when _IOWRT is set, compute the result without
23400         looking at _IOREAD.
23401         * modules/ftello (Files): Add lib/stdio-impl.h.
23402         * doc/posix-functions/ftell.texi: Mention Solaris bug.
23403         * doc/posix-functions/ftello.texi: Likewise.
23404         Reported by Eric Blake.
23405
23406 2010-05-01  Bruno Haible  <bruno@clisp.org>
23407
23408         freading: Adapt to special meaning of _IOREAD flag on Solaris.
23409         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
23410         the _IOWRT flag is also set.
23411
23412 2010-05-01  Bruno Haible  <bruno@clisp.org>
23413
23414         Fix doc about a HP-UX stdio bug.
23415         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
23416         * doc/posix-functions/ftello.texi: Likewise.
23417
23418 2010-05-01  Bruno Haible  <bruno@clisp.org>
23419
23420         lseek test: Fix failure on Solaris.
23421         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
23422         output.
23423
23424 2010-04-30  Jim Meyering  <meyering@redhat.com>
23425
23426         bootstrap: don't ignore failure to generate po*/Makevars
23427         * build-aux/bootstrap (with_gettext): Don't ignore failure
23428         to create po/Makevars or runtime-po/Makevars.
23429
23430 2010-04-29  Eric Blake  <eblake@redhat.com>
23431
23432         headers: relax license to LGPLv2+
23433         * modules/fcntl-h (License): Relax license.
23434         * modules/getopt-posix (License): Likewise.
23435         * modules/locale (License): Likewise.
23436         * modules/math (License): Likewise.
23437         * modules/pty (License): Likewise.
23438         * modules/sched (License): Likewise.
23439         * modules/search (License): Likewise.
23440         * modules/spawn (License): Likewise.
23441         * modules/stdarg (License): Likewise.
23442         * modules/sysexits (License): Likewise.
23443
23444 2010-04-29  Jim Meyering  <meyering@redhat.com>
23445
23446         inttypes: relax license to LGPLv2+
23447         * modules/inttypes (License): Relax license.
23448
23449 2010-04-29  Simon Josefsson  <simon@josefsson.org>
23450
23451         * top/maint.mk (indent): Run twice to produce idempotent results.
23452
23453 2010-04-28  Bruno Haible  <bruno@clisp.org>
23454
23455         getdate: Generate getdate.c in the source directory.
23456         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
23457         MOSTLYCLEANFILES.
23458         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
23459
23460 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
23461
23462         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
23463         is not declared as a const *; avoid warnings in that case.
23464
23465 2010-04-28  Eric Blake  <eblake@redhat.com>
23466
23467         canonicalize-lgpl: avoid compiler warning
23468         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
23469         declaration' / 'extraneous semicolon' warning with some compilers.
23470         Reported by Andreas Gruenbacher.
23471
23472 2010-04-28  Jim Meyering  <meyering@redhat.com>
23473
23474         init.sh: ensure a more reliable exit status when exiting via trap
23475         * tests/init.sh (setup_): Don't rely on $? in signal handler.
23476         Inspired by patches from Dmitry V. Levin.
23477         Also trap on signal 3 (SIGQUIT).
23478
23479 2010-04-27  Bruno Haible  <bruno@clisp.org>
23480
23481         Update doc about utimes().
23482         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
23483         'utimens' module.
23484         Reported by Andreas Gruenbacher <agruen@suse.de>.
23485
23486 2010-04-27  Eric Blake  <eblake@redhat.com>
23487
23488         full-read, full-write: relax license
23489         * modules/full-read (License): Drop to LGPLv2+.
23490         * modules/full-write (License): Likewise.
23491         * modules/safe-read (License): Likewise.
23492         * modules/safe-write (License): Likewise.
23493
23494         pthread: mention library for linking
23495         * modules/pthread (Link): Mention $(LIB_PTHREAD).
23496
23497 2010-04-27  Jim Meyering  <meyering@redhat.com>
23498
23499         maint.mk: fix a bug introduced in last change
23500         * top/maint.mk (gl_assured_headers_): Now that all names are on
23501         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
23502         is not anchored to end of word, it should be adequate.
23503
23504         maint.mk: avoid side-effect in latest syntax-check
23505         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
23506         to run commands via $(shell...), and hence to incur cost only when
23507         the new rule is actually run.
23508
23509         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
23510         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
23511         and use that to create a regexp used to detect all #if HAVE_..._H uses.
23512         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
23513         (gl_assured_headers_, az_, AZ_): Define.
23514         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
23515
23516 2010-04-26  Jim Meyering  <jim@meyering.net>
23517             Bruno Haible  <bruno@clisp.org>
23518
23519         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
23520         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
23521         Prompted by an exchange with Gilles Espinasse.
23522
23523 2010-04-26  Jim Meyering  <meyering@redhat.com>
23524
23525         git-version-gen: aesthetic tweak
23526         * build-aux/git-version-gen: Use "$nl" rather than a literal,
23527         so that the command remains on a single line.
23528
23529 2010-04-26  Eric Blake  <eblake@redhat.com>
23530
23531         git-version-gen: allow use on EBCDIC hosts
23532         * build-aux/git-version-gen (dirty): Use literal rather than tying
23533         ourselves to ascii.
23534         Reported by Steve Goetze.
23535
23536 2010-04-25  Bruno Haible  <bruno@clisp.org>
23537
23538         netdb: Add support for GNULIB_POSIXCHECK.
23539         * lib/netdb.in.h: Include warn-on-use.h.
23540         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
23541         functions are used when GNULIB_POSIXCHECK is defined and the
23542         getaddrinfo module is not in use.
23543         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
23544         freeaddrinfo, gai_strerror, getnameinfo are declared.
23545         * modules/netdb (Depends-on): Add warn-on-use.
23546         (Makefile.am): Include warn-on-use.h in netdb.h.
23547
23548 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
23549
23550         build: avoid "make check" failure without .git/ directory
23551         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
23552         there is no .git/ directory.
23553
23554 2010-04-25  Bruno Haible  <bruno@clisp.org>
23555
23556         ptsname: Fix misuse of ttyname_r.
23557         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
23558         of errno.
23559
23560 2010-04-25  Bruno Haible  <bruno@clisp.org>
23561
23562         ttyname_r: Make it work on Solaris 10.
23563         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
23564         if the system function has the POSIX declaration. Test whether the
23565         function fails if the buffer is less than 128 bytes large.
23566         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
23567         system's ttyname_r function. Provide a reasonably large buffer.
23568         * modules/ttyname_r (Depends-on): Add extensions.
23569         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
23570
23571 2010-04-25  Bruno Haible  <bruno@clisp.org>
23572
23573         Use the 'extensions' module for some more functions on Solaris.
23574         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
23575         module.
23576         * doc/posix-functions/ctime_r.texi: Likewise.
23577         * doc/posix-functions/getgrgid_r.texi: Likewise.
23578         * doc/posix-functions/getgrnam_r.texi: Likewise.
23579         * doc/posix-functions/getpwnam_r.texi: Likewise.
23580         * doc/posix-functions/getpwuid_r.texi: Likewise.
23581         * doc/posix-functions/readdir_r.texi: Likewise.
23582         * doc/posix-functions/sigwait.texi: Likewise.
23583         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
23584         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
23585
23586 2010-04-25  Bruno Haible  <bruno@clisp.org>
23587
23588         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
23589         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
23590         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
23591         * lib/ttyname_r.c: Include <limits.h>.
23592         (ttyname_r): Define using the system's ttyname_r function, if it exists
23593         and not on Solaris.
23594         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
23595         set.
23596         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
23597         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
23598         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
23599         Reported by Simon Josefsson.
23600
23601 2010-04-25  Bruno Haible  <bruno@clisp.org>
23602
23603         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
23604         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
23605         * doc/posix-functions/ctime_r.texi: Likewise.
23606         * doc/posix-functions/getgrgid_r.texi: Likewise.
23607         * doc/posix-functions/getgrnam_r.texi: Likewise.
23608         * doc/posix-functions/getlogin_r.texi: Likewise.
23609         * doc/posix-functions/getpwnam_r.texi: Likewise.
23610         * doc/posix-functions/getpwuid_r.texi: Likewise.
23611         * doc/posix-functions/readdir_r.texi: Likewise.
23612         * doc/posix-functions/sigwait.texi: Likewise.
23613         * doc/posix-functions/ttyname_r.texi: Likewise.
23614         Reported by Simon Josefsson.
23615
23616 2010-04-25  Bruno Haible  <bruno@clisp.org>
23617
23618         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
23619         * gnulib-tool (func_usage): Document that --with-*-tests options apply
23620         also to --create-testdir.
23621         (func_acceptable): Don't consider the status of *-tests modules here.
23622         (func_modules_transitive_closure): Consider it here, before including a
23623         test module.
23624         (func_import, func_create_testdir): Set inc_all_direct_tests,
23625         inc_all_indirect_tests.
23626         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
23627         --create-testdir and --create-megatestdir.
23628
23629 2010-04-25  Bruno Haible  <bruno@clisp.org>
23630
23631         gnulib-tool: Add --without-*-tests options.
23632         * gnulib-tool (func_usage): Document the --without-*-tests options.
23633         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
23634         excl_unportable_tests): New variables.
23635         Fail if they are specified with --import or --update.
23636         (func_acceptable): Respect the excl_*_tests variables.
23637         (func_import): Set the excl_*_tests variables to empty.
23638
23639 2010-04-25  Simon Josefsson  <simon@josefsson.org>
23640             Bruno Haible  <bruno@clisp.org>
23641
23642         Work around a MacOS X 10.4 bug with openpty.
23643         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
23644         * tests/test-openpty.c (main): Close the master side explicitly.
23645
23646 2010-04-25  Bruno Haible  <bruno@clisp.org>
23647
23648         strnlen: Fix a C++ test error on MacOS X and Solaris.
23649         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
23650         the function is not declared.
23651         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
23652         Simon Josefsson.
23653
23654 2010-04-24  Bruno Haible  <bruno@clisp.org>
23655
23656         Avoid a gcc warning.
23657         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
23658         of correct type for %08lx directive.
23659         Reported by Eric Blake.
23660
23661 2010-04-24  Bruno Haible  <bruno@clisp.org>
23662
23663         vasnprintf: Correct errno value in case of out-of-memory.
23664         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
23665         or sprintf. Use the errno value from SNPRINTF or sprintf.
23666         Reported by Ian Beckwith <ianb@erislabs.net>.
23667
23668 2010-04-24  Bruno Haible  <bruno@clisp.org>
23669
23670         ansi-c++-opt: Find correct compiler when cross-compiling.
23671         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
23672         AC_CHECK_PROGS.
23673         Reported by Simon Josefsson.
23674
23675 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
23676
23677         vc-list-files: Add support for subversion
23678         * build-aux/vc-list-files: Use "svn list" to generate the list of
23679         files controlled by subversion.
23680
23681 2010-04-23  Jim Meyering  <meyering@redhat.com>
23682
23683         vc-list-files tests: convert to use init.sh
23684         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
23685         path_prepend_.
23686         Use Exit, not exit.
23687         Use skip_ rather than open coding it.
23688         Remove trap set-up and compare definitions.
23689         * tests/test-vc-list-files-git.sh: Likewise.
23690         * modules/vc-list-files-tests (Files): Add tests/init.sh.
23691
23692 2010-04-22  Simon Josefsson  <simon@josefsson.org>
23693
23694         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
23695         backup files.
23696
23697 2010-04-21  Simon Josefsson  <simon@josefsson.org>
23698
23699         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
23700
23701 2010-04-20  Eric Blake  <eblake@redhat.com>
23702
23703         tests: be robust to ignored SIGPIPE
23704         * tests/test-select-in.sh: Consume all output.
23705         * tests/test-lseek.sh: Check correct exit status, while avoiding
23706         EPIPE.
23707
23708 2010-04-20  Simon Josefsson  <simon@josefsson.org>
23709             Bruno Haible  <bruno@clisp.org>
23710
23711         visibility: Don't use -fvisibility if it leads to a warning.
23712         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
23713         yes, don't pretend that visibility works if it leads to a warning.
23714         Reported by Mike Gran <spk121@yahoo.com>.
23715
23716 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
23717
23718         * build-aux/bootstrap: Use "git -h" for testing for supported options
23719         instead of "git --help".  The short-form option only shows a summary,
23720         and doesn't layout the full man page.  Grep for the full option name
23721         in the summary, too.
23722
23723 2010-04-19  Bruno Haible  <bruno@clisp.org>
23724
23725         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
23726         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
23727         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
23728         mention of RELOCATABLE_STRIP.
23729         Reported by Sylvain Beucler <beuc@beuc.net>.
23730
23731 2010-04-19  Bruno Haible  <bruno@clisp.org>
23732
23733         * lib/diffseq.h: Fix typo in comment.
23734         Reported by Eric Blake.
23735
23736 2010-04-19  Bruno Haible  <bruno@clisp.org>
23737
23738         ioctl: Move autoconf macro to a .m4 file.
23739         * m4/ioctl.m4: New file, extracted from modules/ioctl.
23740         * modules/ioctl (Files): Add it.
23741         (configure.ac): Simply invoke gl_FUNC_IOCTL.
23742         Reported by Ian Beckwith <ianb@erislabs.net>.
23743
23744 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
23745             Bruno Haible  <bruno@clisp.org>
23746
23747         diffseq: Accommodate use-case with abstract arrays.
23748         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
23749         is not defined.
23750         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
23751         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
23752
23753 2010-04-18  Bruno Haible  <bruno@clisp.org>
23754
23755         * doc/posix-headers/stdbool.texi: More precise wording.
23756
23757 2010-04-17  Jim Meyering  <meyering@redhat.com>
23758
23759         maint.mk: use gnu-style indentation in an embedded perl script
23760         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
23761         Rename variable: s/two/last_two_bytes/
23762
23763 2010-04-16  Eric Blake  <eblake@redhat.com>
23764
23765         test-stdbool: skip test that fails with Solaris CC
23766         * tests/test-stdbool.c (f): Skip test that causes compilation
23767         error under buggy C++ compiler.
23768         * lib/stdbool.in.h: Document the limitation.
23769         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
23770
23771         setenv: allow compilation with C++
23772         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
23773         register keyword.
23774
23775         stdint: allow test to pass with C++
23776         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
23777
23778         getopt: allow compilation with C++
23779         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
23780         struct.
23781         * lib/getopt.c (_getopt_internal_r): Use correct type.
23782         Reported by Dagobert Michelson, via Joel E. Denny.
23783
23784 2010-04-16  Bruno Haible  <bruno@clisp.org>
23785
23786         Override netdb.h always.
23787         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
23788         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
23789         Reported by Ludovic Courtès <ludo@gnu.org>.
23790
23791 2010-04-15  Bruno Haible  <bruno@clisp.org>
23792
23793         openpty: Fix mistake from 2010-03-21.
23794         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
23795         Reported by Simon Josefsson.
23796
23797 2010-04-15  Eric Blake  <eblake@redhat.com>
23798
23799         test-forkpty: fix expected signature
23800         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
23801         Reported by Simon Josefsson.
23802
23803 2010-04-15  Jim Meyering  <meyering@redhat.com>
23804
23805         maint.mk: texinfo_suffix_re_: correct the default regexp
23806         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
23807
23808         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
23809         make it configurable via texinfo_suffix_re_.
23810
23811 2010-04-14  Eric Blake  <eblake@redhat.com>
23812
23813         strtok_r: relax license to LGPLv2+
23814         * modules/strtok_r (License): Relax license.
23815         Reported by Matthias Bolte.
23816
23817 2010-04-14  Simon Josefsson  <simon@josefsson.org>
23818
23819         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
23820         version 1.4.4 by default instead of requiring the libgcrypt
23821         version used during build.  This makes it possible to use the
23822         application with older but still binary compatible libgcrypt
23823         versions.
23824
23825 2010-04-13  Eric Blake  <eblake@redhat.com>
23826
23827         getopt-gnu: match recent glibc fixes and posix ruling
23828         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
23829         '+' handling, when requesting extensions.
23830         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
23831         'W;' handling.
23832         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
23833         * doc/posix-functions/getopt.texi (getopt): Document this.
23834         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
23835         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
23836         Likewise.
23837
23838         getopt: merge bug fixes from glibc
23839         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
23840         diagnostics.  Honor '+:' correctly.  Reject ';'.
23841
23842         getopt-posix: detect MacOS bug
23843         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
23844         optind when missing a required argument.
23845         * doc/posix-functions/getopt.texi (getopt): Document the bug.
23846         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
23847         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
23848         Likewise.
23849
23850         getopt-posix: avoid spurious failure on Solaris
23851         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
23852         an indicator that setting optind=1 is sufficient for reset.
23853
23854         getopt-posix: avoid spurious failure on FreeBSD
23855         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
23856         in POSIX mode, since the m4 test uses it.
23857
23858         gnulib-tool: silence warning on BSD sh
23859         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
23860
23861 2010-04-13  Jim Meyering  <meyering@redhat.com>
23862
23863         doc: users.txt: GNU patch now uses gnulib
23864         * users.txt: Add patch.
23865
23866 2010-04-12  Jim Meyering  <meyering@redhat.com>
23867
23868         maint.mk: generate more concise timing data for syntax-check rules
23869         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
23870         " done" from each line that reports a syntax-check test duration.
23871
23872 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
23873
23874         git-version-gen: use "git update-index..." rather than "git status"
23875         * build-aux/git-version-gen: Use git update-index --refresh, not
23876         "git status".  With some versions of git, "git status" would fail
23877         to update the index and result in an unwarranted "-dirty" suffix.
23878
23879 2010-04-11  Jim Meyering  <meyering@redhat.com>
23880
23881         openat: correct formatting (no semantic change)
23882         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
23883         Suggested by Bruno Haible.
23884
23885 2010-04-11  Bruno Haible  <bruno@clisp.org>
23886
23887         Stricter declaration checking in testdirs.
23888         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
23889         If for_tests is true, augment AM_CPPFLAGS to define
23890         GNULIB_STRICT_CHECKING.
23891         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
23892         GNULIB_STRICT_CHECKING is defined, verify that the function is
23893         declared.
23894
23895 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
23896             Bruno Haible  <bruno@clisp.org>
23897
23898         libunistring: Improve configure output.
23899         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
23900         Don't say "consider installing GNU libunistring" when checking again
23901         with libiconv.
23902
23903 2010-04-11  Bruno Haible  <bruno@clisp.org>
23904
23905         libunistring: Correct value of $LTLIBUNISTRING.
23906         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
23907         correct the value of $LTLIBUNISTRING.
23908
23909 2010-04-11  Bruno Haible  <bruno@clisp.org>
23910
23911         havelib: Add static libraries to LIBS in the right order.
23912         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
23913         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
23914
23915 2010-04-11  Bruno Haible  <bruno@clisp.org>
23916
23917         libunistring: Detect libunistring also when it depends on libiconv.
23918         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
23919         the second AC_LIB_HAVE_LINKFLAGS invocation.
23920
23921 2010-04-11  James Youngman  <jay@gnu.org>
23922
23923         close-stream: declare local scalars to be "const"
23924         * lib/close-stream.c (close_stream): Make boolean variables const
23925         to document the fact that we set but do not change them.
23926
23927 2010-04-11  Bruno Haible  <bruno@clisp.org>
23928
23929         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
23930
23931 2010-04-11  Jim Meyering  <meyering@redhat.com>
23932
23933         maint.mk: don't include dist-check.mk
23934         * top/maint.mk: Remove bogus include directive.
23935
23936         maint.mk: improve empty-line-at-EOF check
23937         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
23938         solution, rather than tail+Perl-based one.  The latter would read
23939         a few kilobytes from the end of each file, and did not handle empty
23940         files properly.
23941
23942         maint.mk: print the elapsed time for each syntax-check rule
23943         * top/maint.mk (sc_m_rules_): Save start time in a file.
23944         (sc_z_rules_): New rules: remove temp file and print elapsed time.
23945         (local-check): Interpose the .z rules
23946
23947 2010-04-11  Jim Meyering  <meyering@redhat.com>
23948
23949         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
23950         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
23951         empty file with one that ends in an empty line.
23952
23953 2010-04-10  Bruno Haible  <bruno@clisp.org>
23954
23955         mkdir: Make it work on mingw64.
23956         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
23957         * lib/mkdir.c: Update comment.
23958         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
23959
23960 2010-04-10  Bruno Haible  <bruno@clisp.org>
23961
23962         Don't override improved macro from newer autoconf.
23963         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
23964         autoconf >= 2.62.
23965         Reported by Joel E. Denny <jdenny@clemson.edu>.
23966
23967 2010-04-10  Jim Meyering  <meyering@redhat.com>
23968
23969         maint.mk: new syntax-check rule: prohibit empty lines at end of file
23970         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
23971
23972         maint.mk: correct a diagnostic
23973         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
23974         in diagnostic; now use $prohibit.
23975
23976 2010-04-10  Bruno Haible  <address@hidden>
23977
23978         fchownat: Fix a C++ test error on Solaris 8.
23979         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
23980         the function does not exist.
23981
23982 2010-04-10  Bruno Haible  <bruno@clisp.org>
23983
23984         vasnprintf: Add more tests.
23985         * tests/test-vasnprintf-posix.c: Include <errno.h>.
23986         (test_function): Test converting an invalid wide string.
23987
23988         vasnprintf: Correct handling of unconvertible wide string arguments.
23989         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
23990         VASNPRINTF.
23991         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
23992         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
23993         smaller than the expected maximum need for the directive. Set errno to
23994         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
23995         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
23996         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
23997         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
23998         * modules/vasnprintf (Files): Add m4/printf.m4.
23999         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
24000
24001 2010-04-10  Bruno Haible  <bruno@clisp.org>
24002
24003         vasnprintf: Fix crash in %ls directive.
24004         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
24005         string is passed as argument to %ls, with no precision and no width.
24006         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
24007
24008 2010-04-10  Bruno Haible  <bruno@clisp.org>
24009
24010         vasnprintf: Fix multiple test failures on mingw.
24011         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
24012         _snprintf, or snwprintf, not _snwprintf.
24013
24014 2010-04-10  Bruno Haible  <bruno@clisp.org>
24015
24016         write: Fix a C++ test error on mingw.
24017         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
24018
24019 2010-04-10  Bruno Haible  <bruno@clisp.org>
24020
24021         vasnprintf test: Reduce code duplication.
24022         * tests/test-vasnprintf.c (test_function): New function, extracted from
24023         test_vasnprintf.
24024         (test_vasnprintf, test_asnprintf): Invoke it.
24025
24026 2010-04-10  Bruno Haible  <bruno@clisp.org>
24027
24028         strnlen: Fix warning in C++ mode on MacOS X.
24029         * lib/string.in.h (strnlen): Use the modern idiom.
24030         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
24031         defining strnlen as a macro already in <config.h>.
24032         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
24033         REPLACE_STRNLEN.
24034         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
24035         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
24036
24037 2010-04-08  James Youngman  <jay@gnu.org>
24038
24039         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
24040         the example.
24041
24042 2010-04-09  Jim Meyering  <meyering@redhat.com>
24043
24044         maint.mk: print better diagnostic when there is no $(_hv_file)
24045         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
24046         announce that when $(_hv_file) (aka help-version) does not exist.
24047
24048         init.sh: run tr in the "C" locale to avoid multibyte interpretation
24049         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
24050         not try to interpret its random input bytes.  Jarno Rajahalme reported
24051         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
24052         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
24053         (mktempd_): Likewise, just in case.
24054
24055         ftruncate: add two years to projected module removal date: 2012
24056         * m4/ftruncate.m4: Adjust comments.
24057
24058         ftruncate: mark module as obsolete; even MinGW provides it, now
24059         * modules/ftruncate (Status): Obsolete.
24060         (Notice): Say that.
24061         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
24062         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
24063
24064 2010-04-08  Bruno Haible  <bruno@clisp.org>
24065
24066         Fix side effects from tests-related modules.
24067         * modules/dprintf-posix (Comment): New section.
24068         * modules/fprintf-posix (Comment): Likewise.
24069         * modules/obstack-printf-posix (Comment): Likewise.
24070         * modules/printf-posix (Comment): Likewise.
24071         * modules/snprintf-posix (Comment): Likewise.
24072         * modules/sprintf-posix (Comment): Likewise.
24073         * modules/vasnprintf-posix (Comment): Likewise.
24074         * modules/vasprintf-posix (Comment): Likewise.
24075         * modules/vdprintf-posix (Comment): Likewise.
24076         * modules/vfprintf-posix (Comment): Likewise.
24077         * modules/vprintf-posix (Comment): Likewise.
24078         * modules/vsnprintf-posix (Comment): Likewise.
24079         * modules/vsprintf-posix (Comment): Likewise.
24080         * modules/xprintf-posix (Comment): Likewise.
24081         * modules/xvasprintf-posix (Comment): Likewise.
24082         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
24083         * modules/floorf-tests (Depends-on): Likewise.
24084         * modules/round-tests (Depends-on): Likewise.
24085         * modules/roundf-tests (Depends-on): Likewise.
24086         * modules/trunc-tests (Depends-on): Likewise.
24087         * modules/truncf-tests (Depends-on): Likewise.
24088         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
24089         'fprintf-posix' module is not present.
24090         * tests/test-floorf2.c (check): Likewise.
24091         * tests/test-trunc2.c (check): Likewise.
24092         * tests/test-truncf2.c (check): Likewise.
24093         * tests/test-round2.c (equal): Likewise.
24094         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
24095
24096 2010-04-07  Karl Berry  <karl@gnu.org>
24097
24098         * config/srclist.txt,
24099         * config/srclistvars.sh,
24100         * config/srclist-update: doc fixes.
24101
24102 2010-04-07  Jim Meyering  <meyering@redhat.com>
24103
24104         maint.mk: add a PATH crosschecking syntax-check rule
24105         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
24106         Useful if you use a test like the one in help-version (coreutils,
24107         diffutils, grep, gzip) that ensures $(VERSION) matches what is
24108         printed by prog --version.
24109
24110 2010-04-06  Bruno Haible  <bruno@clisp.org>
24111
24112         Fix link error on mingw.
24113         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
24114         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
24115
24116 2010-04-06  Bruno Haible  <bruno@clisp.org>
24117
24118         Assume rmdir exists.
24119         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
24120
24121 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
24122
24123         doc: update users.txt
24124         * users.txt: Add gcal.
24125
24126 2010-04-06  Jim Meyering  <meyering@redhat.com>
24127
24128         init.sh: simply unset TMPDIR rather than risking env -i
24129         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
24130         although it probably works fine on all Unix-based systems, some
24131         systems (Cygwin?) cannot tolerate a totally cleared environment.
24132         Suggestion from Eric Blake.
24133
24134 2010-04-06  Jim Meyering  <meyering@redhat.com>
24135
24136         init.sh: portability fix: use env's POSIX-specified -i option not -u
24137         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
24138         than unportable env -u.  Solaris 5.11's env lacks support for -u.
24139
24140 2010-04-05  Bruno Haible  <bruno@clisp.org>
24141
24142         btowc: Work around Cygwin 1.7.2 bug.
24143         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
24144         does not map NUL to 0.
24145         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
24146
24147 2010-04-05  Bruno Haible  <bruno@clisp.org>
24148
24149         Make the multithread modules work on Cygwin 1.7.2.
24150         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
24151         imported symbols can be declared weak, so that it returns "no" on
24152         Cygwin 1.7.2.
24153
24154 2010-04-05  Bruno Haible  <bruno@clisp.org>
24155
24156         Use the module 'strncat'.
24157         * modules/unistr/u8-strncat (Depends-on): Add strncat.
24158
24159         Tests for module 'strncat'.
24160         * modules/strncat-tests: New file.
24161         * tests/test-strncat.c: New file.
24162
24163         New module 'strncat'.
24164         * lib/string.in.h (strncat): New declaration.
24165         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
24166         * m4/strncat.m4: New file, based on m4/memchr.m4.
24167         * modules/strncat: New file.
24168         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
24169         is declared.
24170         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
24171         REPLACE_STRNCAT.
24172         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
24173         REPLACE_STRNCAT.
24174         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
24175         module.
24176         * tests/test-string-c++.cc: Check signature of strncat.
24177
24178 2010-04-05  Jim Meyering  <meyering@redhat.com>
24179
24180         xstrtoumax-tests: convert to use init.sh
24181         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
24182         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
24183         Use Exit, not exit.
24184         Remove uses of $EXEEXT and "./" to run a program in the current dir.
24185
24186         xstrtoimax-tests: convert to use init.sh
24187         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
24188         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
24189         Use Exit, not exit.
24190         Remove uses of $EXEEXT and "./" to run a program in the current dir.
24191
24192 2010-04-05  Bruno Haible  <bruno@clisp.org>
24193
24194         sys_socket: Avoid #define replacements in C++ mode.
24195         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
24196         warning to the function if possible, rather than #defining the symbol
24197         to a dysfunctional alias.
24198
24199 2010-04-05  Bruno Haible  <bruno@clisp.org>
24200
24201         fseeko: Fix C++ test error on mingw.
24202         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
24203         gl_FUNC_FSEEKO.
24204         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
24205         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
24206         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
24207         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
24208
24209 2010-04-05  Bruno Haible  <bruno@clisp.org>
24210
24211         duplocale: Improve test output.
24212         * tests/test-duplocale.c (main): Print reason for skipped test.
24213
24214 2010-04-05  Bruno Haible  <bruno@clisp.org>
24215
24216         Assume rmdir exists.
24217         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
24218         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
24219
24220 2010-04-05  Bruno Haible  <bruno@clisp.org>
24221
24222         Fix link error on Solaris 8 with cc.
24223         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
24224
24225 2010-04-05  Bruno Haible  <bruno@clisp.org>
24226
24227         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
24228         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
24229
24230 2010-04-05  Bruno Haible  <bruno@clisp.org>
24231
24232         vasprintf: Update documentation.
24233         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
24234
24235 2010-04-05  Bruno Haible  <bruno@clisp.org>
24236
24237         ptsname: Improve test.
24238         * tests/test-ptsname.c (main): Also try the various master names of BSD
24239         systems.
24240
24241 2010-04-05  Bruno Haible  <bruno@clisp.org>
24242
24243         memchr: Avoid a possible C++ test error.
24244         * lib/string.in.h (memchr): Provide declaration if function is missing.
24245         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
24246         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
24247         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
24248         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
24249
24250 2010-04-05  Bruno Haible  <bruno@clisp.org>
24251
24252         strtok_r: Improve idiom.
24253         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
24254         AC_LIBOBJ is used.
24255
24256 2010-04-05  Bruno Haible  <bruno@clisp.org>
24257
24258         strdup: Improve idiom.
24259         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
24260         AC_LIBOBJ is used.
24261         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
24262         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
24263         when AC_LIBOBJ is used.
24264
24265 2010-04-05  Bruno Haible  <bruno@clisp.org>
24266
24267         mbsinit, mbrtowc, wcrtomb: Improve idioms.
24268         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
24269         don't set REPLACE_MBSINIT to 1.
24270         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
24271         don't set REPLACE_MBRTOWC to 1.
24272         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
24273         exist, don't set REPLACE_MBSRTOWCS to 1.
24274         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
24275         exist, don't set REPLACE_MBSNRTOWCS to 1.
24276         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
24277         don't set REPLACE_WCRTOMB to 1.
24278         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
24279         exist, don't set REPLACE_WCSRTOMBS to 1.
24280         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
24281         exist, don't set REPLACE_WCSNRTOMBS to 1.
24282
24283 2010-04-05  Bruno Haible  <bruno@clisp.org>
24284
24285         ldexpl: Improve idiom.
24286         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
24287         make sure to set HAVE_DECL_LDEXPL to 0.
24288
24289 2010-04-05  Jim Meyering  <meyering@redhat.com>
24290
24291         xstrtol-tests: convert to use init.sh
24292         * modules/xstrtol-tests (Files): Add tests/init.sh.
24293         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
24294         Use Exit, not exit.
24295         Remove uses of $EXEEXT and "./" to run a program in the current dir.
24296
24297         atexit-tests: convert to use init.sh
24298         * modules/atexit-tests (Files): Add tests/init.sh.
24299         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
24300         Use Exit, not exit.
24301         Remove uses of $EXEEXT and "./" to run a program in the current dir.
24302
24303         init.sh: fix typo
24304         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
24305
24306         init.sh: make it easier for a test script to write to the tty, ...
24307         when using automake's parallel-tests mode.
24308         * tests/init.sh (stderr_fileno_): Define overridable variable.
24309         (warn_): New function, to use it.
24310         (fail_, skip_, framework_failure_): Use warn_.
24311
24312 2010-04-04  Bruno Haible  <bruno@clisp.org>
24313
24314         btowc: Avoid warning.
24315         * lib/btowc.c: Include <stdlib.h>.
24316         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
24317
24318 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
24319             Bruno Haible  <bruno@clisp.org>
24320
24321         wchar: Port to NetBSD 1.5.
24322         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
24323         * lib/wctype.in.h (WEOF): Likewise.
24324
24325 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
24326             Bruno Haible  <bruno@clisp.org>
24327
24328         Port extended stdio to NetBSD 1.5.
24329         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
24330         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
24331         older.
24332
24333 2010-04-04  Bruno Haible  <bruno@clisp.org>
24334
24335         string: Remove unused substitution.
24336         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
24337         HAVE_DECL_STRERROR.
24338         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
24339
24340 2010-04-04  Bruno Haible  <bruno@clisp.org>
24341
24342         strtod: Avoid a possible C++ test error.
24343         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
24344         set REPLACE_STRTOD.
24345
24346 2010-04-04  Bruno Haible  <bruno@clisp.org>
24347
24348         strerror: Update documentation.
24349         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
24350
24351 2010-04-04  Bruno Haible  <bruno@clisp.org>
24352
24353         stdio: Fix some C++ test errors on Solaris 8 with GCC.
24354         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
24355         _GL_CXXALIAS_SYS_CAST.
24356
24357 2010-04-04  Bruno Haible  <bruno@clisp.org>
24358
24359         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
24360         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
24361         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
24362         REPLACE_FREXPL to 1.
24363         * doc/posix-functions/frexpl.texi: Update documentation.
24364
24365 2010-04-04  Bruno Haible  <bruno@clisp.org>
24366
24367         math: Fix some C++ test errors on Solaris 8 and Cygwin.
24368         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
24369
24370 2010-04-04  Bruno Haible  <bruno@clisp.org>
24371
24372         Implement nanosleep for native Windows.
24373         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
24374
24375 2010-04-04  Bruno Haible  <bruno@clisp.org>
24376
24377         math: Fix some C++ test errors on Solaris 8.
24378         * lib/math.in.h (truncf, trunc): Use simpler idiom.
24379
24380 2010-04-04  Bruno Haible  <bruno@clisp.org>
24381
24382         math: Fix some C++ test errors on Cygwin.
24383         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
24384         truncl): Provide declaration if the system does not have it.
24385         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
24386         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
24387         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
24388         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
24389         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
24390         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
24391         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
24392         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
24393         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
24394         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
24395         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
24396         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
24397         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
24398         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
24399         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
24400         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
24401         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
24402         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
24403         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
24404         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
24405         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
24406         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
24407
24408 2010-04-04  Bruno Haible  <bruno@clisp.org>
24409
24410         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
24411         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
24412         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
24413         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
24414         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
24415         * m4/isinf.m4 (gl_ISINF): Likewise.
24416         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
24417
24418 2010-04-04  Bruno Haible  <bruno@clisp.org>
24419
24420         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
24421         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
24422
24423 2010-04-04  Bruno Haible  <bruno@clisp.org>
24424
24425         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
24426         * modules/tmpfile (configure.ac): Update.
24427
24428         tmpfile: Fix C++ test error on mingw.
24429         * lib/stdio.in.h (tmpfile): New declaration.
24430         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
24431         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
24432         * modules/tmpfile (Depends-on): Add stdio.
24433         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
24434         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
24435         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
24436         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
24437         REPLACE_TMPFILE.
24438         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
24439
24440 2010-04-04  Bruno Haible  <bruno@clisp.org>
24441
24442         ioctl: Fix C++ test error on mingw.
24443         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
24444         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
24445         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
24446
24447 2010-04-03  Bruno Haible  <bruno@clisp.org>
24448
24449         wcwidth: Fix C++ test error on mingw.
24450         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
24451         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
24452         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
24453
24454 2010-04-03  Bruno Haible  <bruno@clisp.org>
24455
24456         nanosleep: Fix C++ test error on mingw.
24457         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
24458         * lib/time.in.h (nanosleep): Use modern idiom.
24459         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
24460         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
24461         REPLACE_NANOSLEEP to 1.
24462         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
24463         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
24464
24465 2010-04-03  Bruno Haible  <bruno@clisp.org>
24466
24467         strptime: Fix C++ test error on mingw.
24468         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
24469         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
24470         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
24471         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
24472         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
24473         not REPLACE_STRPTIME.
24474         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
24475         REPLACE_STRPTIME.
24476
24477 2010-04-03  Bruno Haible  <bruno@clisp.org>
24478
24479         timegm: Fix C++ test error on mingw.
24480         * lib/time.in.h (timegm): Use modern idiom.
24481         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
24482         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
24483         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
24484         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
24485
24486 2010-04-03  Bruno Haible  <bruno@clisp.org>
24487
24488         timegm: Assume declaration if function exists.
24489         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
24490         if it exists. Don't clobber ac_cv_func_timegm.
24491
24492 2010-04-03  Bruno Haible  <bruno@clisp.org>
24493
24494         time_r: Fix C++ test error on mingw.
24495         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
24496         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
24497         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
24498         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
24499         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
24500
24501 2010-04-03  Bruno Haible  <bruno@clisp.org>
24502
24503         time_r: Minor updates.
24504         * modules/time_r (Description): Mention the provided functions.
24505         * lib/time_r.c: Don't include <string.h>.
24506         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
24507         * doc/posix-functions/localtime_r.texi: Likewise.
24508
24509 2010-04-03  Bruno Haible  <bruno@clisp.org>
24510
24511         time: Fix regression introduced on 2010-03-08.
24512         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
24513         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
24514
24515 2010-04-03  Jim Meyering  <meyering@redhat.com>
24516
24517         maint.mk: don't silently disable project-specific syntax-check rules
24518         * top/maint.mk (_prohibit_regexp): Define, to help people realize
24519         that they need to convert their project-specific syntax-check rules
24520         to use the new _sc_search_regexp.
24521
24522 2010-04-03  Bruno Haible  <bruno@clisp.org>
24523
24524         fchdir: Fix regression introduced on 2010-03-08.
24525         * lib/unistd.in.h (fchdir): Fix declaration.
24526         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
24527         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
24528         REPLACE_FCHDIR.
24529         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
24530         REPLACE_FCHDIR.
24531
24532 2010-04-03  Bruno Haible  <bruno@clisp.org>
24533
24534         getpagesize: Fix C++ test error on mingw.
24535         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
24536         system does not declare the function.
24537         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
24538         declared.
24539         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
24540         HAVE_DECL_GETPAGESIZE.
24541         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
24542
24543 2010-04-03  Bruno Haible  <bruno@clisp.org>
24544
24545         stdio: Make C++ tests work on mingw.
24546         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
24547         does not declare the function.
24548
24549 2010-04-03  Bruno Haible  <bruno@clisp.org>
24550
24551         ftello: Fix C++ test error on mingw.
24552         * lib/stdio.in.h (ftello): Use modern idiom.
24553         * lib/ftello.c (ftello): Renamed from rpl_ftello.
24554         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
24555         is missing and that it needs to be replaced.
24556         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
24557         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
24558         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
24559
24560 2010-04-03  Bruno Haible  <bruno@clisp.org>
24561
24562         fseeko: Fix C++ test error on mingw.
24563         * lib/stdio.in.h (fseeko): Use modern idiom.
24564         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
24565         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
24566         is missing and that it needs to be replaced.
24567         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
24568         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
24569         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
24570
24571 2010-04-03  Bruno Haible  <bruno@clisp.org>
24572
24573         mkstemp: Fix C++ test error on mingw.
24574         * lib/stdlib.in.h (mkstemp): Use modern idiom.
24575         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
24576         function is missing and that it needs to be replaced.
24577         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
24578         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
24579
24580 2010-04-03  Bruno Haible  <bruno@clisp.org>
24581
24582         stpncpy: Fix C++ test error on mingw.
24583         * lib/string.in.h (stpncpy): Use modern idiom.
24584         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
24585         function is missing and that it needs to be replaced.
24586         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
24587         REPLACE_STPNCPY.
24588         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
24589
24590 2010-04-03  Bruno Haible  <bruno@clisp.org>
24591
24592         sys_stat: Fix C++ test error on mingw.
24593         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
24594         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
24595
24596 2010-04-03  Bruno Haible  <bruno@clisp.org>
24597
24598         pty: Update doc.
24599         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
24600
24601 2010-04-03  Bruno Haible  <bruno@clisp.org>
24602
24603         unistd: Fix C++ test error on mingw.
24604         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
24605
24606 2010-04-03  Bruno Haible  <bruno@clisp.org>
24607
24608         Update doc regarding mingw.
24609         * doc/glibc-functions/openpty.texi: Update regarding mingw.
24610         * doc/glibc-functions/login_tty.texi: Likewise.
24611         * doc/glibc-functions/forkpty.texi: Likewise.
24612
24613 2010-04-03  Bruno Haible  <bruno@clisp.org>
24614
24615         stdlib: Avoid compilation failure of c-strtold on mingw.
24616         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
24617
24618 2010-04-03  Bruno Haible  <bruno@clisp.org>
24619
24620         locale: Make C++ tests work on Cygwin and mingw.
24621         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
24622         cannot provide the function.
24623         Reported by Simon Josefsson.
24624
24625 2010-04-03  Bruno Haible  <bruno@clisp.org>
24626
24627         localename: Port to MacOS X 10.6.
24628         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
24629         memory layout of the locales in MacOS X 10.6 as well.
24630         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
24631
24632 2010-04-02  Bruno Haible  <bruno@clisp.org>
24633
24634         gnulib-tool: Ensure that long-running tests are executed last.
24635         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
24636         running tests after the one for the other tests.
24637
24638 2010-04-02  Bruno Haible  <bruno@clisp.org>
24639
24640         gnulib-tool: Ensure the tests in the main directory are executed first.
24641         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
24642         start with the current directory.
24643
24644 2010-04-02  Bruno Haible  <bruno@clisp.org>
24645
24646         Tests for module 'havelib', moved here from GNU gettext.
24647         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
24648         modifications.
24649         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
24650         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
24651         with modifications.
24652         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
24653         modifications.
24654         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
24655         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
24656         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
24657         with modifications.
24658         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
24659         with modifications.
24660         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
24661         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
24662         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
24663         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
24664         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
24665         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
24666         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
24667         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
24668         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
24669         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
24670         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
24671         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
24672         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
24673         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
24674         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
24675         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
24676         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
24677         with modifications.
24678         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
24679         with modifications.
24680         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
24681         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
24682         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
24683         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
24684         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
24685         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
24686         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
24687         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
24688         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
24689         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
24690         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
24691         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
24692         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
24693         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
24694         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
24695         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
24696         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
24697         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
24698         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
24699         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
24700         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
24701         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
24702         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
24703         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
24704         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
24705         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
24706         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
24707         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
24708         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
24709         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
24710         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
24711         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
24712         * tests/havelib/rpathx/rpathx.c: New file, from
24713         gettext/autoconf-lib-link.
24714         * tests/havelib/rpathx/Makefile.am: New file, from
24715         gettext/autoconf-lib-link.
24716         * tests/havelib/rpathx/configure.ac: New file, from
24717         gettext/autoconf-lib-link with modifications.
24718         * tests/havelib/rpathy/rpathy.c: New file, from
24719         gettext/autoconf-lib-link.
24720         * tests/havelib/rpathy/Makefile.am: New file, from
24721         gettext/autoconf-lib-link.
24722         * tests/havelib/rpathy/configure.ac: New file, from
24723         gettext/autoconf-lib-link with modifications.
24724         * tests/havelib/rpathz/rpathz.c: New file, from
24725         gettext/autoconf-lib-link.
24726         * tests/havelib/rpathz/Makefile.am: New file, from
24727         gettext/autoconf-lib-link.
24728         * tests/havelib/rpathz/configure.ac: New file, from
24729         gettext/autoconf-lib-link with modifications.
24730         * tests/havelib/rpathlx/usex.c: New file, from
24731         gettext/autoconf-lib-link.
24732         * tests/havelib/rpathlx/Makefile.am: New file, from
24733         gettext/autoconf-lib-link.
24734         * tests/havelib/rpathlx/configure.ac: New file, from
24735         gettext/autoconf-lib-link with modifications.
24736         * tests/havelib/rpathly/usey.c: New file, from
24737         gettext/autoconf-lib-link.
24738         * tests/havelib/rpathly/Makefile.am: New file, from
24739         gettext/autoconf-lib-link.
24740         * tests/havelib/rpathly/configure.ac: New file, from
24741         gettext/autoconf-lib-link with modifications.
24742         * tests/havelib/rpathlz/usez.c: New file, from
24743         gettext/autoconf-lib-link.
24744         * tests/havelib/rpathlz/Makefile.am: New file, from
24745         gettext/autoconf-lib-link.
24746         * tests/havelib/rpathlz/configure.ac: New file, from
24747         gettext/autoconf-lib-link with modifications.
24748         * tests/havelib/rpathlyx/usey.c: New file, from
24749         gettext/autoconf-lib-link.
24750         * tests/havelib/rpathlyx/Makefile.am: New file, from
24751         gettext/autoconf-lib-link.
24752         * tests/havelib/rpathlyx/configure.ac: New file, from
24753         gettext/autoconf-lib-link with modifications.
24754         * tests/havelib/rpathlzyx/usez.c: New file, from
24755         gettext/autoconf-lib-link.
24756         * tests/havelib/rpathlzyx/Makefile.am: New file, from
24757         gettext/autoconf-lib-link.
24758         * tests/havelib/rpathlzyx/configure.ac: New file, from
24759         gettext/autoconf-lib-link with modifications.
24760         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
24761         with modifications.
24762
24763 2010-04-02  Bruno Haible  <bruno@clisp.org>
24764
24765         gnulib-tool: Create distributed built sources also for the tests.
24766         * gnulib-tool (func_create_testdir): Also generate distributed built
24767         sources in the tests directory.
24768
24769 2010-04-02  Bruno Haible  <bruno@clisp.org>
24770
24771         gnulib-tool: Obey user's environment variables.
24772         * gnulib-tool (func_create_testdir): When creating built sources,
24773         respect the environment variables for autoconf, automake, etc. given by
24774         the user.
24775
24776 2010-04-02  Bruno Haible  <bruno@clisp.org>
24777
24778         gnulib-tool: Provide the value of --m4-base to modules.
24779         * gnulib-tool (func_import, func_create_testdir): Emit a definition
24780         of gl_m4_base.
24781
24782 2010-04-02  Eric Blake  <eblake@redhat.com>
24783
24784         maint.mk: fix some fallout
24785         * NEWS: Document the incompatible change, and its effect on cfg.mk.
24786         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
24787
24788 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
24789
24790         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
24791         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
24792         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
24793         (sc_cast_of_x_alloc_return_value): Likewise.
24794         (sc_cast_of_alloca_return_value): Likewise.
24795         (sc_space_tab): Likewise.
24796         (sc_prohibit_atoi_atof): Likewise.
24797         (sc_prohibit_magic_number_exit): Likewise.
24798         (sc_error_exit_success): Likewise.
24799         (sc_file_system): Likewise.
24800         (sc_prohibit_have_config_h): Likewise.
24801         (sc_require_config_h): Likewise.
24802         (sc_prohibit_HAVE_MBRTOWC): Likewise.
24803         (sc_obsolete_symbols): Likewise.
24804         (sc_changelog): Likewise.
24805         (sc_program_name): Likewise.
24806         (sc_the_the): Likewise.
24807         (sc_trailing_blank): Likewise.
24808         (sc_two_space_separator_in_usage): Likewise.
24809         (sc_useless_cpp_parens): Likewise.
24810         (sc_GPL_version): Likewise.
24811         (sc_GFDL_version): Likewise.
24812         (sc_texinfo_acronym): Likewise.
24813         (sc_prohibit_cvs_keyword): Likewise.
24814         (sc_prohibit_stat_st_blocks): Likewise.
24815         (sc_prohibit_S_IS_definition): Likewise.
24816         (sc_redundant_const): Likewise.
24817         (sc_makefile_TAB_only_indentation): Likewise.
24818         (sc_m4_quote_check): Likewise.
24819         (sc_makefile_path_separator_check): Likewise.
24820         (sc_copyright_check): Likewise.
24821         (sc_Wundef_boolean): Likewise.
24822         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
24823
24824         maint.mk: match 0 or more whitespace-before-function-call '('
24825         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
24826         that have zero or two-and-more spaces between the function name
24827         and the open parenthesis.
24828         (sc_error_message_warn_fatal): Likewise.
24829         (sc_error_message_uppercase): Likewise.
24830         (sc_error_message_period): Likewise.
24831
24832 2010-03-31  Eric Blake  <eblake@redhat.com>
24833
24834         maint.mk: check for [ as well as test
24835         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
24836         Based on a libvirt report by Matthias Bolte.
24837
24838         gnumakefile: don't squelch _version output
24839         * top/GNUmakefile (_version): Create one-shot dependency rather
24840         than using $(shell) when version must be regenerated.
24841         (_autoreconf): Run verbosely, by default.
24842
24843         sys_time: avoid compiler warnings
24844         * lib/sys_time.in.h (includes): Ensure gcc pragma is
24845         unconditional, fixing regression from 2010-03-29.
24846         Reported by Simon Josefsson.
24847
24848 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
24849
24850         maint.mk: s/_header_without_use/_sc_header_without_use/
24851         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
24852         (sc_prohibit_assert_without_use): Use the new name.
24853         (sc_prohibit_close_stream_without_use): Likewise.
24854         (sc_prohibit_getopt_without_use): Likewise.
24855         (sc_prohibit_quotearg_without_use): Likewise.
24856         (sc_prohibit_quote_without_use): Likewise.
24857         (sc_prohibit_long_options_without_use): Likewise.
24858         (sc_prohibit_inttostr_without_use): Likewise.
24859         (sc_prohibit_ignore_value_without_use): Likewise.
24860         (sc_prohibit_error_without_use): Likewise.
24861         (sc_prohibit_xalloc_without_use): Likewise.
24862         (sc_prohibit_hash_without_use): Likewise.
24863         (sc_prohibit_hash_pjw_without_use): Likewise.
24864         (sc_prohibit_safe_read_without_use): Likewise.
24865         (sc_prohibit_argmatch_without_use): Likewise.
24866         (sc_prohibit_canonicalize_without_use): Likewise.
24867         (sc_prohibit_root_dev_ino_without_use): Likewise.
24868         (sc_prohibit_openat_without_use): Likewise.
24869         (sc_prohibit_c_ctype_without_use): Likewise.
24870         (sc_prohibit_signal_without_use): Likewise.
24871         (sc_prohibit_intprops_without_use): Likewise.
24872
24873 2010-03-30  Eric Blake  <eblake@redhat.com>
24874
24875         maint: improve module indicators
24876         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
24877         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
24878         columns, and avoid extra macro expansion.
24879
24880         fdopendir: work around FreeBSD bug
24881         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
24882         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
24883         * modules/dirent (Makefile.am): Substitute it.
24884         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
24885         declaration.
24886         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
24887         fix.
24888         Reported by Christian Weisgerber <naddy@mips.inka.de>.
24889
24890 2010-03-29  Bruno Haible  <bruno@clisp.org>
24891
24892         Emit #pragma system_header after the inclusion guard, not before.
24893         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
24894         guard that spans the entire file, not before. This enables an
24895         optimization in GCC's preprocessor.
24896         * lib/ctype.in.h: Likewise.
24897         * lib/dirent.in.h: Likewise.
24898         * lib/errno.in.h: Likewise.
24899         * lib/float.in.h: Likewise.
24900         * lib/getopt.in.h: Likewise.
24901         * lib/iconv.in.h: Likewise.
24902         * lib/langinfo.in.h: Likewise.
24903         * lib/locale.in.h: Likewise.
24904         * lib/math.in.h: Likewise.
24905         * lib/netdb.in.h: Likewise.
24906         * lib/netinet_in.in.h: Likewise.
24907         * lib/pty.in.h: Likewise.
24908         * lib/sched.in.h: Likewise.
24909         * lib/se-selinux.in.h: Likewise.
24910         * lib/search.in.h: Likewise.
24911         * lib/spawn.in.h: Likewise.
24912         * lib/stdarg.in.h: Likewise.
24913         * lib/stdint.in.h: Likewise.
24914         * lib/string.in.h: Likewise.
24915         * lib/strings.in.h: Likewise.
24916         * lib/sys_file.in.h: Likewise.
24917         * lib/sys_ioctl.in.h: Likewise.
24918         * lib/sys_time.in.h: Likewise.
24919         * lib/sys_times.in.h: Likewise.
24920         * lib/sys_utsname.in.h: Likewise.
24921         * lib/sys_wait.in.h: Likewise.
24922         * lib/sysexits.in.h: Likewise.
24923         * lib/wctype.in.h: Likewise.
24924
24925 2010-03-28  James Youngman  <jay@gnu.org>
24926
24927         save-cwd: don't leak a file descriptor when the caller execs.
24928         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
24929         saved file descriptor.
24930         * modules/save-cwd (Depends-on): Depend on cloexec.
24931
24932 2010-03-29  Bruno Haible  <bruno@clisp.org>
24933
24934         Remove vestiges of fts-lgpl module.
24935         * lib/fts_.h: Assume GNULIB_FTS is 1.
24936         * lib/fts.c: Likewise.
24937         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
24938
24939 2010-03-28  Bruno Haible  <bruno@clisp.org>
24940
24941         Fix definition of tests witness macro.
24942         * gnulib-tool (func_import): Fix definition of witness macro.
24943
24944 2010-03-28  Bruno Haible  <bruno@clisp.org>
24945
24946         Fix ioctl's protoype on glibc systems.
24947         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
24948         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
24949         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
24950         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
24951         signature. If not, arrange to replace the ioctl function.
24952         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
24953         REPLACE_IOCTL.
24954         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
24955         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
24956         Reported by Ludovic Courtès <ludo@gnu.org>.
24957
24958 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
24959
24960         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
24961         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
24962         made it so grep -r --include=GLOB* ... did not work.
24963
24964 2010-03-26  Jim Meyering  <meyering@redhat.com>
24965             Eric Blake  <eblake@redhat.com>
24966
24967         maint.mk: prohibit use of test's -o and -a operators
24968         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
24969
24970 2010-03-28  Bruno Haible  <bruno@clisp.org>
24971
24972         Remove unused GNULIB_XYZ macro definitions.
24973         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
24974         invocation.
24975
24976 2010-03-28  Bruno Haible  <bruno@clisp.org>
24977
24978         Mark privileged tests modules.
24979         * modules/idpriv-drop-tests (Status): New section.
24980         * modules/idpriv-droptemp-tests (Status): New section.
24981
24982 2010-03-28  Bruno Haible  <bruno@clisp.org>
24983
24984         Split C++ tests into separate tests modules.
24985         * modules/dirent-c++-tests: New file, extracted from
24986         modules/dirent-tests.
24987         * modules/dirent-tests: Depend on it.
24988         * modules/fcntl-h-c++-tests: New file, extracted from
24989         modules/fcntl-h-tests.
24990         * modules/fcntl-h-tests: Depend on it.
24991         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
24992         * modules/glob-tests: Depend on it.
24993         * modules/iconv-h-c++-tests: New file, extracted from
24994         modules/iconv-h-tests.
24995         * modules/iconv-h-tests: Depend on it.
24996         * modules/langinfo-c++-tests: New file, extracted from
24997         modules/langinfo-tests.
24998         * modules/langinfo-tests: Depend on it.
24999         * modules/locale-c++-tests: New file, extracted from
25000         modules/locale-tests.
25001         * modules/locale-tests: Depend on it.
25002         * modules/math-c++-tests: New file, extracted from modules/math-tests.
25003         * modules/math-tests: Depend on it.
25004         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
25005         * modules/pty-tests: Depend on it.
25006         * modules/search-c++-tests: New file, extracted from
25007         modules/search-tests.
25008         * modules/search-tests: Depend on it.
25009         * modules/signal-c++-tests: New file, extracted from
25010         modules/signal-tests.
25011         * modules/signal-tests: Depend on it.
25012         * modules/spawn-c++-tests: New file, extracted from
25013         modules/spawn-tests.
25014         * modules/spawn-tests: Depend on it.
25015         * modules/stdio-c++-tests: New file, extracted from
25016         modules/stdio-tests.
25017         * modules/stdio-tests: Depend on it.
25018         * modules/stdlib-c++-tests: New file, extracted from
25019         modules/stdlib-tests.
25020         * modules/stdlib-tests: Depend on it.
25021         * modules/string-c++-tests: New file, extracted from
25022         modules/string-tests.
25023         * modules/string-tests: Depend on it.
25024         * modules/sys_ioctl-c++-tests: New file, extracted from
25025         modules/sys_ioctl-tests.
25026         * modules/sys_ioctl-tests: Depend on it.
25027         * modules/sys_select-c++-tests: New file, extracted from
25028         modules/sys_select-tests.
25029         * modules/sys_select-tests: Depend on it.
25030         * modules/sys_socket-c++-tests: New file, extracted from
25031         modules/sys_socket-tests.
25032         * modules/sys_socket-tests: Depend on it.
25033         * modules/sys_stat-c++-tests: New file, extracted from
25034         modules/sys_stat-tests.
25035         * modules/sys_stat-tests: Depend on it.
25036         * modules/sys_time-c++-tests: New file, extracted from
25037         modules/sys_time-tests.
25038         * modules/sys_time-tests: Depend on it.
25039         * modules/time-c++-tests: New file, extracted from modules/time-tests.
25040         * modules/time-tests: Depend on it.
25041         * modules/unistd-c++-tests: New file, extracted from
25042         modules/unistd-tests.
25043         * modules/unistd-tests: Depend on it.
25044         * modules/wchar-c++-tests: New file, extracted from
25045         modules/wchar-tests.
25046         * modules/wchar-tests: Depend on it.
25047         * modules/wctype-c++-tests: New file, extracted from
25048         modules/wctype-tests.
25049         * modules/wctype-tests: Depend on it.
25050         Reported by Simon Josefsson.
25051
25052 2010-03-28  Bruno Haible  <bruno@clisp.org>
25053
25054         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
25055         * gnulib-tool (func_exists_module): New function, extracted from
25056         func_verify_module.
25057         (func_verify_module): Use it.
25058         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
25059         'foo' only if 'foo' exists.
25060         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
25061         module.
25062
25063 2010-03-28  Bruno Haible  <bruno@clisp.org>
25064
25065         gnulib-tool: Add support for special categories of tests.
25066         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
25067         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
25068         (func_usage): Document them.
25069         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
25070         inc_unportable_tests, inc_all_tests): New variables.
25071         (func_acceptable): Consider these variables.
25072         (func_modules_transitive_closure): Make it work when the 'Status' field
25073         consists of multiple words.
25074         (func_import): Store and restore the values of inc_cxx_tests,
25075         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
25076         inc_all_tests in gnulib-comp.m4.
25077         (func_create_testdir): Set inc_all_tests to true.
25078         * doc/gnulib.texi (Extra tests modules): New section.
25079         Suggested by Jim Meyering.
25080
25081 2010-03-28  Bruno Haible  <bruno@clisp.org>
25082
25083         ansi-c++-opt: Allow turning off the C++ build by default.
25084         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
25085         gl_CXX_CHOICE_DEFAULT_NO is defined.
25086         Requested by Eric Blake.
25087
25088 2010-03-28  Bruno Haible  <bruno@clisp.org>
25089
25090         unistd: Avoid #define replacements in C++ mode.
25091         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
25092         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
25093         setsockopt, shutdown, select): In C++, attach a warning to the function
25094         if possible, rather than #defining the symbol to a dysfunctional alias.
25095         Reported by John W. Eaton <jwe@gnu.org>.
25096
25097 2010-03-28  Bruno Haible  <bruno@clisp.org>
25098
25099         Fix link errors on mingw.
25100         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
25101         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
25102         $(LIBSOCKET).
25103         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
25104         $(LIBSOCKET).
25105
25106 2010-03-28  Bruno Haible  <bruno@clisp.org>
25107             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25108
25109         lib-ignore: Determine different options for different compilers.
25110         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
25111         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
25112         Add comments.
25113         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
25114         * NEWS: Mention the change.
25115
25116 2010-03-27  Bruno Haible  <bruno@clisp.org>
25117
25118         Remove unused GNULIB_XYZ macro definitions.
25119         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
25120         * modules/fseek (configure.ac): Likewise.
25121         * modules/ioctl (configure.ac): Likewise.
25122         * modules/open (configure.ac): Likewise.
25123         * modules/stdlib-safer (configure.ac): Likewise.
25124
25125 2010-03-27  Bruno Haible  <bruno@clisp.org>
25126
25127         Add a remark about certain modules.
25128         * modules/malloc (Comment): New section.
25129         * modules/realloc (Comment): Likewise.
25130         * modules/sigpipe (Comment): Likewise.
25131
25132 2010-03-27  Bruno Haible  <bruno@clisp.org>
25133
25134         Resolve conflict between the two kinds of module indicators.
25135         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
25136         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
25137         * modules/canonicalize (configure.ac): Invoke
25138         gl_MODULE_INDICATOR_FOR_TESTS.
25139         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
25140         GNULIB_XYZ.
25141         * tests/test-dirent-c++.cc: Likewise.
25142         * tests/test-dirent-safer.c: Likewise.
25143         * tests/test-dup2.c: Likewise.
25144         * tests/test-fchdir.c: Likewise.
25145         * tests/test-fcntl-h-c++.cc: Likewise.
25146         * tests/test-getopt.c: Likewise.
25147         * tests/test-getopt.h: Likewise.
25148         * tests/test-langinfo-c++.cc: Likewise.
25149         * tests/test-locale-c++.cc: Likewise.
25150         * tests/test-math-c++.cc: Likewise.
25151         * tests/test-pty-c++.cc: Likewise.
25152         * tests/test-search-c++.cc: Likewise.
25153         * tests/test-signal-c++.cc: Likewise.
25154         * tests/test-spawn-c++.cc: Likewise.
25155         * tests/test-stdio-c++.cc: Likewise.
25156         * tests/test-stdlib-c++.cc: Likewise.
25157         * tests/test-string-c++.cc: Likewise.
25158         * tests/test-sys_ioctl-c++.cc: Likewise.
25159         * tests/test-sys_select-c++.cc: Likewise.
25160         * tests/test-sys_socket-c++.cc: Likewise.
25161         * tests/test-sys_stat-c++.cc: Likewise.
25162         * tests/test-sys_time-c++.cc: Likewise.
25163         * tests/test-time-c++.cc: Likewise.
25164         * tests/test-unistd-c++.cc: Likewise.
25165         * tests/test-wchar-c++.cc: Likewise.
25166         * tests/uninorm/test-u8-nfc.c: Likewise.
25167         * tests/uninorm/test-u8-nfd.c: Likewise.
25168         * tests/uninorm/test-u8-nfkc.c: Likewise.
25169         * tests/uninorm/test-u8-nfkd.c: Likewise.
25170         * tests/uninorm/test-u16-nfc.c: Likewise.
25171         * tests/uninorm/test-u16-nfd.c: Likewise.
25172         * tests/uninorm/test-u16-nfkc.c: Likewise.
25173         * tests/uninorm/test-u16-nfkd.c: Likewise.
25174         * tests/uninorm/test-u32-nfc.c: Likewise.
25175         * tests/uninorm/test-u32-nfc-big.c: Likewise.
25176         * tests/uninorm/test-u32-nfd.c: Likewise.
25177         * tests/uninorm/test-u32-nfd-big.c: Likewise.
25178         * tests/uninorm/test-u32-nfkc.c: Likewise.
25179         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
25180         * tests/uninorm/test-u32-nfkd.c: Likewise.
25181         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
25182         * tests/uninorm/test-u32-normalize-big.c: Likewise.
25183
25184 2010-03-27  Bruno Haible  <bruno@clisp.org>
25185
25186         Distinguish two kinds of module indicators.
25187         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
25188         gl_MODULE_INDICATOR.
25189         (gl_MODULE_INDICATOR): New macro.
25190         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
25191         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
25192         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
25193         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
25194         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
25195         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
25196         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
25197         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
25198         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
25199         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
25200         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
25201         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
25202         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
25203         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
25204         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
25205         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
25206         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
25207         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
25208         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
25209         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
25210         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
25211         * modules/cloexec (configure.ac): Likewise.
25212         * modules/getopt-gnu (configure.ac): Likewise.
25213         * modules/uninorm/u8-normalize (configure.ac): Likewise.
25214         * modules/uninorm/u16-normalize (configure.ac): Likewise.
25215         * modules/uninorm/u32-normalize (configure.ac): Likewise.
25216         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
25217
25218 2010-03-27  Bruno Haible  <bruno@clisp.org>
25219
25220         New module description field 'Comment'.
25221         * gnulib-tool: New option --extract-comment.
25222         (func_usage): Document it.
25223         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
25224         (func_get_comment): New function.
25225         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
25226
25227 2010-03-27  Bruno Haible  <bruno@clisp.org>
25228
25229         Addendum to 2010-02-07 commit.
25230         * gnulib-tool (func_usage): Document --extract-applicability option.
25231
25232 2010-03-27  Bruno Haible  <bruno@clisp.org>
25233
25234         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
25235         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
25236         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
25237         rather than link errors.
25238
25239 2010-03-27  Bruno Haible  <bruno@clisp.org>
25240
25241         Avoid side effects from tests-related modules on the compilation of lib.
25242         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
25243         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
25244         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
25245         parameter. Emit into AM_CPPFLAGS a definition of the designated C
25246         macro.
25247         (func_import): Define a witness macro. Assign it a value that depends
25248         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
25249         tests-related modules.
25250         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
25251         Reported by Jim Meyering.
25252
25253 2010-03-27  Bruno Haible  <bruno@clisp.org>
25254
25255         Factorize common .m4 code.
25256         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
25257         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
25258         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
25259         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
25260         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
25261         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
25262         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
25263         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
25264         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
25265         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
25266         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
25267         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
25268         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
25269         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
25270         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
25271         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
25272         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
25273         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
25274         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
25275         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
25276         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
25277         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
25278         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
25279         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
25280         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
25281         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
25282         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
25283         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
25284         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
25285         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
25286         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
25287         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
25288
25289 2010-03-27  Bruno Haible  <bruno@clisp.org>
25290
25291         Fix a compilation error on Cygwin with g++ >= 4.3.
25292         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
25293         if it is undefined or if we alias it to chmod.
25294         (lstat): Don't warn about the use of this function if it is undefined
25295         or if we alias it to stat.
25296         Reported by Simon Josefsson.
25297
25298 2010-03-27  Bruno Haible  <bruno@clisp.org>
25299
25300         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
25301         * modules/getlogin (configure.ac): Update.
25302
25303         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
25304         * modules/getlogin_r (configure.ac): Update.
25305
25306         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
25307         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
25308         * modules/inet_ntop (configure.ac): Update.
25309
25310         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
25311         * modules/inet_pton (configure.ac): Update.
25312
25313         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
25314         * modules/mbslen (configure.ac): Update.
25315
25316         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
25317         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
25318         * modules/forkpty (configure.ac): Update.
25319         * modules/openpty (configure.ac): Update.
25320
25321 2010-03-26  Simon Josefsson  <simon@josefsson.org>
25322
25323         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
25324         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
25325
25326 2010-03-25  Eric Blake  <eblake@redhat.com>
25327
25328         maint: use pragma consistently across replacement headers
25329         * lib/ctype.in.h (system_header): Hoist for consistent placement.
25330         * lib/dirent.in.h (system_header): Likewise.
25331         * lib/errno.in.h (system_header): Likewise.
25332         * lib/float.in.h (system_header): Likewise.
25333         * lib/getopt.in.h (system_header): Likewise.
25334         * lib/iconv.in.h (system_header): Likewise.
25335         * lib/inttypes.in.h (system_header): Likewise.
25336         * lib/langinfo.in.h (system_header): Likewise.
25337         * lib/locale.in.h (system_header): Likewise.
25338         * lib/math.in.h (system_header): Likewise.
25339         * lib/netdb.in.h (system_header): Likewise.
25340         * lib/netinet_in.in.h (system_header): Likewise.
25341         * lib/pty.in.h (system_header): Likewise.
25342         * lib/sched.in.h (system_header): Likewise.
25343         * lib/se-selinux.in.h (system_header): Likewise.
25344         * lib/search.in.h (system_header): Likewise.
25345         * lib/spawn.in.h (system_header): Likewise.
25346         * lib/stdarg.in.h (system_header): Likewise.
25347         * lib/stdint.in.h (system_header): Likewise.
25348         * lib/string.in.h (system_header): Likewise.
25349         * lib/strings.in.h (system_header): Likewise.
25350         * lib/sys_file.in.h (system_header): Likewise.
25351         * lib/sys_ioctl.in.h (system_header): Likewise.
25352         * lib/sys_socket.in.h (system_header): Likewise.
25353         * lib/sys_times.in.h (system_header): Likewise.
25354         * lib/sys_utsname.in.h (system_header): Likewise.
25355         * lib/sys_wait.in.h (system_header): Likewise.
25356         * lib/sysexits.in.h (system_header): Likewise.
25357         * lib/unistd.in.h (system_header): Likewise.
25358         * lib/wctype.in.h (system_header): Likewise.
25359
25360         arpa/inet: fix mingw compilation warning
25361         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
25362         Reported by Matthew Bolte.
25363
25364 2010-03-25  Bruno Haible  <bruno@clisp.org>
25365
25366         Avoid collision between gnulib wrapper and libintl wrapper.
25367         * lib/printf.c (printf): Don't define if a printf wrapper is already
25368         defined in intl/printf.c.
25369         Reported by Michel Boaventura <michel@michelboaventura.com>.
25370
25371 2010-03-25  Bruno Haible  <bruno@clisp.org>
25372
25373         Use ANSI C.
25374         * lib/readutmp.h (getutent): Provide ANSI C prototype.
25375
25376 2010-03-25  Bruno Haible  <bruno@clisp.org>
25377
25378         Minor formatting changes.
25379         * lib/acosl.c: Insert space before function argument list.
25380         * lib/argz.c: Likewise.
25381         * lib/asinl.c: Likewise.
25382         * lib/expl.c: Likewise.
25383         * lib/gen-uni-tables.c: Likewise.
25384         * lib/gettext.h: Likewise.
25385         * lib/glthread/lock.h: Likewise.
25386         * lib/tanl.c: Likewise.
25387         * lib/uniname/uniname.c: Likewise.
25388         * tests/test-idpriv-drop.c: Likewise.
25389         * tests/test-idpriv-droptemp.c: Likewise.
25390         * tests/test-lock.c: Likewise.
25391         * tests/test-tls.c: Likewise.
25392         * lib/argp-help.c: Insert space before function-like macro argument
25393         list.
25394         * lib/memcmp.c: Likewise.
25395         * tests/test-base64.c: Likewise.
25396         * lib/localename.c: Insert space before sizeof's argument list.
25397         * lib/safe-alloc.h: Likewise.
25398         * lib/file-set.h: Insert space before macro argument list.
25399         * tests/test-argp.c: Likewise.
25400         * lib/argp-namefrob.h: Insert space before function parameter list.
25401         * lib/getaddrinfo.c: Likewise.
25402         * lib/netdb.in.h: Likewise.
25403         * lib/parse-duration.h: Likewise.
25404         * lib/parse-duration.c: Likewise.
25405         * lib/poll.c: Likewise.
25406         * lib/select.c: Likewise.
25407         * lib/trim.h: Likewise.
25408         * tests/test-usleep.c: Likewise.
25409         * lib/ldexpl.c: Insert space before function parameter list and before
25410         function argument list.
25411         * lib/logl.c: Likewise.
25412         * lib/sqrtl.c: Likewise.
25413         * lib/trim.c: Likewise.
25414         * lib/cosl.c: Use GNU style indentation. Insert space before function
25415         argument list.
25416         * lib/sinl.c: Likewise.
25417         * lib/tsearch.c: Insert space after 'for'.
25418         Reported by Jim Meyering.
25419
25420 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
25421
25422         * maint.mk (sc_Wundef_boolean): Check for the presence of the
25423         config header before grepping, as it's not present before
25424         autoreconf/configure are run.  Reported by Simon Josefsson.
25425
25426 2010-03-23  Bruno Haible  <bruno@clisp.org>
25427
25428         pt_chown: Make it work with automake < 1.11.
25429         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
25430         Reported by Simon Josefsson.
25431
25432 2010-03-23  Bruno Haible  <bruno@clisp.org>
25433
25434         pt_chown: Don't depend on GPLed modules.
25435         * lib/pt_chown.c: Don't include idpriv.h.
25436         (main): Don't drop privileges.
25437         * modules/pt_chown (Depends-on): Remove idpriv-drop.
25438         Reported by Simon Josefsson.
25439
25440 2010-03-24  Simon Josefsson  <simon@josefsson.org>
25441
25442         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
25443         suggestions from karl@freefriends.org (Karl Berry).
25444
25445 2010-03-22  Eric Blake  <eblake@redhat.com>
25446
25447         gethostname: further tweaks
25448         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
25449         are overriding gethostname.
25450         Suggested by Bruno Haible.
25451
25452 2010-03-21  Bruno Haible  <bruno@clisp.org>
25453
25454         Fix comments.
25455         * lib/forkpty.c (rpl_forkpty): Fix comment.
25456         * lib/openpty.c (rpl_openpty): Likewise.
25457         Reported by Eric Blake.
25458
25459 2010-03-22  Eric Blake  <eblake@redhat.com>
25460
25461         gethostname: fix build on mingw
25462         * lib/unistd.in.h (includes): Work around fact that mingw
25463         <winsock2.h> re-includes <unistd.h>, by avoiding any
25464         redeclarations if we are being included by <winsock2.h>.
25465         Reported by Matthias Bolte.
25466
25467 2010-03-21  Bruno Haible  <bruno@clisp.org>
25468
25469         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
25470         * lib/forkpty.c (forkpty): New replacement function, from glibc with
25471         modifications.
25472         * lib/pty.in.h (forkpty): Update declaration. Add comments.
25473         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
25474         provide the replacement.
25475         * modules/forkpty (Depends-on): Add openpty, login_tty.
25476         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
25477         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
25478         * doc/glibc-functions/forkpty.texi: More supported platforms.
25479         * config/srclist.txt: Add forkpty.c (commented).
25480
25481 2010-03-21  Bruno Haible  <bruno@clisp.org>
25482
25483         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
25484         (Makefile.am): Verify that PTY_LIB is defined.
25485
25486         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
25487
25488 2010-03-21  Bruno Haible  <bruno@clisp.org>
25489
25490         Tests for module 'login_tty'.
25491         * modules/login_tty-tests: New file.
25492         * tests/test-login_tty.c: New file.
25493
25494         New module 'login_tty'.
25495         * lib/login_tty.c: New file.
25496         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
25497         * modules/login_tty: New file.
25498         * doc/glibc-functions/login_tty.texi: Mention the new module.
25499
25500 2010-03-21  Bruno Haible  <bruno@clisp.org>
25501
25502         login_tty: Documentation.
25503         * doc/glibc-functions/login_tty.texi: New file.
25504         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
25505
25506 2010-03-21  Bruno Haible  <bruno@clisp.org>
25507
25508         pty: Consistent macro naming.
25509         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
25510         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
25511         * modules/pty (configure.ac): Update.
25512
25513 2010-03-21  Bruno Haible  <bruno@clisp.org>
25514
25515         Tests for openpty: Make stricter.
25516         * tests/test-openpty.c (main): Add test of canonical processing and
25517         erase.
25518         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
25519
25520         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
25521         * lib/openpty.c (openpty): New replacement function.
25522         * lib/pty.in.h: Include <termios.h>.
25523         (openpty): Update declaration. Add comments.
25524         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
25525         is not declared, arrange to provide the replacement. Check for _getpty
25526         and posix_openpt.
25527         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
25528         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
25529         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
25530         * modules/pty-tests (test_pty_c___LDADD): New variable.
25531         * doc/glibc-functions/openpty.texi: More supported platforms.
25532
25533 2010-03-21  Bruno Haible  <bruno@clisp.org>
25534
25535         setenv: Tweaks.
25536         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
25537         the test program.
25538         * doc/posix-functions/setenv.texi: Update platforms list.
25539
25540 2010-03-21  Bruno Haible  <bruno@clisp.org>
25541
25542         New module 'unlockpt'.
25543         * lib/unlockpt.c: New file, from glibc with modifications.
25544         * m4/unlockpt.m4: New file.
25545         * modules/unlockpt: New file.
25546         * lib/stdlib.in.h (unlockpt): New declaration.
25547         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
25548         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
25549         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
25550         HAVE_UNLOCKPT.
25551         * doc/posix-functions/unlockpt.texi: Mention the new module.
25552         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
25553         * config/srclist.txt: Add unlockpt.c (commented).
25554
25555 2010-03-21  Jim Meyering  <meyering@redhat.com>
25556
25557         maint.mk: prohibit inclusion of "intprops.h" without use
25558         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
25559
25560 2010-03-21  Bruno Haible  <bruno@clisp.org>
25561
25562         New module 'grantpt'.
25563         * lib/grantpt.c: New file, from glibc with modifications.
25564         * m4/grantpt.m4: New file.
25565         * modules/grantpt: New file.
25566         * lib/stdlib.in.h (grantpt): New declaration.
25567         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
25568         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
25569         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
25570         HAVE_GRANTPT.
25571         * doc/posix-functions/grantpt.texi: Mention the new module.
25572         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
25573         * config/srclist.txt: Add grantpt.c (commented).
25574
25575 2010-03-21  Bruno Haible  <bruno@clisp.org>
25576
25577         New module 'pt_chown'.
25578         * lib/pt_chown.c: New file, from glibc with modifications.
25579         * lib/pty-private.h: New file, from glibc with modifications.
25580         * modules/pt_chown: New file.
25581         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
25582
25583 2010-03-21  Bruno Haible  <bruno@clisp.org>
25584
25585         Tests for module 'ptsname'.
25586         * modules/ptsname-tests: New file.
25587         * tests/test-ptsname.c: New file.
25588
25589         New module 'ptsname'.
25590         * lib/ptsname.c: New file, from glibc with modifications.
25591         * m4/ptsname.m4: New file.
25592         * modules/ptsname: New file.
25593         * lib/stdlib.in.h (ptsname): New declaration.
25594         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
25595         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
25596         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
25597         HAVE_PTSNAME.
25598         * doc/posix-functions/ptsname.texi: Mention the new module.
25599         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
25600         * config/srclist.txt: Add ptsname.c (commented).
25601
25602 2010-03-21  Bruno Haible  <bruno@clisp.org>
25603
25604         Tests for module 'ttyname_r'.
25605         * modules/ttyname_r-tests: New file.
25606         * tests/test-ttyname_r.c: New file.
25607
25608         New module 'ttyname_r'.
25609         * lib/ttyname_r.c: New file.
25610         * m4/ttyname_r.m4: New file.
25611         * modules/ttyname_r: New file.
25612         * lib/unistd.in.h (ttyname_r): New declaration.
25613         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
25614         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
25615         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
25616         HAVE_TTYNAME_R.
25617         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
25618         * doc/posix-functions/ttyname_r.texi: Mention the new module.
25619
25620 2010-03-20  Bruno Haible  <bruno@clisp.org>
25621
25622         signal: Undefine macro definitions in C++ mode.
25623         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
25624         sigfillset): Undefine macro definitions from the system header in C++
25625         mode.
25626         Reported by John W. Eaton <jwe@gnu.org>.
25627
25628 2010-03-20  Bruno Haible  <bruno@clisp.org>
25629
25630         Ensure no #include statements inside extern "C" { ... }.
25631         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
25632         contain #include statements.
25633         * lib/time.in.h: Likewise.
25634
25635 2010-03-20  Bruno Haible  <bruno@clisp.org>
25636
25637         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
25638         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
25639         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
25640         Reported by John W. Eaton <jwe@gnu.org>.
25641
25642 2010-03-20  Bruno Haible  <bruno@clisp.org>
25643
25644         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
25645         Reported by Jim Meyering.
25646
25647 2010-03-20  Bruno Haible  <bruno@clisp.org>
25648
25649         pipe: Set errno upon failure.
25650         * lib/pipe.h: Specify that when -1 is returned, errno is set.
25651         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
25652         errno value in error message.
25653
25654 2010-03-20  Bruno Haible  <bruno@clisp.org>
25655             Jim Meyering  <meyering@redhat.com>
25656
25657         lchown: Avoid "unused variable" warning.
25658         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
25659
25660 2010-03-20  Bruno Haible  <bruno@clisp.org>
25661
25662         Work around unlink() bug on MacOS X 10.5.6.
25663         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
25664         attempting to unlink a parent directory.
25665         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
25666         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
25667         activate for the replacement function.
25668         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
25669
25670 2010-03-20  Bruno Haible  <bruno@clisp.org>
25671
25672         Fix link errors on Solaris 8.
25673         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
25674         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
25675
25676 2010-03-19  Jim Meyering  <meyering@redhat.com>
25677
25678         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
25679         The _LIBC implementation of build_range_exp correctly honors the
25680         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
25681         However, the non-_LIBC implementation would ignore that syntax-bit
25682         flag and return REG_ERANGE unconditionally.
25683         This change makes it honor that flag.
25684         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
25685         Make two pointer parameters "const".
25686         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
25687         (parse_bracket_exp): Update caller.
25688
25689         regex.m4: correct the reversed range endpoint ([b-a]) test
25690         * m4/regex.m4: When requiring that [b-a] evoke failure,
25691         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
25692         test pass once again for x86-based systems.
25693
25694 2010-03-19  Bruno Haible  <bruno@clisp.org>
25695
25696         scandir: Fix link error on Solaris 8.
25697         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
25698         macros.
25699
25700 2010-03-19  Bruno Haible  <bruno@clisp.org>
25701
25702         getusershell: Fix documentation.
25703         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
25704         module.
25705         * doc/glibc-functions/setusershell.texi: Likewise.
25706
25707         getusershell: Provide declaration, missing on Solaris 9.
25708         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
25709         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
25710         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
25711         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
25712         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
25713         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
25714         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
25715         HAVE_GETUSERSHELL.
25716         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
25717
25718 2010-03-19  Bruno Haible  <bruno@clisp.org>
25719
25720         wctype: Provide iswblank function.
25721         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
25722         exists and is fine.
25723         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
25724         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
25725         * tests/test-wctype.c (main): Re-enable the iswblank tests.
25726         * doc/posix-functions/iswblank.texi: Update.
25727
25728 2010-03-19  Bruno Haible  <bruno@clisp.org>
25729
25730         Tests of module 'pty' in C++ mode.
25731         * modules/pty-tests: New file.
25732         * tests/test-pty-c++.cc: New file.
25733         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
25734
25735 2010-03-19  Eric Blake  <eblake@redhat.com>
25736
25737         logb: fix documentation
25738         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
25739         1.5 declaration bug.
25740
25741         forkpty, openpty: prefer glibc's const-safe prototype
25742         * lib/forkpty.c (rpl_forkpty): New file.
25743         * lib/openpty.c (rpl_openpty): Likewise.
25744         * modules/forkpty (Files): Distribute it.
25745         * modules/openpty (Files): Likewise.
25746         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
25747         check...
25748         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
25749         replacement for for non-const BSD signature.
25750         * modules/pty (Makefile.am): Substitute witnesses.
25751         * lib/pty.in.h (forkpty, openpty): Declare replacements.
25752         * tests/test-forkpty.c: Update signature check.
25753         * tests/test-openpty.c: Likewise.
25754         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
25755         * doc/glibc-functions/openpty.texi (openpty): Likewise.
25756
25757         forkpty, openpty: split functions into new modules
25758         * modules/pty (Makefile.am): Substitute new witnesses.
25759         (Libraries): Move library detection...
25760         * modules/forkpty: ...into new module.
25761         * modules/openpty: Another new module.
25762         * modules/pty-tests: Rename and split...
25763         * modules/forkpty-tests: ...to this...
25764         * modules/openpty-tests: ...and this.
25765         * tests/test-pty.c: Rename and split...
25766         * tests/test-forkpty.c: ...to this...
25767         * tests/test-openpty.c: ...and this.
25768         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
25769         (gl_PTY): Split library searching...
25770         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
25771         (gl_FORKPTY, gl_OPENPTY): New macros.
25772         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
25773         * NEWS: Mention the split.
25774         * MODULES.html.sh (Misc): Document the modules.
25775         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
25776         * doc/glibc-functions/openpty.texi (openpty): Likewise.
25777
25778         pty: improve replacement header
25779         * lib/pty.in.h: New file.
25780         * modules/pty (Files): Ship it.
25781         (Makefile.am): Always build replacement.
25782         * m4/pty.m4: Rename...
25783         * m4/pty_h.m4: ...to this.
25784         (gl_PTY): Modernize setting of witness macros; update check of
25785         forkpty to take proper advantage of cache.
25786         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
25787
25788         getopt: avoid compiler warning
25789         * lib/getopt.c (attribute_hidden): Remove unused macro.
25790
25791 2010-03-18  Bruno Haible  <bruno@clisp.org>
25792
25793         Fix link errors on Solaris 8.
25794         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
25795         * modules/search-tests (test_search_c___LDADD): Likewise.
25796         * modules/signal-tests (test_signal_c___LDADD): Likewise.
25797         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
25798         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
25799         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
25800         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
25801         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
25802         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
25803
25804 2010-03-18  Bruno Haible  <bruno@clisp.org>
25805
25806         Fix bug introduced on 2010-03-14.
25807         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
25808         (gl_SPAWN_H): Require it.
25809         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
25810         Reported by Simon Josefsson.
25811
25812 2010-03-18  Bruno Haible  <bruno@clisp.org>
25813
25814         Fix typo introduced on 2009-12-31.
25815         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
25816         posix_spawn_file_actions_adddup2.
25817
25818 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
25819         and Eric Blake  <eblake@redhat.com>
25820
25821         test-vc-list-files-git: make more robust
25822         * tests/test-vc-list-files-git.sh: Unset problematic environment
25823         variables.  Chain commands together.
25824
25825 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
25826
25827         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
25828         `AC_CHECK_DECL' invocation.
25829
25830 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
25831
25832         * lib/inttostr.c (inttostr): Make sure the invocation of verify
25833         appears before executable statements. Suggested by Petr Sumbera
25834         <Petr.Sumbera@Sun.COM>.
25835
25836 2010-03-14  Bruno Haible  <bruno@clisp.org>
25837
25838         * tests/test-flock.c (test_exclusive): Comment out a test that causes
25839         portability problems. Instead use a simpler test.
25840         (main): Check that invalid arguments are rejected only on Linux.
25841
25842 2010-03-14  Bruno Haible  <bruno@clisp.org>
25843
25844         Fix bug introduced on 2009-12-31.
25845         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
25846         gl_PREREQ_SYS_H_WINSOCK2 always.
25847         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
25848         SYS_SOCKET_H variable.
25849         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
25850         Update comments.
25851         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
25852         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
25853         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
25854         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
25855         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
25856
25857 2010-03-14  Bruno Haible  <bruno@clisp.org>
25858
25859         Fix values returned by sinl, cosl.
25860         * lib/trigl.h: Add specification comments.
25861         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
25862         that combines the values from the precomputed table with the values of
25863         the Chebyshev polynomials.
25864
25865 2010-03-14  Bruno Haible  <bruno@clisp.org>
25866
25867         Fix compilation error when modules 'posix_spawn[p]' are not used.
25868         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
25869         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
25870
25871 2010-03-14  Bruno Haible  <bruno@clisp.org>
25872
25873         Fix compilation error on mingw when module 'time_r' is not used.
25874         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
25875         is 1.
25876         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
25877         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
25878         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
25879         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
25880
25881 2010-03-14  Bruno Haible  <bruno@clisp.org>
25882
25883         Fix compilation error with Sun C.
25884         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
25885         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
25886         instead of GCC specific ULONG_LONG_MAX.
25887         * lib/xstrtoll.c: Likewise.
25888         * lib/xstrtoull.c: Likewise.
25889
25890 2010-03-13  Bruno Haible  <bruno@clisp.org>
25891
25892         Allow the user to disable C++ code and tests.
25893         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
25894         (gl_PROG_ANSI_CXX): Require it.
25895
25896 2010-03-13  Bruno Haible  <bruno@clisp.org>
25897
25898         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
25899         cases.
25900
25901 2010-03-13  Bruno Haible  <bruno@clisp.org>
25902
25903         Test that gnulib does not break the standard C++ headers.
25904         * tests/test-locale-c++2.cc: New file.
25905         * modules/locale-tests (Files): Add it.
25906         (Makefile.am): Compile it for test-locale-c++.
25907         * tests/test-math-c++2.cc: New file.
25908         * modules/math-tests (Files): Add it.
25909         (Makefile.am): Compile it for test-math-c++.
25910         * tests/test-signal-c++2.cc: New file.
25911         * modules/signal-tests (Files): Add it.
25912         (Makefile.am): Compile it for test-signal-c++.
25913         * tests/test-stdio-c++2.cc: New file.
25914         * modules/stdio-tests (Files): Add it.
25915         (Makefile.am): Compile it for test-stdio-c++.
25916         * tests/test-stdlib-c++2.cc: New file.
25917         * modules/stdlib-tests (Files): Add it.
25918         (Makefile.am): Compile it for test-stdlib-c++.
25919         * tests/test-string-c++2.cc: New file.
25920         * modules/string-tests (Files): Add it.
25921         (Makefile.am): Compile it for test-string-c++.
25922         * tests/test-time-c++2.cc: New file.
25923         * modules/time-tests (Files): Add it.
25924         (Makefile.am): Compile it for test-time-c++.
25925         Reported by John W. Eaton <jwe@gnu.org>.
25926
25927 2010-03-13  Bruno Haible  <bruno@clisp.org>
25928
25929         * gnulib-tool (func_usage): Clarify which options are available for
25930         --create-testdir and --create-megatestdir.
25931
25932 2010-03-13  Bruno Haible  <bruno@clisp.org>
25933
25934         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
25935         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
25936         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
25937         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
25938         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
25939         when appropriate.
25940         Reported by Jim Meyering.
25941
25942 2010-03-12  Simon Josefsson  <simon@josefsson.org>
25943
25944         * gnulib-tool (func_import): Explain origin of code.
25945
25946 2010-03-12  Bruno Haible  <bruno@clisp.org>
25947
25948         Fix problem with automake's definition of CXXLINK.
25949         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
25950         Reported by Simon Josefsson and Ludovic Courtès.
25951
25952 2010-03-12  Bruno Haible  <bruno@clisp.org>
25953
25954         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
25955         stable releases.
25956
25957 2010-03-11  Bruno Haible  <bruno@clisp.org>
25958
25959         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
25960         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
25961         whether the system provides one variant or multiple variants of the
25962         function.
25963         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
25964         C++ compilers.
25965         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
25966         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
25967         Reported by Jim Meyering.
25968
25969 2010-03-09  Simon Josefsson  <simon@josefsson.org>
25970
25971         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
25972
25973 2010-03-08  Bruno Haible  <bruno@clisp.org>
25974
25975         gnulib-tool: Add support for --libtool in --create-testdir.
25976         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
25977         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
25978
25979 2010-03-08  Eric Blake  <eblake@redhat.com>
25980
25981         gnulib-tool.texi: mention possibility of git submodule
25982         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
25983         submodules.
25984         * doc/.gitignore: Ignore another generated file.
25985
25986 2010-03-08  Karl Berry  <karl@gnu.org>
25987
25988         * doc/gnulib-tool.texi (VCS Issues): Mention third option
25989         of committing gnulib files while skipping others.
25990
25991 2010-03-07  Bruno Haible  <bruno@clisp.org>
25992
25993         Tests of module 'wctype' in C++ mode.
25994         * tests/test-wctype-c++.cc: New file.
25995         * modules/wctype-tests (Files): Add it and tests/signature.h.
25996         (Depends-on): Add ansi-c++-opt.
25997         (Makefile.am): Arrange to compile and run test-wctype-c++.
25998
25999         Tests of module 'wchar' in C++ mode.
26000         * tests/test-wchar-c++.cc: New file.
26001         * modules/wchar-tests (Files): Add it and tests/signature.h.
26002         (Depends-on): Add ansi-c++-opt.
26003         (Makefile.am): Arrange to compile and run test-wchar-c++.
26004         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
26005         gl_MODULE_INDICATOR.
26006
26007         Tests of module 'unistd' in C++ mode.
26008         * tests/test-unistd-c++.cc: New file.
26009         * modules/unistd-tests (Files): Add it and tests/signature.h.
26010         (Depends-on): Add ansi-c++-opt.
26011         (Makefile.am): Arrange to compile and run test-unistd-c++.
26012         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
26013         gl_MODULE_INDICATOR.
26014
26015         Tests of module 'time' in C++ mode.
26016         * tests/test-time-c++.cc: New file.
26017         * modules/time-tests (Files): Add it and tests/signature.h.
26018         (Depends-on): Add ansi-c++-opt.
26019         (Makefile.am): Arrange to compile and run test-time-c++.
26020         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
26021
26022         Tests of module 'sys_time' in C++ mode.
26023         * tests/test-sys_time-c++.cc: New file.
26024         * modules/sys_time-tests (Files): Add it and tests/signature.h.
26025         (Depends-on): Add ansi-c++-opt.
26026         (Makefile.am): Arrange to compile and run test-sys_time-c++.
26027         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
26028         gl_MODULE_INDICATOR.
26029
26030         Tests of module 'sys_stat' in C++ mode.
26031         * tests/test-sys_stat-c++.cc: New file.
26032         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
26033         (Depends-on): Add ansi-c++-opt.
26034         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
26035         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
26036         gl_MODULE_INDICATOR.
26037
26038         Tests of module 'sys_socket' in C++ mode.
26039         * tests/test-sys_socket-c++.cc: New file.
26040         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
26041         (Depends-on): Add ansi-c++-opt.
26042         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
26043         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
26044         gl_MODULE_INDICATOR.
26045
26046         Tests of module 'sys_select' in C++ mode.
26047         * tests/test-sys_select-c++.cc: New file.
26048         * modules/sys_select-tests (Files): Add it and tests/signature.h.
26049         (Depends-on): Add ansi-c++-opt.
26050         (Makefile.am): Arrange to compile and run test-sys_select-c++.
26051         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
26052         gl_MODULE_INDICATOR.
26053
26054         Tests of module 'sys_ioctl' in C++ mode.
26055         * tests/test-sys_ioctl-c++.cc: New file.
26056         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
26057         (Depends-on): Add ansi-c++-opt.
26058         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
26059         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
26060         gl_MODULE_INDICATOR.
26061
26062         Tests of module 'string' in C++ mode.
26063         * tests/test-string-c++.cc: New file.
26064         * modules/string-tests (Files): Add it and tests/signature.h.
26065         (Depends-on): Add ansi-c++-opt.
26066         (Makefile.am): Arrange to compile and run test-string-c++.
26067         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
26068         gl_MODULE_INDICATOR.
26069
26070         Tests of module 'stdlib' in C++ mode.
26071         * tests/test-stdlib-c++.cc: New file.
26072         * modules/stdlib-tests (Files): Add it and tests/signature.h.
26073         (Depends-on): Add ansi-c++-opt.
26074         (Makefile.am): Arrange to compile and run test-stdlib-c++.
26075         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
26076         gl_MODULE_INDICATOR.
26077
26078         Tests of module 'stdio' in C++ mode.
26079         * tests/test-stdio-c++.cc: New file.
26080         * modules/stdio-tests (Files): Add it and tests/signature.h.
26081         (Depends-on): Add ansi-c++-opt.
26082         (Makefile.am): Arrange to compile and run test-stdio-c++.
26083         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
26084         gl_MODULE_INDICATOR.
26085
26086         Tests of module 'spawn' in C++ mode.
26087         * tests/test-spawn-c++.cc: New file.
26088         * modules/spawn-tests (Files): Add it and tests/signature.h.
26089         (Depends-on): Add ansi-c++-opt.
26090         (Makefile.am): Arrange to compile and run test-spawn-c++.
26091         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
26092         gl_MODULE_INDICATOR.
26093
26094         Tests of module 'signal' in C++ mode.
26095         * tests/test-signal-c++.cc: New file.
26096         * modules/signal-tests (Files): Add it and tests/signature.h.
26097         (Depends-on): Add ansi-c++-opt.
26098         (Makefile.am): Arrange to compile and run test-signal-c++.
26099         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
26100         gl_MODULE_INDICATOR.
26101
26102         Tests of module 'search' in C++ mode.
26103         * tests/test-search-c++.cc: New file.
26104         * modules/search-tests (Files): Add it and tests/signature.h.
26105         (Depends-on): Add ansi-c++-opt.
26106         (Makefile.am): Arrange to compile and run test-search-c++.
26107         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
26108         gl_MODULE_INDICATOR.
26109
26110         Tests of module 'math' in C++ mode.
26111         * tests/test-math-c++.cc: New file.
26112         * modules/math-tests (Files): Add it and tests/signature.h.
26113         (Depends-on): Add ansi-c++-opt.
26114         (Makefile.am): Arrange to compile and run test-math-c++.
26115         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
26116
26117         Tests of module 'locale' in C++ mode.
26118         * tests/test-locale-c++.cc: New file.
26119         * modules/locale-tests (Files): Add it and tests/signature.h.
26120         (Depends-on): Add ansi-c++-opt.
26121         (Makefile.am): Arrange to compile and run test-locale-c++.
26122         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
26123         gl_MODULE_INDICATOR.
26124
26125         Tests of module 'langinfo' in C++ mode.
26126         * tests/test-langinfo-c++.cc: New file.
26127         * modules/langinfo-tests (Files): Add it and tests/signature.h.
26128         (Depends-on): Add ansi-c++-opt.
26129         (Makefile.am): Arrange to compile and run test-langinfo-c++.
26130         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
26131         gl_MODULE_INDICATOR.
26132
26133         Tests of module 'iconv-h' in C++ mode.
26134         * tests/test-iconv-h-c++.cc: New file.
26135         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
26136         (Depends-on): Add ansi-c++-opt.
26137         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
26138
26139         Tests of module 'glob' in C++ mode.
26140         * tests/test-glob-c++.cc: New file.
26141         * modules/glob-tests (Files): Add it.
26142         (Depends-on): Add ansi-c++-opt.
26143         (Makefile.am): Arrange to compile and run test-glob-c++.
26144
26145         Tests of module 'fcntl-h' in C++ mode.
26146         * tests/test-fcntl-h-c++.cc: New file.
26147         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
26148         (Depends-on): Add ansi-c++-opt.
26149         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
26150         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
26151         gl_MODULE_INDICATOR.
26152
26153         Tests of module 'dirent' in C++ mode.
26154         * tests/test-dirent-c++.cc: New file.
26155         * modules/dirent-tests (Files): Add it and tests/signature.h.
26156         (Depends-on): Add ansi-c++-opt.
26157         (Makefile.am): Arrange to compile and run test-dirent-c++.
26158         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
26159         gl_MODULE_INDICATOR.
26160
26161         New module 'ansi-c++-opt'.
26162         * modules/ansi-c++-opt: New file.
26163         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
26164
26165         Document C++ namespace mode.
26166         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
26167
26168         wctype: Avoid #define replacements in C++ mode.
26169         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
26170         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
26171         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
26172         In C++, define a namespaced alias symbol.
26173         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
26174         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
26175         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
26176         rule.
26177
26178         wchar: Avoid #define replacements in C++ mode.
26179         * lib/wchar.in.h: Include c++defs.h.
26180         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
26181         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
26182         symbol.
26183         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
26184         * modules/wchar (Depends-on): Add c++defs.
26185         (Makefile.am): Update wchar.h rule.
26186
26187         unistd: Avoid #define replacements in C++ mode.
26188         * lib/unistd.in.h: Include c++defs.h.
26189         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
26190         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
26191         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
26192         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
26193         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
26194         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
26195         symbol.
26196         (environ): Update.
26197         * modules/unistd (Depends-on): Add c++defs.
26198         (Makefile.am): Update unistd.h rule.
26199
26200         time: Avoid #define replacements in C++ mode.
26201         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
26202         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
26203         define a namespaced alias symbol.
26204         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
26205         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
26206         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
26207         * modules/time (Depends-on): Add c++defs, warn-on-use.
26208         (Makefile.am): Update time.h rule.
26209         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
26210         * modules/nanosleep (configure.ac): Likewise.
26211         * modules/strptime (configure.ac): Likewise.
26212         * modules/timegm (configure.ac): Likewise.
26213
26214         sys_time: Avoid #define replacements in C++ mode.
26215         * lib/sys_time.in.h: Include c++defs.h.
26216         (gettimeofday): In C++, define a namespaced alias symbol.
26217         * modules/sys_time (Depends-on): Add c++defs.
26218         (Makefile.am): Update sys/time.h rule.
26219
26220         sys_stat: Avoid #define replacements in C++ mode.
26221         * lib/sys_stat.in.h: Include c++defs.h.
26222         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
26223         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
26224         namespaced alias symbol.
26225         In C++, define a namespaced alias symbol.
26226         * modules/sys_stat (Depends-on): Add c++defs.
26227         (Makefile.am): Update sys/stat.h rule.
26228
26229         sys_socket: Avoid #define replacements in C++ mode.
26230         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
26231         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
26232         definitions also when the system has a <sys/socket.h>.
26233         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
26234         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
26235         In C++, define a namespaced alias symbol.
26236         * modules/sys_socket (Depends-on): Add c++defs.
26237         (Makefile.am): Update sys/socket.h rule.
26238
26239         sys_select: Avoid #define replacements in C++ mode.
26240         * lib/sys_select.in.h: Include c++defs.h. Enable the function
26241         definitions also when the system has a <sys/select.h>.
26242         (select): In C++, define a namespaced alias symbol.
26243         * modules/sys_select (Depends-on): Add c++defs.
26244         (Makefile.am): Update sys/select.h rule.
26245
26246         sys_ioctl: Avoid #define replacements in C++ mode.
26247         * lib/sys_ioctl.in.h: Include c++defs.h.
26248         (ioctl): In C++, define a namespaced alias symbol.
26249         * modules/sys_ioctl (Depends-on): Add c++defs.
26250         (Makefile.am): Update sys/ioctl.h rule.
26251
26252         string: Avoid #define replacements in C++ mode.
26253         * lib/string.in.h: Include c++defs.h.
26254         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
26255         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
26256         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
26257         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
26258         strsignal, strverscmp): In C++, define a namespaced alias symbol.
26259         * modules/string (Depends-on): Add c++defs.
26260         (Makefile.am): Update string.h rule.
26261
26262         stdlib: Avoid #define replacements in C++ mode.
26263         * lib/stdlib.in.h: Include c++defs.h.
26264         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
26265         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
26266         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
26267         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
26268         symbol.
26269         * modules/stdlib (Depends-on): Add c++defs.
26270         (Makefile.am): Update stdlib.h rule.
26271
26272         stdio: Avoid #define replacements in C++ mode.
26273         * lib/stdio.in.h: Include c++defs.h.
26274         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
26275         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
26276         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
26277         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
26278         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
26279         namespaced alias symbol.
26280         * modules/stdio (Depends-on): Add c++defs.
26281         (Makefile.am): Update stdio.h rule.
26282
26283         spawn: Avoid #define replacements in C++ mode.
26284         * lib/spawn.in.h: Include c++defs.h.
26285         (posix_spawn, posix_spawnp, posix_spawnattr_init,
26286         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
26287         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
26288         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
26289         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
26290         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
26291         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
26292         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
26293         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
26294         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
26295         In C++, define a namespaced alias symbol.
26296         * modules/spawn (Depends-on): Add c++defs.
26297         (Makefile.am): Update spawn.h rule.
26298
26299         signal: Avoid #define replacements in C++ mode.
26300         * lib/signal.in.h: Include c++defs.h.
26301         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
26302         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
26303         namespaced alias symbol.
26304         * modules/signal (Depends-on): Add c++defs.
26305         (Makefile.am): Update signal.h rule.
26306
26307         search: Avoid #define replacements in C++ mode.
26308         * lib/search.in.h: Include c++defs.h.
26309         (_gl_search_compar_fn, _gl_search_action_fn): New types.
26310         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
26311         symbol.
26312         * modules/search (Depends-on): Add c++defs.
26313         (Makefile.am): Update search.h rule.
26314
26315         math: Avoid #define replacements in C++ mode.
26316         * lib/math.in.h: Include c++defs.h.
26317         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
26318         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
26319         trunc, truncl): In C++, define a namespaced alias symbol.
26320         * modules/math (Depends-on): Add c++defs.
26321         (Makefile.am): Update math.h rule.
26322
26323         locale: Avoid #define replacements in C++ mode.
26324         * lib/locale.in.h: Include c++defs.h.
26325         (duplocale): In C++, define a namespaced alias symbol.
26326         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
26327         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
26328         * modules/locale (Depends-on): Add c++defs.
26329         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
26330
26331         langinfo: Avoid #define replacements in C++ mode.
26332         * lib/langinfo.in.h: Include c++defs.h.
26333         (nl_langinfo): In C++, define a namespaced alias symbol.
26334         * modules/langinfo (Depends-on): Add c++defs.
26335         (Makefile.am): Update langinfo.h rule.
26336
26337         iconv-h: Avoid #define replacements in C++ mode.
26338         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
26339         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
26340         symbol.
26341         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
26342         whenever iconv is present.
26343         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
26344         (Makefile.am): Update iconv.h rule.
26345
26346         glob: Avoid #define replacements in C++ mode.
26347         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
26348         (_gl_glob_errfunc_fn): New type.
26349         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
26350         symbol.
26351         * modules/glob (Depends-on): Add c++defs, warn-on-use.
26352         (Makefile.am): Update glob.h rule.
26353
26354         fcntl-h: Avoid #define replacements in C++ mode.
26355         * lib/fcntl.in.h: Include c++defs.h.
26356         (fcntl, open, openat): In C++, define a namespaced alias symbol.
26357         * modules/fcntl-h (Depends-on): Add c++defs.
26358         (Makefile.am): Update fcntl.h rule.
26359
26360         dirent: Avoid #define replacements in C++ mode.
26361         * lib/dirent.in.h: Include c++defs.h.
26362         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
26363         namespaced alias symbol.
26364         (dirfd): Update declaration.
26365         * modules/dirent (Depends-on): Add c++defs.
26366         (Makefile.am): Update dirent.h rule.
26367
26368         ctype: Make it usable in C++ code.
26369         * lib/ctype.in.h: Include c++defs.h.
26370         (isblank): Declare as extern "C".
26371         * modules/ctype (Depends-on): Add c++defs.
26372         (Makefile.am): Update ctype.h rule.
26373
26374         New module 'c++defs'.
26375         * modules/c++defs: New file.
26376         * build-aux/c++defs.h: New file.
26377         Reported by John W. Eaton <jwe@gnu.org>.
26378
26379 2010-03-07  Bruno Haible  <bruno@clisp.org>
26380
26381         logb: Provide missing declaration for Cygwin.
26382         * lib/math.in.h (logb): New declaration.
26383         * m4/logb.m4: New file.
26384         * modules/logb (Files): Add m4/logb.m4.
26385         (Depends-on): Add math.
26386         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
26387         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
26388         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
26389         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
26390         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
26391
26392 2010-03-07  Bruno Haible  <bruno@clisp.org>
26393
26394         Fix test-cond link error.
26395         * tests/test-cond.c: Include <stdio.h>.
26396
26397 2010-03-07  Bruno Haible  <bruno@clisp.org>
26398
26399         Fix test-dirent-safer link error.
26400         * modules/dirent-safer-tests (Makefile.am): Define
26401         test_dirent_safer_LDADD.
26402
26403 2010-03-07  Bruno Haible  <bruno@clisp.org>
26404
26405         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
26406         among default module list.
26407
26408 2010-03-07  Bruno Haible  <bruno@clisp.org>
26409
26410         Fix link error on platforms with GNU libiconv.
26411         * modules/unistr/u8-strcoll-tests (Makefile): Define
26412         test_u8_strcoll_LDADD.
26413         * modules/unistr/u16-strcoll-tests (Makefile): Define
26414         test_u16_strcoll_LDADD.
26415         * modules/unistr/u32-strcoll-tests (Makefile): Define
26416         test_u32_strcoll_LDADD.
26417
26418 2010-03-07  Bruno Haible  <bruno@clisp.org>
26419
26420         Use POSIX declarations for socket functions.
26421         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
26422         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
26423         rpl_sendto): Change declaration to match POSIX.
26424         * lib/connect.c (rpl_connect): Likewise.
26425         * lib/accept.c (rpl_accept): Likewise.
26426         * lib/bind.c (rpl_bind): Likewise.
26427         * lib/getpeername.c (rpl_getpeername): Likewise.
26428         * lib/getsockname.c (rpl_getsockname): Likewise.
26429         * lib/recv.c (rpl_recv): Likewise.
26430         * lib/send.c (rpl_send): Likewise.
26431         * lib/recvfrom.c (rpl_recvfrom): Likewise.
26432         * lib/sendto.c (rpl_sendto): Likewise.
26433
26434 2010-03-06  Bruno Haible  <bruno@clisp.org>
26435
26436         Clarify access, euidaccess, faccessat.
26437         * doc/posix-functions/faccessat.texi: Mention security problem under
26438         "Other problems", not "Portability problems".
26439         * doc/posix-functions/access.texi: Likewise. Mention a related security
26440         problem.
26441         * doc/glibc-functions/euidaccess.texi: Mention security problems.
26442         * lib/euidaccess.c: Add comments about platforms.
26443         * lib/unistd.in.h (access, euidaccess): Add warnings.
26444
26445 2010-03-07  Bruno Haible  <bruno@clisp.org>
26446
26447         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
26448         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
26449         (POSIX_SPAWN_SETSCHEDULER): Likewise.
26450         (POSIX_SPAWN_USEVFORK): Define in a way that works when
26451         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
26452         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
26453         declare when POSIX_SPAWN_SETSCHEDULER is zero.
26454         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
26455         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
26456         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
26457         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
26458         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
26459         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
26460         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
26461         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
26462         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
26463         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
26464         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
26465         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
26466         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
26467         Likewise.
26468         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
26469         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
26470         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
26471         Likewise.
26472         * tests/test-spawn.c (main): Make it work when
26473         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
26474
26475 2010-03-07  Bruno Haible  <bruno@clisp.org>
26476
26477         Fix incorrect Makefile.am generation in German locale.
26478         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
26479         Execute sed command with character range in C locale.
26480
26481 2010-03-06  Bruno Haible  <bruno@clisp.org>
26482
26483         Tests for module 'iconv-h'.
26484         * modules/iconv-h-tests: New file.
26485         * tests/test-iconv-h.c: New file.
26486
26487         New module 'iconv-h'.
26488         * modules/iconv-h: New file.
26489         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
26490         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
26491         (configure.ac): Remove gl_ICONV_H.
26492         (Makefile.am): Remove rule for iconv.h.
26493
26494 2010-03-06  Bruno Haible  <bruno@clisp.org>
26495
26496         More consistent naming of *.m4 files.
26497         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
26498         * modules/wctype (Files): Update.
26499
26500         More consistent naming of *.m4 files.
26501         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
26502         * modules/wchar (Files): Update.
26503
26504 2010-03-06  Jim Meyering  <meyering@redhat.com>
26505
26506         euidaccess: relax license to LGPLv2+
26507         * modules/euidaccess (License): Relax to LGPLv2+.
26508
26509 2010-03-06  Bruno Haible  <bruno@clisp.org>
26510
26511         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
26512         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
26513         (Makefile.am): Augment lib_SOURCES instead.
26514
26515 2010-03-04  Jim Meyering  <meyering@redhat.com>
26516
26517         utime: remove obsolete module
26518         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
26519         unnecessary for years, and has been marked as obsolete for 10 months.
26520         * modules/utime: Remove file.
26521         * lib/utime.c: Remove file.
26522         * m4/utime.m4: Remove file.
26523         * m4/utimes-null.m4: Remove file.
26524         * doc/posix-functions/utime.texi (utime): Remove reference to
26525         the module.  Move the sole "fixed by gnulib" item into the
26526         "problems not fixed by Gnulib" list.
26527         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
26528
26529 2010-03-05  Simon Josefsson  <simon@josefsson.org>
26530
26531         * modules/exit (License): Relax license to LGPLv2+.
26532         (Status): Mark as obsolete.
26533         * NEWS: Mention deprecated 'exit' module.
26534         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
26535         of now obsolete 'exit'.
26536
26537 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26538
26539         fts-lgpl: remove unused module
26540         * modules/fts-lgpl: Remove.
26541         * MODULES.html.sh (func_all_modules): Adjust.
26542         * check-module (find_included_lib_files): Adjust.
26543         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
26544
26545 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
26546
26547         copy-acl: enhance Solaris ACL error handling
26548         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
26549         * lib/set-mode-acl.c (qset_acl): Likewise.
26550
26551 2010-03-02  Bruno Haible  <bruno@clisp.org>
26552
26553         spawn: Don't override the system defined values on FreeBSD 8.
26554         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
26555         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
26556         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
26557         if HAVE_POSIX_SPAWN is 1.
26558         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
26559
26560 2010-03-01  Bruno Haible  <bruno@clisp.org>
26561
26562         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
26563         regarding Automake.
26564
26565 2010-02-25  Bruno Haible  <bruno@clisp.org>
26566
26567         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
26568         * gnulib-tool: Define 'echo' as a function only before the ksh alias
26569         setting, not afterwards.
26570         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
26571
26572 2010-02-24  Eric Blake  <eblake@redhat.com>
26573
26574         bootstrap, git-version-gen: use timestamp
26575         * build-aux/git-version-gen (scriptversion): Force UTC.
26576         * build-aux/bootstrap (scriptversion): New variable.
26577
26578         bootstrap: allow older git
26579         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
26580         older than 1.6.4.  Requested by the libvirt project.
26581
26582 2010-02-23  Eric Blake  <eblake@redhat.com>
26583
26584         warn-on-use: work with old autoconf
26585         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
26586         AS_VAR semantics of autoconf 2.60.
26587         Reported by Bruno Haible.
26588
26589         bootstrap: improve some comments
26590         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
26591         clarification comments.
26592
26593         gettimeofday: provide correct function
26594         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
26595         when replacement is declared, otherwise provide gettimeofday.
26596         Reported by Michael Goffioul.
26597
26598 2010-02-23  Jim Meyering  <meyering@redhat.com>
26599
26600         lib-ignore: relax license to "unlimited", not LGPLv2+
26601         * modules/lib-ignore (License): Relax to "unlimited".
26602
26603 2010-02-23  Jim Meyering  <meyering@redhat.com>
26604
26605         lib-ignore: relax license to LGPLv2+
26606         * modules/lib-ignore (License): Relax to LGPLv2+.
26607
26608 2010-02-22  Eric Blake  <eblake@redhat.com>
26609
26610         lseek: avoid bash 3.2 broken pipe bug
26611         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
26612         warning from bash 3.2.
26613         Reported by Ben Pfaff, with analysis from Bruno Haible.
26614
26615         bootstrap: support non-FSF copyright holder
26616         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
26617         bootstrap.conf override of COPYRIGHT_HOLDER.
26618         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
26619
26620         bootstrap: interoperate with gettext 0.14.1
26621         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
26622
26623         bootstrap: allow for alternate submodule location
26624         * build-aux/bootstrap (gnulib_path): New variable; use instead of
26625         hardcoding submodule location.
26626         (gnulib_mk): Allow direct use of Makefile.am.
26627
26628         bootstrap: use GNULIB_SRCDIR to reduce disk usage
26629         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
26630         rather than reconfiguring where the submodule points.
26631
26632         gettimeofday: restore support for platforms that lack function
26633         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
26634         replacement if function is missing.
26635         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
26636         * modules/sys_time (Makefile.am): Substitute it.
26637         * lib/sys_time.in.h (gettimeofday): Check it.
26638         Reported by Michael Goffioul.
26639
26640 2010-02-21  Bruno Haible  <bruno@clisp.org>
26641
26642         * lib/stdio.in.h (obstack_printf): Fix typo.
26643
26644 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
26645
26646         vc-list-files: use bzr ls's -R option
26647         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
26648         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
26649
26650 2010-02-21  Jim Meyering  <meyering@redhat.com>
26651
26652         init.sh: fix EXEEXT shims to work also for names like test-prog
26653         * tests/init.sh: Re-exec a better shell, when needed.
26654         If the current shell lacks support for posix $(...), an init.sh-using
26655         test will now try to find a shell that supports that.  If EXEEXT is
26656         nonempty, we also require support for hyphen-in-alias-name and shell
26657         substitutions like ${var#glob}.  Failure to find such a shell results
26658         in a skipped test.
26659
26660 2010-02-21  Bruno Haible  <bruno@clisp.org>
26661
26662         Really work around around "broken pipe" error message from bash 3.2.
26663         * gnulib-tool (func_reset_sigpipe): Remove function.
26664         (echo): In bash 3.2, define to a function that uses printf.
26665         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
26666
26667 2010-02-20  Bruno Haible  <bruno@clisp.org>
26668
26669         Restore support for automake 1.9.6 with autoconf 2.61.
26670         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
26671         Reported by James Youngman <jay@gnu.org>.
26672
26673 2010-02-20  Bruno Haible  <bruno@clisp.org>
26674
26675         Improve *printf warning condition.
26676         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
26677         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
26678         and the function is overridden due to SIGPIPE emulation.
26679
26680 2010-02-20  Bruno Haible  <bruno@clisp.org>
26681
26682         * lib/stdio.in.h: Tweak comments.
26683
26684 2010-02-19  Bruno Haible  <bruno@clisp.org>
26685
26686         Make it easier to find modules. New gnulib-tool option '--find'.
26687         * gnulib-tool: New option --find.
26688         (func_usage): Document it.
26689         (func_sanitize_modulelist): New function, extracted from
26690         func_all_modules.
26691         (func_all_modules): Invoke it.
26692         * doc/gnulib-tool.texi (Which modules?): New node.
26693
26694 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
26695
26696         * lib/sys_select.in.h: Provide select replacement even if
26697         sys/select.h exists on a system, for Interix.
26698
26699 2010-02-18  Jim Meyering  <meyering@redhat.com>
26700
26701         init.sh: don't use $(...) just yet
26702         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
26703         to accommodate e.g., Solaris' /bin/sh.
26704
26705 2010-02-17  Bruno Haible  <bruno@clisp.org>
26706
26707         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
26708         Reported by Ludovic Courtès <ludo@gnu.org>.
26709
26710 2010-02-16  Simon Josefsson  <simon@josefsson.org>
26711
26712         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
26713         linking with -lintl.
26714
26715 2010-02-17  Simon Josefsson  <simon@josefsson.org>
26716
26717         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
26718         if not provided by the system's netdb.h.  Reported by
26719         ludo@gnu.org (Ludovic Courtès).
26720
26721 2010-02-15  Jim Meyering  <meyering@redhat.com>
26722
26723         init.sh: improve portability and efficiency
26724         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
26725         "dummy" in a for loop.
26726         Use '!', not '^' to select the complement of a character set used
26727         in a "case" statement.
26728         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
26729         Suggestions from Eric Blake.
26730
26731         init.sh: automatically accommodate programs with the .exe suffix
26732         Automatically arrange for an invocation of "prog" to execute the
26733         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
26734         may use the simpler "prog", yet still work when built on a system
26735         that requires specifying the added suffix.
26736         Do this by constructing a function named "prog" that invokes
26737         "prog.exe" for each .exe file in selected directories.
26738         * tests/init.sh (find_exe_basenames_): New function.
26739         (create_exe_shim_functions_): New function.
26740         (path_prepend_): Use it.
26741
26742         maint.mk: mark syntax-check sc_*.m rules as .PHONY
26743         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
26744         "make -t syntax-check" doesn't create a ton of sc_*.m files.
26745
26746 2010-02-14  Jim Meyering  <meyering@redhat.com>
26747
26748         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
26749         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
26750         (sc_prohibit_hash_pjw_without_use): New rule.
26751
26752         maint.mk: allow the default upload destination dir to be overridden
26753         * top/maint.mk (upload_dest_dir_): Define with a default that
26754         preserves the status quo.
26755         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
26756         Reported by Peter Simons.
26757
26758         maint.mk: prohibit inclusion of "hash.h" without_use
26759         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
26760
26761 2010-02-10  Jim Meyering  <meyering@redhat.com>
26762
26763         maint.mk: prohibit inclusion of "ignore-value.h" without_use
26764         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
26765
26766 2010-02-09  Eric Blake  <ebb9@byu.net>
26767         and Bruno Haible  <bruno@clisp.org>
26768
26769         obstack-printf-posix: ensure declaration
26770         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
26771         extracted from gl_FUNC_OBSTACK_PRINTF.
26772         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
26773         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
26774         Likewise.
26775         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
26776         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
26777         0.
26778
26779 2010-02-08  Bruno Haible  <bruno@clisp.org>
26780
26781         gnulib-tool: Fix typo in 2010-02-07 commit.
26782         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
26783         Reported by Eric Blake.
26784
26785 2010-02-07  Bruno Haible  <bruno@clisp.org>
26786
26787         gnulib-tool: Fix up caching patches.
26788         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
26789         option --no-cache. Use associative arrays when supported by the shell.
26790         (sed_comments): New variable.
26791         (modcache): Renamed from do_cache.
26792         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
26793         abbreviate unnecessarily.
26794         (have_associative): New variable.
26795         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
26796         way also for ksh and zsh.
26797         (func_init_sed_convert_to_cache_statements): New function, extracted
26798         from func_cache_lookup_module. Add support for associative arrays.
26799         Don't set the c_MODULE_cached variable here. Ignore all lines before
26800         the first field header. Remove only the final newline, not all trailing
26801         newlines. Support empty fields correctly. Limit the use of 'eval' to
26802         assignments.
26803         (func_get_description, func_get_status, func_get_notice,
26804         func_get_applicability, func_get_filelist, func_get_dependencies,
26805         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
26806         func_get_automake_snippet, func_get_include_directive,
26807         func_get_link_directive, func_get_license, func_get_maintainer):
26808         Update documentation. List the unoptimized code first. Add support for
26809         associative arrays. Limit the use of 'eval' to assignments.
26810         (func_get_applicability): Undo stylistic pessimisations.
26811         (func_get_automake_snippet, func_get_include_directive): Reduce code
26812         duplication.
26813         (func_modules_transitive_closure, func_modules_add_dummy,
26814         func_modules_notice, func_modules_to_filelist, func_add_file,
26815         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
26816         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
26817         func_create_testdir, func_create_megatestdir): Update documentation.
26818
26819 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26820
26821         * gnulib-tool (func_cache_lookup_module): Store the module name
26822         belonging to the cache variable; error out if two different
26823         module names map to the same cache variable name.
26824
26825 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26826
26827         gnulib-tool: Make caching optional.
26828         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
26829         Update matching short versions of --no-changelog.
26830         (func_usage): Update.
26831         (sed_extract_cache_prog): Renamed from ...
26832         (sed_extract_prog): ... this; revert to old extraction script.
26833         (func_get_description, func_get_status)
26834         (func_get_notice, func_get_applicability, func_get_filelist)
26835         (func_get_dependencies, func_get_autoconf_early_snippet)
26836         (func_get_autoconf_snippet, func_get_automake_snippet)
26837         (func_get_include_directive, func_get_link_directive)
26838         (func_get_license, func_get_maintainer): If $do_cache is false,
26839         use old, non-caching extraction scripts.
26840         Suggestion by Bruno Haible.
26841
26842 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26843
26844         gnulib-tool: cache module metainformation.
26845         * gnulib-tool (sed_extract_prog): Match newline before each
26846         header, and rewrite header to a shell variable suffix.
26847         (func_cache_var, func_cache_lookup_module): New functions,
26848         to turn a module name into a cache variable prefix, and to
26849         look up and cache module metainformation.
26850         (func_get_description, func_get_status)
26851         (func_get_notice, func_get_applicability, func_get_filelist)
26852         (func_get_dependencies, func_get_autoconf_early_snippet)
26853         (func_get_autoconf_snippet, func_get_automake_snippet)
26854         (func_get_include_directive, func_get_link_directive)
26855         (func_get_license, func_get_maintainer): Use
26856         func_cache_lookup_module.
26857
26858 2010-02-07  Bruno Haible  <bruno@clisp.org>
26859
26860         fnctl: Fix missing dependency.
26861         * modules/fcntl (Depends-on): Add getdtablesize.
26862         Reported by John W. Eaton <jwe@gnu.org>.
26863
26864 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
26865
26866         Argp: fix recognition of short alias options.
26867
26868         * lib/argp-parse.c (convert_options): Fix improper use of
26869         `|' between character values.
26870         * tests/test-argp.c (group1_option): New alias option
26871         --read (-r).
26872         (group1_parser): Special handling for 'r'.
26873         (test15): New test case.
26874         (test_fun): Add test15.
26875         * tests/test-argp-2.sh: Update expected --help and --usage
26876         outputs.
26877
26878 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
26879
26880         * tests/test-argp.c: Fix indentation.
26881
26882 2010-02-04  Eric Blake  <ebb9@byu.net>
26883
26884         gettimeofday: expose type of second argument
26885         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
26886         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
26887         * tests/test-gettimeofday.c: Use it to silence warning.
26888         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
26889         the issue.
26890
26891 2010-02-03  Jim Meyering  <meyering@redhat.com>
26892
26893         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
26894         * lib/regcomp.c (TYPE_SIGNED): Define.
26895         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
26896
26897         regcomp.c: avoid a new -Wshadow warning
26898         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
26899
26900 2010-02-01  Jim Meyering  <meyering@redhat.com>
26901
26902         removing useless parentheses in cpp #define directives
26903         For motivation, see commit c0221df4, "define STREQ(a,b)
26904         consistently, removing useless parentheses"
26905         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
26906         * lib/mountlist.c (MNT_IGNORE): Likewise.
26907         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
26908
26909 2010-02-01  Eric Blake  <ebb9@byu.net>
26910
26911         sys_time: use link-warning
26912         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
26913         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
26914         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
26915         * modules/sys_time (Depends-on): Add warn-on-use.
26916         (Makefile.am): Always build replacement.
26917         (configure.ac): Update substitutions.
26918         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
26919         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
26920         bother with SYS_TIME_H.
26921         * modules/gettimeofday (configure.ac): Declare indicator.
26922         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
26923         in use.
26924
26925         closein-tests: silence compiler warning
26926         * tests/test-closein.c (main): Ignore fread result.
26927         * modules/closein-tests (Depends-on): Add ignore-value.
26928
26929         tests: silence warning about system return
26930         * tests/test-areadlink-with-size.c (main): Ignore system result.
26931         * tests/test-areadlink.c (main): Likewise.
26932         * tests/test-areadlinkat-with-size.c (main): Likewise.
26933         * tests/test-areadlinkat.c (main): Likewise.
26934         * tests/test-canonicalize-lgpl.c (main): Likewise.
26935         * tests/test-canonicalize.c (main): Likewise.
26936         * tests/test-chown.c (main): Likewise.
26937         * tests/test-fchownat.c (main): Likewise.
26938         * tests/test-fdutimensat.c (main): Likewise.
26939         * tests/test-fstatat.c (main): Likewise.
26940         * tests/test-futimens.c (main): Likewise.
26941         * tests/test-lchown.c (main): Likewise.
26942         * tests/test-link.c (main): Likewise.
26943         * tests/test-linkat.c (main): Likewise.
26944         * tests/test-lstat.c (main): Likewise.
26945         * tests/test-mkdir.c (main): Likewise.
26946         * tests/test-mkdirat.c (main): Likewise.
26947         * tests/test-mkfifo.c (main): Likewise.
26948         * tests/test-mkfifoat.c (main): Likewise.
26949         * tests/test-mknod.c (main): Likewise.
26950         * tests/test-readlink.c (main): Likewise.
26951         * tests/test-remove.c (main): Likewise.
26952         * tests/test-rename.c (main): Likewise.
26953         * tests/test-renameat.c (main): Likewise.
26954         * tests/test-rmdir.c (main): Likewise.
26955         * tests/test-symlink.c (main): Likewise.
26956         * tests/test-symlinkat.c (main): Likewise.
26957         * tests/test-unlink.c (main): Likewise.
26958         * tests/test-unlinkat.c (main): Likewise.
26959         * tests/test-utimens.c (main): Likewise.
26960         * tests/test-utimensat.c (main): Likewise.
26961         * modules/areadlink-tests (Depends-on): Add ignore-value.
26962         * modules/areadlink-with-size-tests (Depends-on): Likewise.
26963         * modules/areadlinkat-tests (Depends-on): Likewise.
26964         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
26965         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
26966         * modules/canonicalize-tests (Depends-on): Likewise.
26967         * modules/chown-tests (Depends-on): Likewise.
26968         * modules/fdutimensat-tests (Depends-on): Likewise.
26969         * modules/futimens-tests (Depends-on): Likewise.
26970         * modules/lchown-tests (Depends-on): Likewise.
26971         * modules/link-tests (Depends-on): Likewise.
26972         * modules/linkat-tests (Depends-on): Likewise.
26973         * modules/lstat-tests (Depends-on): Likewise.
26974         * modules/mkdir-tests (Depends-on): Likewise.
26975         * modules/mkfifo-tests (Depends-on): Likewise.
26976         * modules/mkfifoat-tests (Depends-on): Likewise.
26977         * modules/mknod-tests (Depends-on): Likewise.
26978         * modules/openat-tests (Depends-on): Likewise.
26979         * modules/readlink-tests (Depends-on): Likewise.
26980         * modules/remove-tests (Depends-on): Likewise.
26981         * modules/rename-tests (Depends-on): Likewise.
26982         * modules/renameat-tests (Depends-on): Likewise.
26983         * modules/rmdir-tests (Depends-on): Likewise.
26984         * modules/symlink-tests (Depends-on): Likewise.
26985         * modules/symlinkat-tests (Depends-on): Likewise.
26986         * modules/unlink-tests (Depends-on): Likewise.
26987         * modules/utimens-tests (Depends-on): Likewise.
26988         * modules/utimensat-tests (Depends-on): Likewise.
26989
26990 2010-01-31  Bruno Haible  <bruno@clisp.org>
26991
26992         Perform the same test for many <math.h> functions.
26993         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
26994         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
26995         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
26996         of gl_MATHFUNC.
26997         * modules/acos (configure.ac): Likewise.
26998         * modules/asin (configure.ac): Likewise.
26999         * modules/atan (configure.ac): Likewise.
27000         * modules/atan2 (configure.ac): Likewise.
27001         * modules/cbrt (configure.ac): Likewise.
27002         * modules/copysign (configure.ac): Likewise.
27003         * modules/cos (configure.ac): Likewise.
27004         * modules/cosh (configure.ac): Likewise.
27005         * modules/erf (configure.ac): Likewise.
27006         * modules/erfc (configure.ac): Likewise.
27007         * modules/exp (configure.ac): Likewise.
27008         * modules/fmod (configure.ac): Likewise.
27009         * modules/hypot (configure.ac): Likewise.
27010         * modules/j0 (configure.ac): Likewise.
27011         * modules/j1 (configure.ac): Likewise.
27012         * modules/jn (configure.ac): Likewise.
27013         * modules/lgamma (configure.ac): Likewise.
27014         * modules/log (configure.ac): Likewise.
27015         * modules/log10 (configure.ac): Likewise.
27016         * modules/log1p (configure.ac): Likewise.
27017         * modules/pow (configure.ac): Likewise.
27018         * modules/remainder (configure.ac): Likewise.
27019         * modules/sin (configure.ac): Likewise.
27020         * modules/sinh (configure.ac): Likewise.
27021         * modules/tan (configure.ac): Likewise.
27022         * modules/tanh (configure.ac): Likewise.
27023         * modules/y0 (configure.ac): Likewise.
27024         * modules/y1 (configure.ac): Likewise.
27025         * modules/yn (configure.ac): Likewise.
27026         Suggested by Paolo Bonzini.
27027
27028 2010-01-31  Bruno Haible  <bruno@clisp.org>
27029
27030         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
27031
27032 2010-01-31  Bruno Haible  <bruno@clisp.org>
27033
27034         Work around getdelim() bug on FreeBSD 8.0.
27035         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
27036         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
27037         not work.
27038         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
27039         is 1.
27040         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
27041         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
27042         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
27043         a non-zero size.
27044         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
27045
27046 2010-01-31  Bruno Haible  <bruno@clisp.org>
27047
27048         Work around getline() bug on FreeBSD 8.0.
27049         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
27050         and a non-zero size.
27051         * tests/test-getline.c (main): Likewise.
27052         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
27053         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
27054
27055 2010-01-28  Eric Blake  <ebb9@byu.net>
27056
27057         regex: fix build failure
27058         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
27059         platforms.
27060
27061 2010-01-28  Jim Meyering  <meyering@redhat.com>
27062
27063         regex: do not ignore memory allocation failure
27064         * lib/regex_internal.c (create_cd_newstate): Detect
27065         re_node_set_init_copy failure.   Extracted from glibc commit
27066         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
27067
27068         regex: sync more white-space changes from libc
27069         * lib/regex_internal.c: White-space only changes.
27070         * lib/regexec.c: Likewise.
27071
27072         regex: add many uses of __attribute_warn_unused_result__
27073         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
27074         * lib/regexec.c: Likewise.
27075         Extracted from a messy glibc commit.
27076
27077         regcomp.c: spelling and merge-artifact from glibc
27078         * lib/regcomp.c: Merge remainder of glibc's
27079         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
27080
27081         regcomp.c: sync white-space changes from glibc
27082         * lib/regcomp.c: Merge to accommodate white space
27083         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
27084
27085         regcomp.c: do not ignore internal return values
27086         * lib/regcomp.c: Do not ignore internal return values.
27087         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
27088         but without its white-space changes and spelling fixes.
27089
27090         regex_internal.h: define __attribute_warn_unused_result__
27091         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
27092
27093         maint: add a syntax-check rule to check for vulnerable Makefile.in
27094         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
27095
27096 2010-01-27  Jim Meyering  <meyering@redhat.com>
27097
27098         ncftpput-ftp: clean up spaces
27099         * build-aux/ncftpput-ftp: Make Copyright line consistent.
27100         Remove trailing blanks.
27101
27102 2010-01-27  Simon Josefsson  <simon@josefsson.org>
27103
27104         * build-aux/git-version-gen: Fix copyright statement.
27105         * build-aux/gnupload: Likewise.
27106         * tests/test-arcfour.c: Likewise.
27107         * tests/test-arctwo.c: Likewise.
27108         * tests/test-count-one-bits.c: Likewise.
27109         * tests/test-crc.c: Likewise.
27110         * tests/test-des.c: Likewise.
27111         * tests/test-gc-arcfour.c: Likewise.
27112         * tests/test-gc-arctwo.c: Likewise.
27113         * tests/test-gc-des.c: Likewise.
27114         * tests/test-gc-hmac-md5.c: Likewise.
27115         * tests/test-gc-hmac-sha1.c: Likewise.
27116         * tests/test-gc-md2.c: Likewise.
27117         * tests/test-gc-md4.c: Likewise.
27118         * tests/test-gc-md5.c: Likewise.
27119         * tests/test-gc-pbkdf2-sha1.c: Likewise.
27120         * tests/test-gc-rijndael.c: Likewise.
27121         * tests/test-gc-sha1.c: Likewise.
27122         * tests/test-gc.c: Likewise.
27123         * tests/test-gethostname.c: Likewise.
27124         * tests/test-gettimeofday.c: Likewise.
27125         * tests/test-hash.c: Likewise.
27126         * tests/test-hmac-md5.c: Likewise.
27127         * tests/test-hmac-sha1.c: Likewise.
27128         * tests/test-md2.c: Likewise.
27129         * tests/test-md4.c: Likewise.
27130         * tests/test-md5.c: Likewise.
27131         * tests/test-memchr.c: Likewise.
27132         * tests/test-memchr2.c: Likewise.
27133         * tests/test-memcmp.c: Likewise.
27134         * tests/test-memmem.c: Likewise.
27135         * tests/test-memrchr.c: Likewise.
27136         * tests/test-rawmemchr.c: Likewise.
27137         * tests/test-read-file.c: Likewise.
27138         * tests/test-rijndael.c: Likewise.
27139         * tests/test-sockets.c: Likewise.
27140         * tests/test-strchrnul.c: Likewise.
27141         * tests/test-strstr.c: Likewise.
27142         * tests/test-strtod.c: Likewise.
27143         * build-aux/ncftpput-ftp: Likewise.
27144
27145 2010-01-26  Eric Blake  <ebb9@byu.net>
27146
27147         ignore-value: update recommended header name
27148         * modules/ignore-value (Include): Only use <> for headers that
27149         exist in glibc.
27150
27151 2010-01-26  Jim Meyering  <meyering@redhat.com>
27152
27153         test-userspec.c: avoid compiler warnings
27154         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
27155         and "initialization discards qualifiers..." warnings.
27156         Put the first "uid" in its own scope, and make char* members "const".
27157
27158 2010-01-25  Bruno Haible  <bruno@clisp.org>
27159
27160         gnulib-tool: Make warning diagnostics consistent.
27161         * gnulib-tool (func_warning): New function.
27162         Use it everywhere where gnulib-tool produces output to stderr and it is
27163         not a fatal error.
27164
27165 2010-01-25  Bruno Haible  <bruno@clisp.org>
27166
27167         Fix test dependencies.
27168         * modules/xstrtol-tests (Depends-on): Add inttypes.
27169         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
27170
27171 2010-01-25 Pádraig Brady <P@draigBrady.com>
27172
27173         syntax-check: detect incorrect boolean macro values in config.h
27174         * modules/maintainer-makefile (configure.ac): Parameterize the location
27175         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
27176         The logic is from Eric Blake and the location indicated by Jim Meyering.
27177         Note the more natural CONFIG_HEADER name is prohibited by automake
27178         for backwards compatibility reasons.
27179         * top/maint.mk (sc_Wundef_boolean): New rule.
27180
27181 2010-01-25  Jim Meyering  <meyering@redhat.com>
27182
27183         bootstrap: detect MacOS 10.6's shasum, too
27184         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
27185         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
27186
27187 2010-01-23  Jim Meyering  <meyering@redhat.com>
27188
27189         xstrtoll: new module
27190         * modules/xstrtoll: New file.
27191         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
27192         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
27193         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
27194         ./configure fails if you use this module and lack "long long".
27195         * modules/xstrtoll-tests: New module.
27196         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
27197         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
27198         new init.sh-based test framework.
27199
27200 2010-01-24  Bruno Haible  <bruno@clisp.org>
27201
27202         Tests for module 'yn'.
27203         * modules/yn-tests: New file.
27204         * tests/test-yn.c: New file.
27205
27206         Tests for module 'y1'.
27207         * modules/y1-tests: New file.
27208         * tests/test-y1.c: New file.
27209
27210         Tests for module 'y0'.
27211         * modules/y0-tests: New file.
27212         * tests/test-y0.c: New file.
27213
27214         Tests for module 'tanh'.
27215         * modules/tanh-tests: New file.
27216         * tests/test-tanh.c: New file.
27217
27218         Tests for module 'tan'.
27219         * modules/tan-tests: New file.
27220         * tests/test-tan.c: New file.
27221
27222         Tests for module 'sqrt'.
27223         * modules/sqrt-tests: New file.
27224         * tests/test-sqrt.c: New file.
27225
27226         Tests for module 'sinh'.
27227         * modules/sinh-tests: New file.
27228         * tests/test-sinh.c: New file.
27229
27230         Tests for module 'sin'.
27231         * modules/sin-tests: New file.
27232         * tests/test-sin.c: New file.
27233
27234         Tests for module 'rint'.
27235         * modules/rint-tests: New file.
27236         * tests/test-rint.c: New file.
27237
27238         Tests for module 'remainder'.
27239         * modules/remainder-tests: New file.
27240         * tests/test-remainder.c: New file.
27241
27242         Tests for module 'pow'.
27243         * modules/pow-tests: New file.
27244         * tests/test-pow.c: New file.
27245
27246         Tests for module 'nextafter'.
27247         * modules/nextafter-tests: New file.
27248         * tests/test-nextafter.c: New file.
27249
27250         Tests for module 'modf'.
27251         * modules/modf-tests: New file.
27252         * tests/test-modf.c: New file.
27253
27254         Tests for module 'logb'.
27255         * modules/logb-tests: New file.
27256         * tests/test-logb.c: New file.
27257
27258         Tests for module 'log1p'.
27259         * modules/log1p-tests: New file.
27260         * tests/test-log1p.c: New file.
27261
27262         Tests for module 'log10'.
27263         * modules/log10-tests: New file.
27264         * tests/test-log10.c: New file.
27265
27266         Tests for module 'log'.
27267         * modules/log-tests: New file.
27268         * tests/test-log.c: New file.
27269
27270         Tests for module 'lgamma'.
27271         * modules/lgamma-tests: New file.
27272         * tests/test-lgamma.c: New file.
27273
27274         Tests for module 'ldexp'.
27275         * modules/ldexp-tests: New file.
27276         * tests/test-ldexp.c: New file.
27277
27278         Tests for module 'jn'.
27279         * modules/jn-tests: New file.
27280         * tests/test-jn.c: New file.
27281
27282         Tests for module 'j1'.
27283         * modules/j1-tests: New file.
27284         * tests/test-j1.c: New file.
27285
27286         Tests for module 'j0'.
27287         * modules/j0-tests: New file.
27288         * tests/test-j0.c: New file.
27289
27290         Tests for module 'hypot'.
27291         * modules/hypot-tests: New file.
27292         * tests/test-hypot.c: New file.
27293
27294         Tests for module 'fmod'.
27295         * modules/fmod-tests: New file.
27296         * tests/test-fmod.c: New file.
27297
27298         Tests for module 'fabs'.
27299         * modules/fabs-tests: New file.
27300         * tests/test-fabs.c: New file.
27301
27302         Tests for module 'exp'.
27303         * modules/exp-tests: New file.
27304         * tests/test-exp.c: New file.
27305
27306         Tests for module 'erfc'.
27307         * modules/erfc-tests: New file.
27308         * tests/test-erfc.c: New file.
27309
27310         Tests for module 'erf'.
27311         * modules/erf-tests: New file.
27312         * tests/test-erf.c: New file.
27313
27314         Tests for module 'cosh'.
27315         * modules/cosh-tests: New file.
27316         * tests/test-cosh.c: New file.
27317
27318         Tests for module 'cos'.
27319         * modules/cos-tests: New file.
27320         * tests/test-cos.c: New file.
27321
27322         Tests for module 'copysign'.
27323         * modules/copysign-tests: New file.
27324         * tests/test-copysign.c: New file.
27325
27326         Tests for module 'cbrt'.
27327         * modules/cbrt-tests: New file.
27328         * tests/test-cbrt.c: New file.
27329
27330         Tests for module 'atan2'.
27331         * modules/atan2-tests: New file.
27332         * tests/test-atan2.c: New file.
27333
27334         Tests for module 'atan'.
27335         * modules/atan-tests: New file.
27336         * tests/test-atan.c: New file.
27337
27338         Tests for module 'asin'.
27339         * modules/asin-tests: New file.
27340         * tests/test-asin.c: New file.
27341
27342         Tests for module 'acos'.
27343         * modules/acos-tests: New file.
27344         * tests/test-acos.c: New file.
27345
27346 2010-01-24  Bruno Haible  <bruno@clisp.org>
27347
27348         Fix tests for common <math.h> functions.
27349         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
27350         code snippet that references the function pointer, rather than merely
27351         calling the function. Substitute the FUNC_LIBM variable.
27352         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
27353         * modules/acos (configure.ac): Likewise.
27354         * modules/asin (configure.ac): Likewise.
27355         * modules/atan (configure.ac): Likewise.
27356         * modules/atan2 (configure.ac): Likewise.
27357         * modules/cbrt (configure.ac): Likewise.
27358         * modules/copysign (configure.ac): Likewise.
27359         * modules/cos (configure.ac): Likewise.
27360         * modules/cosh (configure.ac): Likewise.
27361         * modules/erf (configure.ac): Likewise.
27362         * modules/erfc (configure.ac): Likewise.
27363         * modules/exp (configure.ac): Likewise.
27364         * modules/fabs (configure.ac): Likewise.
27365         * modules/fmod (configure.ac): Likewise.
27366         * modules/hypot (configure.ac): Likewise.
27367         * modules/j0 (configure.ac): Likewise.
27368         * modules/j1 (configure.ac): Likewise.
27369         * modules/jn (configure.ac): Likewise.
27370         * modules/ldexp (configure.ac): Likewise.
27371         * modules/lgamma (configure.ac): Likewise.
27372         * modules/log (configure.ac): Likewise.
27373         * modules/log10 (configure.ac): Likewise.
27374         * modules/log1p (configure.ac): Likewise.
27375         * modules/logb (configure.ac): Likewise.
27376         * modules/modf (configure.ac): Likewise.
27377         * modules/nextafter (configure.ac): Likewise.
27378         * modules/pow (configure.ac): Likewise.
27379         * modules/remainder (configure.ac): Likewise.
27380         * modules/rint (configure.ac): Likewise.
27381         * modules/sin (configure.ac): Likewise.
27382         * modules/sinh (configure.ac): Likewise.
27383         * modules/tan (configure.ac): Likewise.
27384         * modules/tanh (configure.ac): Likewise.
27385         * modules/y0 (configure.ac): Likewise.
27386         * modules/y1 (configure.ac): Likewise.
27387         * modules/yn (configure.ac): Likewise.
27388
27389 2010-01-24  Bruno Haible  <bruno@clisp.org>
27390
27391         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
27392         * tests/test-acosl.c (x): New variable.
27393         (main): Store argument in x and fetch it from x.
27394         * tests/test-asinl.c (x): New variable.
27395         (main): Store argument in x and fetch it from x.
27396         * tests/test-atanl.c (x): New variable.
27397         (main): Store argument in x and fetch it from x.
27398         * tests/test-cosl.c (x): New variable.
27399         (main): Store argument in x and fetch it from x.
27400         * tests/test-expl.c (x): New variable.
27401         (main): Store argument in x and fetch it from x.
27402         * tests/test-logl.c (x): New variable.
27403         (main): Store argument in x and fetch it from x.
27404         * tests/test-sinl.c (x): New variable.
27405         (main): Store argument in x and fetch it from x.
27406         * tests/test-sqrtl.c (x): New variable.
27407         (main): Store argument in x and fetch it from x.
27408         * tests/test-tanl.c (x): New variable.
27409         (main): Store argument in x and fetch it from x.
27410
27411 2010-01-24  Bruno Haible  <bruno@clisp.org>
27412
27413         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
27414         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
27415         assignments to the initial TESTS_ENVIRONMENT.
27416         * doc/gnulib.texi (Unit test modules): Document it.
27417         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
27418         TESTS_ENVIRONMENT.
27419         * modules/btowc-tests (Makefile.am): Likewise.
27420         * modules/c-stack-tests (Makefile.am): Likewise.
27421         * modules/c-strcase-tests (Makefile.am): Likewise.
27422         * modules/copy-file-tests (Makefile.am): Likewise.
27423         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
27424         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
27425         * modules/mbrtowc-tests (Makefile.am): Likewise.
27426         * modules/mbscasecmp-tests (Makefile.am): Likewise.
27427         * modules/mbscasestr-tests (Makefile.am): Likewise.
27428         * modules/mbschr-tests (Makefile.am): Likewise.
27429         * modules/mbscspn-tests (Makefile.am): Likewise.
27430         * modules/mbsinit-tests (Makefile.am): Likewise.
27431         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
27432         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
27433         * modules/mbspbrk-tests (Makefile.am): Likewise.
27434         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
27435         * modules/mbsrchr-tests (Makefile.am): Likewise.
27436         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
27437         * modules/mbsspn-tests (Makefile.am): Likewise.
27438         * modules/mbsstr-tests (Makefile.am): Likewise.
27439         * modules/nl_langinfo-tests (Makefile.am): Likewise.
27440         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
27441         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
27442         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
27443         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
27444         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
27445         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
27446         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
27447         * modules/wcrtomb-tests (Makefile.am): Likewise.
27448         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
27449         * modules/wcsrtombs-tests (Makefile.am): Likewise.
27450         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
27451         assignments from TESTS_ENVIRONMENT.
27452         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
27453         augmentation.
27454         * modules/argp-version-etc-tests (Makefile.am): Likewise.
27455         * modules/atexit-tests (Makefile.am): Likewise.
27456         * modules/binary-io-tests (Makefile.am): Likewise.
27457         * modules/closein-tests (Makefile.am): Likewise.
27458         * modules/dprintf-posix-tests (Makefile.am): Likewise.
27459         * modules/exclude-tests (Makefile.am): Likewise.
27460         * modules/fflush-tests (Makefile.am): Likewise.
27461         * modules/fpending-tests (Makefile.am): Likewise.
27462         * modules/fprintf-posix-tests (Makefile.am): Likewise.
27463         * modules/freadahead-tests (Makefile.am): Likewise.
27464         * modules/freadptr-tests (Makefile.am): Likewise.
27465         * modules/freadseek-tests (Makefile.am): Likewise.
27466         * modules/fseek-tests (Makefile.am): Likewise.
27467         * modules/fseeko-tests (Makefile.am): Likewise.
27468         * modules/ftell-tests (Makefile.am): Likewise.
27469         * modules/ftello-tests (Makefile.am): Likewise.
27470         * modules/idpriv-drop-tests (Makefile.am): Likewise.
27471         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
27472         * modules/lseek-tests (Makefile.am): Likewise.
27473         * modules/parse-duration-tests (Makefile.am): Likewise.
27474         * modules/perror-tests (Makefile.am): Likewise.
27475         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
27476         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
27477         * modules/pipe-tests (Makefile.am): Likewise.
27478         * modules/pread-tests (Makefile.am): Likewise.
27479         * modules/printf-posix-tests (Makefile.am): Likewise.
27480         * modules/select-tests (Makefile.am): Likewise.
27481         * modules/sigpipe-tests (Makefile.am): Likewise.
27482         * modules/tsearch-tests (Makefile.am): Likewise.
27483         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
27484         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
27485         * modules/uniname/uniname-tests (Makefile.am): Likewise.
27486         * modules/uniwidth/width-tests (Makefile.am): Likewise.
27487         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
27488         * modules/version-etc-tests (Makefile.am): Likewise.
27489         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
27490         * modules/vprintf-posix-tests (Makefile.am): Likewise.
27491         * modules/xalloc-die-tests (Makefile.am): Likewise.
27492         * modules/xprintf-posix-tests (Makefile.am): Likewise.
27493         * modules/xstrtoimax-tests (Makefile.am): Likewise.
27494         * modules/xstrtol-tests (Makefile.am): Likewise.
27495         * modules/xstrtoumax-tests (Makefile.am): Likewise.
27496         * modules/yesno-tests (Makefile.am): Likewise.
27497         Suggested by Jim Meyering.
27498
27499 2010-01-24  Bruno Haible  <bruno@clisp.org>
27500
27501         More documentation.
27502         * doc/gnulib.texi (Writing modules): New chapter.
27503         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
27504         the new chapter.
27505
27506 2010-01-24  Jim Meyering  <meyering@redhat.com>
27507
27508         maint.mk: do not prepend "./" after filtering
27509         * top/maint.mk (_prepend_srcdir_prefix): New variable
27510         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
27511         "./" when $(srcdir) is ".".
27512
27513         define STREQ(a,b) consistently, removing useless parentheses
27514         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
27515         since the only risk is that "a" or "b" contains an unparenthesized
27516         comma, but if either did that, STREQ would have 3 or more arguments.
27517         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
27518         * lib/fts.c (STREQ): Remove unnecessary parentheses.
27519         * lib/hash-triple.c (STREQ): Likewise.
27520         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
27521         * lib/getugroups.c (STREQ): Likewise.
27522
27523 2010-01-23  Jim Meyering  <meyering@redhat.com>
27524
27525         maint.mk: fix syntax-check in a non-srcdir build directory
27526         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
27527         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
27528
27529 2010-01-22  Jim Meyering  <meyering@redhat.com>
27530
27531         userspec: add unit tests
27532         * tests/test-userspec.c: New file.
27533         * modules/userspec-tests: Likewise.
27534
27535 2010-01-21  Jim Meyering  <meyering@redhat.com>
27536
27537         maint.mk: handle source file names containing "." robustly
27538         * top/maint.mk (_dot_escaped_srcdir): Define.
27539         (VC_LIST): Use it in LHS of sed substitution.
27540
27541 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
27542
27543         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
27544         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
27545         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
27546         from a non-srcdir build.
27547
27548 2010-01-20  Eric Blake  <ebb9@byu.net>
27549
27550         warn-on-use: use instead of link-warning
27551         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
27552         * modules/unistd (Depends-on, Makefile.am): Likewise.
27553         * modules/arpa_inet (Depends-on): Replace link-warning with
27554         warn-on-use.
27555         (Makefile.am): Update rules accordingly.
27556         * modules/ctype (Depends-on, Makefile.am): Likewise.
27557         * modules/dirent (Depends-on, Makefile.am): Likewise.
27558         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
27559         * modules/inttypes (Depends-on, Makefile.am): Likewise.
27560         * modules/langinfo (Depends-on, Makefile.am): Likewise.
27561         * modules/locale (Depends-on, Makefile.am): Likewise.
27562         * modules/math (Depends-on, Makefile.am): Likewise.
27563         * modules/search (Depends-on, Makefile.am): Likewise.
27564         * modules/signal (Depends-on, Makefile.am): Likewise.
27565         * modules/spawn (Depends-on, Makefile.am): Likewise.
27566         * modules/stdlib (Depends-on, Makefile.am): Likewise.
27567         * modules/string (Depends-on, Makefile.am): Likewise.
27568         * modules/strings (Depends-on, Makefile.am): Likewise.
27569         * modules/sys_file (Depends-on, Makefile.am): Likewise.
27570         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
27571         * modules/sys_select (Depends-on, Makefile.am): Likewise.
27572         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
27573         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
27574         * modules/sys_times (Depends-on, Makefile.am): Likewise.
27575         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
27576         * modules/wchar (Depends-on, Makefile.am): Likewise.
27577         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
27578         should be poisoned.
27579         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
27580         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
27581         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
27582         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
27583         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
27584         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
27585         * m4/math_h.m4 (gl_MATH_H): Likewise.
27586         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
27587         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
27588         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
27589         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
27590         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
27591         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
27592         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
27593         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
27594         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
27595         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
27596         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
27597         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
27598         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
27599         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
27600         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
27601         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
27602         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
27603         GL_LINK_WARNING.
27604         * lib/ctype.in.h: Likewise.
27605         * lib/dirent.in.h: Likewise.
27606         * lib/fcntl.in.h: Likewise.
27607         * lib/inttypes.in.h: Likewise.
27608         * lib/langinfo.in.h: Likewise.
27609         * lib/locale.in.h: Likewise.
27610         * lib/math.in.h: Likewise.
27611         * lib/search.in.h: Likewise.
27612         * lib/signal.in.h: Likewise.
27613         * lib/spawn.in.h: Likewise.
27614         * lib/stdio.in.h: Likewise.
27615         * lib/stdlib.in.h: Likewise.
27616         * lib/string.in.h: Likewise.
27617         * lib/strings.in.h: Likewise.
27618         * lib/sys_file.in.h: Likewise.
27619         * lib/sys_ioctl.in.h: Likewise.
27620         * lib/sys_select.in.h: Likewise.
27621         * lib/sys_socket.in.h: Likewise.
27622         * lib/sys_stat.in.h: Likewise.
27623         * lib/sys_times.in.h: Likewise.
27624         * lib/sys_utsname.in.h: Likewise.
27625         * lib/unistd.in.h: Likewise.
27626         * lib/wchar.in.h: Likewise.
27627
27628 2010-01-20  Bruno Haible  <bruno@clisp.org>
27629
27630         Avoid duplicate -lm.
27631         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
27632         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
27633         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
27634         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
27635         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
27636         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
27637         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
27638         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
27639         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
27640         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
27641         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
27642         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
27643         Reported by Paolo Bonzini.
27644
27645 2010-01-19  Bruno Haible  <bruno@clisp.org>
27646
27647         langinfo, nl_langinfo: Relicense under LGPLv2+.
27648         * modules/langinfo (License): Change to LGPLv2+.
27649         * modules/nl_langinfo (License): Likewise.
27650         Patch by David Lutterkort <lutter@redhat.com>.
27651
27652 2010-01-19  Bruno Haible  <bruno@clisp.org>
27653
27654         Avoid compilation error with cc on OSF/1 5.1.
27655         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
27656         statement, not before.
27657         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
27658
27659 2010-01-18  Bruno Haible  <bruno@clisp.org>
27660
27661         Avoid a link error due to the __printf__ symbol.
27662         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
27663         and 2.6.x.
27664         (__format__, __printf__): Remove definitions.
27665         * lib/argp-fmtstream.h: Likewise.
27666         * lib/argp.h: Likewise.
27667         * lib/error.h: Likewise.
27668         * lib/vasnprintf.h: Likewise.
27669         * lib/xprintf.h: Likewise.
27670         * lib/xvasprintf.h: Likewise.
27671         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
27672
27673 2010-01-18  Bruno Haible  <bruno@clisp.org>
27674
27675         Tests for module 'tanl'.
27676         * modules/tanl-tests: New file.
27677         * tests/test-tanl.c: New file.
27678
27679         Tests for module 'sqrtl'.
27680         * modules/sqrtl-tests: New file.
27681         * tests/test-sqrtl.c: New file.
27682
27683         Tests for module 'sinl'.
27684         * modules/sinl-tests: New file.
27685         * tests/test-sinl.c: New file.
27686
27687         Tests for module 'logl'.
27688         * modules/logl-tests: New file.
27689         * tests/test-logl.c: New file.
27690
27691         Tests for module 'expl'.
27692         * modules/expl-tests: New file.
27693         * tests/test-expl.c: New file.
27694
27695         Tests for module 'cosl'.
27696         * modules/cosl-tests: New file.
27697         * tests/test-cosl.c: New file.
27698
27699         Tests for module 'atanl'.
27700         * modules/atanl-tests: New file.
27701         * tests/test-atanl.c: New file.
27702
27703         Tests for module 'asinl'.
27704         * modules/asinl-tests: New file.
27705         * tests/test-asinl.c: New file.
27706
27707         Tests for module 'acosl'.
27708         * modules/acosl-tests: New file.
27709         * tests/test-acosl.c: New file.
27710
27711         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
27712         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
27713         tanl): Use the standard gnulib idiom.
27714         * lib/cosl.c: Don't include trigl.c and sincosl.c.
27715         * lib/sinl.c: Likewise.
27716         * lib/tanl.c: Don't include trigl.c.
27717         (kernel_tanl): Make static.
27718         * lib/sincosl.c: Include trigl.h first.
27719         * lib/trigl.c: Likewise.
27720         * m4/acosl.m4: New file.
27721         * m4/asinl.m4: New file.
27722         * m4/atanl.m4: New file.
27723         * m4/cosl.m4: New file.
27724         * m4/expl.m4: New file.
27725         * m4/logl.m4: New file.
27726         * m4/sinl.m4: New file.
27727         * m4/sqrtl.m4: New file.
27728         * m4/tanl.m4: New file.
27729         * m4/mathl.m4: Remove file.
27730         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
27731         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
27732         Don't initialize GNULIB_MATHL.
27733         * modules/acosl: New file.
27734         * modules/asinl: New file.
27735         * modules/atanl: New file.
27736         * modules/cosl: New file.
27737         * modules/expl: New file.
27738         * modules/logl: New file.
27739         * modules/sinl: New file.
27740         * modules/sqrtl: New file.
27741         * modules/tanl: New file.
27742         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
27743         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
27744         substitute GNULIB_MATHL.
27745         * modules/mathl: Rewritten.
27746         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
27747         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
27748         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
27749         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
27750         * doc/posix-functions/expl.texi: Mention the 'expl' module.
27751         * doc/posix-functions/logl.texi: Mention the 'logl' module.
27752         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
27753         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
27754         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
27755
27756 2010-01-18  Bruno Haible  <bruno@clisp.org>
27757
27758         sqrt: Make gl_FUNC_SQRT requirable.
27759         * m4/sqrt.m4: New file.
27760         * modules/sqrt (Files): Add it.
27761         (configure.ac): Invoke gl_FUNC_SQRT.
27762
27763 2010-01-18  Bruno Haible  <bruno@clisp.org>
27764
27765         New modules for common <math.h> functions.
27766         * m4/mathfunc.m4: New file.
27767         * modules/acos: New file.
27768         * modules/asin: New file.
27769         * modules/atan: New file.
27770         * modules/atan2: New file.
27771         * modules/cbrt: New file.
27772         * modules/copysign: New file.
27773         * modules/cos: New file.
27774         * modules/cosh: New file.
27775         * modules/erf: New file.
27776         * modules/erfc: New file.
27777         * modules/exp: New file.
27778         * modules/fabs: New file.
27779         * modules/fmod: New file.
27780         * modules/hypot: New file.
27781         * modules/j0: New file.
27782         * modules/j1: New file.
27783         * modules/jn: New file.
27784         * modules/ldexp: New file.
27785         * modules/lgamma: New file.
27786         * modules/log: New file.
27787         * modules/log10: New file.
27788         * modules/log1p: New file.
27789         * modules/logb: New file.
27790         * modules/modf: New file.
27791         * modules/nextafter: New file.
27792         * modules/pow: New file.
27793         * modules/remainder: New file.
27794         * modules/rint: New file.
27795         * modules/sin: New file.
27796         * modules/sinh: New file.
27797         * modules/sqrt: New file.
27798         * modules/tan: New file.
27799         * modules/tanh: New file.
27800         * modules/y0: New file.
27801         * modules/y1: New file.
27802         * modules/yn: New file.
27803         * doc/posix-functions/acos.texi: Mention the 'acos' module.
27804         * doc/posix-functions/asin.texi: Mention the 'asin' module.
27805         * doc/posix-functions/atan.texi: Mention the 'atan' module.
27806         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
27807         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
27808         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
27809         * doc/posix-functions/cos.texi: Mention the 'cos' module.
27810         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
27811         * doc/posix-functions/erf.texi: Mention the 'erf' module.
27812         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
27813         * doc/posix-functions/exp.texi: Mention the 'exp' module.
27814         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
27815         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
27816         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
27817         * doc/posix-functions/j0.texi: Mention the 'j0' module.
27818         * doc/posix-functions/j1.texi: Mention the 'j1' module.
27819         * doc/posix-functions/jn.texi: Mention the 'jn' module.
27820         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
27821         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
27822         * doc/posix-functions/log.texi: Mention the 'log' module.
27823         * doc/posix-functions/log10.texi: Mention the 'log10' module.
27824         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
27825         * doc/posix-functions/logb.texi: Mention the 'logb' module.
27826         * doc/posix-functions/modf.texi: Mention the 'modf' module.
27827         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
27828         * doc/posix-functions/pow.texi: Mention the 'pow' module.
27829         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
27830         * doc/posix-functions/rint.texi: Mention the 'rint' module.
27831         * doc/posix-functions/sin.texi: Mention the 'sin' module.
27832         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
27833         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
27834         * doc/posix-functions/tan.texi: Mention the 'tan' module.
27835         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
27836         * doc/posix-functions/y0.texi: Mention the 'y0' module.
27837         * doc/posix-functions/y1.texi: Mention the 'y1' module.
27838         * doc/posix-functions/yn.texi: Mention the 'yn' module.
27839
27840 2010-01-18  Jim Meyering  <meyering@redhat.com>
27841
27842         ignore-value: relax license to LGPLv2+
27843         * modules/ignore-value (License): Relax to LGPLv2+.
27844
27845         getdate: don't leak when TZ contains two or more '"'s
27846         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
27847         double quote in TZ after the first one.
27848
27849         readtokens: do not leak internal token_lengths buffer
27850         * lib/readtokens.c (readtokens): Free the local, lengths,
27851         when the supplied "token_lengths" parameter is NULL.
27852
27853 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27854
27855         Fix a couple of missing LIBTHREAD link failures on AIX.
27856         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
27857         $(LIBTHREAD).
27858         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
27859
27860         Link test-poll against INET_PTON_LIB.
27861         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
27862         for inet_pton on Solaris 10.
27863
27864 2010-01-17  Bruno Haible  <bruno@clisp.org>
27865
27866         unistdio/*-sprintf: Fix typo in module description.
27867         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
27868         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
27869         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
27870         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
27871         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
27872         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
27873         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
27874         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
27875
27876 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27877
27878         gnulib-tool: fix filelist for AIX, HP-UX ksh.
27879         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
27880         variables in shell case patterns, for AIX and HP-UX ksh.
27881
27882         Split large sed scripts, for HP-UX sed.
27883         * modules/stdio: Split sed scripts around 50 sed commands,
27884         to avoid HP-UX limit of 99 commands, in the near future.
27885         * modules/string: Likewise.
27886         * modules/unistd: Likewise.
27887
27888         gnulib-tool: avoid writing in the current directory.
27889         * gnulib-tool (func_emit_lib_Makefile_am)
27890         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
27891         not in the current directory, so concurrent gnulib-tool
27892         instances do not interfere.
27893
27894 2010-01-16  Jim Meyering  <meyering@redhat.com>
27895
27896         doc: update users.txt
27897         * users.txt: Add grep.
27898         (diffutils, gzip): Update URLs.
27899
27900 2010-01-12  Bruno Haible  <bruno@clisp.org>
27901
27902         posix_spawn: Avoid test failure on Cygwin.
27903         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
27904         characters.
27905         Reported by Simon Josefsson.
27906
27907 2010-01-12  Bruno Haible  <bruno@clisp.org>
27908
27909         * tests/test-cond.c (main): When skipping the test, show the reason.
27910
27911 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27912
27913         * lib/striconv.c (str_cd_iconv): Avoid if before free.
27914
27915 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27916
27917         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
27918         VC_LIST_ALWAYS_EXCLUDE_REGEX.
27919
27920 2010-01-12  Eric Blake  <ebb9@byu.net>
27921
27922         build: guarantee AS_VAR_IF
27923         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
27924         (gl_AS_VAR_IF): Move...
27925         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
27926         Reported by Simon Josefsson.
27927
27928 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27929
27930         * lib/stdio.in.h: Fix typo.
27931
27932 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27933
27934         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
27935         libgpg-error.
27936
27937 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27938
27939         * tests/test-xalloc-die.sh: Use $EXEEXT.
27940
27941 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27942             Bruno Haible  <bruno@clisp.org>
27943
27944         getlogin, getlogin_r: Avoid test failure.
27945         * tests/test-getlogin.c: Include <stdio.h>.
27946         (main): Skip the test when the function fails because stdin is not a
27947         tty.
27948         * tests/test-getlogin_r.c: Include <stdio.h>.
27949         (main): Skip the test when the function fails because stdin is not a
27950         tty.
27951
27952 2010-01-11  Eric Blake  <ebb9@byu.net>
27953
27954         tests: avoid more large file warnings
27955         * tests/test-fflush.c: Avoid warning about ftell use.
27956         * tests/test-fseek.c: Avoid warning about fseek use.
27957
27958 2010-01-10  Bruno Haible  <bruno@clisp.org>
27959
27960         nproc: Work better on Linux when /proc and /sys are not mounted.
27961         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
27962         as lower bound when, on glibc/Linux systems,
27963         sysconf (_SC_NPROCESSORS_CONF) returns 1.
27964         Suggested by Pádraig Brady <P@draigbrady.com>.
27965         Reported by Dmitry V. Levin <ldv@altlinux.org>.
27966
27967         nproc: Refactor.
27968         * lib/nproc.c (num_processors_via_affinity_mask): New function,
27969         extracted from num_processors.
27970         (num_processors): Call it.
27971
27972 2010-01-11  Jim Meyering  <meyering@redhat.com>
27973
27974         utimecmp: avoid new warning from upcoming gcc-4.5.0
27975         * lib/utimecmp.c (BILLION): Define using #define rather than an
27976         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
27977
27978 2010-01-11  Eric Blake  <ebb9@byu.net>
27979
27980         math: add portability warnings for classification macros
27981         * modules/math (Depends-on): Add warn-on-use.
27982         (Makefile.am): Provide new substitutions.
27983         * m4/math_h.m4 (gl_MATH_H): Require inline.
27984         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
27985         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
27986         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
27987         implement warnings.
27988
27989         unistd: warn on use of environ without module
27990         * modules/unistd (Depends-on): Add warn-on-use.
27991         (Makefile.am): Provide new substitutions.
27992         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
27993         * lib/unistd.in.h (environ): Wrap with a warning helper function.
27994
27995         stdio: warn on suspicious uses
27996         * modules/stdio (Depends-on): Add warn-on-use.
27997         (Makefile.am): Provide new substitutions.
27998         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
27999         fseeko.
28000         * lib/stdio.in.h (gets): Always warn on use.
28001         (fseek, ftell): Adjust when warnings are issued, and honor
28002         _GL_NO_LARGE_FILES as a way to silence the warning.
28003         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
28004         any warning about large file offsets.
28005         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
28006         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
28007         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
28008         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
28009         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
28010         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
28011         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
28012         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
28013
28014         warn-on-use: new module
28015         * modules/warn-on-use: New file.
28016         * build-aux/warn-on-use.h: Likewise.
28017         * m4/warn-on-use.m4: Likewise.
28018         * MODULES.html.sh (Support for building): Mention it.
28019
28020 2010-01-10  Bruno Haible  <bruno@clisp.org>
28021
28022         Tests for module 'unistr/u32-strdup'.
28023         * modules/unistr/u32-strdup-tests: New file.
28024         * tests/unistr/test-u32-strdup.c: New file.
28025
28026         Tests for module 'unistr/u16-strdup'.
28027         * modules/unistr/u16-strdup-tests: New file.
28028         * tests/unistr/test-u16-strdup.c: New file.
28029
28030         Tests for module 'unistr/u8-strdup'.
28031         * modules/unistr/u8-strdup-tests: New file.
28032         * tests/unistr/test-u8-strdup.c: New file.
28033         * tests/unistr/test-strdup.h: New file.
28034
28035         Tests for module 'unistr/u32-strncmp'.
28036         * modules/unistr/u32-strncmp-tests: New file.
28037         * tests/unistr/test-u32-strncmp.c: New file.
28038
28039         Tests for module 'unistr/u16-strncmp'.
28040         * modules/unistr/u16-strncmp-tests: New file.
28041         * tests/unistr/test-u16-strncmp.c: New file.
28042
28043         Tests for module 'unistr/u8-strncmp'.
28044         * modules/unistr/u8-strncmp-tests: New file.
28045         * tests/unistr/test-u8-strncmp.c: New file.
28046         * tests/unistr/test-strncmp.h: New file.
28047
28048         Tests for module 'unistr/u32-strcoll'.
28049         * modules/unistr/u32-strcoll-tests: New file.
28050         * tests/unistr/test-u32-strcoll.c: New file.
28051
28052         Tests for module 'unistr/u16-strcoll'.
28053         * modules/unistr/u16-strcoll-tests: New file.
28054         * tests/unistr/test-u16-strcoll.c: New file.
28055
28056         Tests for module 'unistr/u8-strcoll'.
28057         * modules/unistr/u8-strcoll-tests: New file.
28058         * tests/unistr/test-u8-strcoll.c: New file.
28059
28060         Tests for module 'unistr/u32-strcmp'.
28061         * modules/unistr/u32-strcmp-tests: New file.
28062         * tests/unistr/test-u32-strcmp.c: New file.
28063         * tests/unistr/test-u32-strcmp.h: New file.
28064
28065         Tests for module 'unistr/u16-strcmp'.
28066         * modules/unistr/u16-strcmp-tests: New file.
28067         * tests/unistr/test-u16-strcmp.c: New file.
28068         * tests/unistr/test-u16-strcmp.h: New file.
28069
28070         Tests for module 'unistr/u8-strcmp'.
28071         * modules/unistr/u8-strcmp-tests: New file.
28072         * tests/unistr/test-u8-strcmp.c: New file.
28073         * tests/unistr/test-u8-strcmp.h: New file.
28074         * tests/unistr/test-strcmp.h: New file.
28075
28076         Tests for module 'unistr/u32-strncat'.
28077         * modules/unistr/u32-strncat-tests: New file.
28078         * tests/unistr/test-u32-strncat.c: New file.
28079
28080         Tests for module 'unistr/u16-strncat'.
28081         * modules/unistr/u16-strncat-tests: New file.
28082         * tests/unistr/test-u16-strncat.c: New file.
28083
28084         Tests for module 'unistr/u8-strncat'.
28085         * modules/unistr/u8-strncat-tests: New file.
28086         * tests/unistr/test-u8-strncat.c: New file.
28087         * tests/unistr/test-strncat.h: New file.
28088
28089         Tests for module 'unistr/u32-strcat'.
28090         * modules/unistr/u32-strcat-tests: New file.
28091         * tests/unistr/test-u32-strcat.c: New file.
28092
28093         Tests for module 'unistr/u16-strcat'.
28094         * modules/unistr/u16-strcat-tests: New file.
28095         * tests/unistr/test-u16-strcat.c: New file.
28096
28097         Tests for module 'unistr/u8-strcat'.
28098         * modules/unistr/u8-strcat-tests: New file.
28099         * tests/unistr/test-u8-strcat.c: New file.
28100         * tests/unistr/test-strcat.h: New file.
28101
28102         Tests for module 'unistr/u32-stpncpy'.
28103         * modules/unistr/u32-stpncpy-tests: New file.
28104         * tests/unistr/test-u32-stpncpy.c: New file.
28105
28106         Tests for module 'unistr/u16-stpncpy'.
28107         * modules/unistr/u16-stpncpy-tests: New file.
28108         * tests/unistr/test-u16-stpncpy.c: New file.
28109
28110         Tests for module 'unistr/u8-stpncpy'.
28111         * modules/unistr/u8-stpncpy-tests: New file.
28112         * tests/unistr/test-u8-stpncpy.c: New file.
28113         * tests/unistr/test-stpncpy.h: New file.
28114
28115         Tests for module 'unistr/u32-strncpy'.
28116         * modules/unistr/u32-strncpy-tests: New file.
28117         * tests/unistr/test-u32-strncpy.c: New file.
28118
28119         Tests for module 'unistr/u16-strncpy'.
28120         * modules/unistr/u16-strncpy-tests: New file.
28121         * tests/unistr/test-u16-strncpy.c: New file.
28122
28123         Tests for module 'unistr/u8-strncpy'.
28124         * modules/unistr/u8-strncpy-tests: New file.
28125         * tests/unistr/test-u8-strncpy.c: New file.
28126         * tests/unistr/test-strncpy.h: New file.
28127
28128         Tests for module 'unistr/u32-stpcpy'.
28129         * modules/unistr/u32-stpcpy-tests: New file.
28130         * tests/unistr/test-u32-stpcpy.c: New file.
28131
28132         Tests for module 'unistr/u16-stpcpy'.
28133         * modules/unistr/u16-stpcpy-tests: New file.
28134         * tests/unistr/test-u16-stpcpy.c: New file.
28135
28136         Tests for module 'unistr/u8-stpcpy'.
28137         * modules/unistr/u8-stpcpy-tests: New file.
28138         * tests/unistr/test-u8-stpcpy.c: New file.
28139         * tests/unistr/test-stpcpy.h: New file.
28140
28141         Tests for module 'unistr/u32-strcpy'.
28142         * modules/unistr/u32-strcpy-tests: New file.
28143         * tests/unistr/test-u32-strcpy.c: New file.
28144
28145         Tests for module 'unistr/u16-strcpy'.
28146         * modules/unistr/u16-strcpy-tests: New file.
28147         * tests/unistr/test-u16-strcpy.c: New file.
28148
28149         Tests for module 'unistr/u8-strcpy'.
28150         * modules/unistr/u8-strcpy-tests: New file.
28151         * tests/unistr/test-u8-strcpy.c: New file.
28152         * tests/unistr/test-strcpy.h: New file.
28153
28154         Tests for module 'unistr/u32-strnlen'.
28155         * modules/unistr/u32-strnlen-tests: New file.
28156         * tests/unistr/test-u32-strnlen.c: New file.
28157
28158         Tests for module 'unistr/u16-strnlen'.
28159         * modules/unistr/u16-strnlen-tests: New file.
28160         * tests/unistr/test-u16-strnlen.c: New file.
28161
28162         Tests for module 'unistr/u8-strnlen'.
28163         * modules/unistr/u8-strnlen-tests: New file.
28164         * tests/unistr/test-u8-strnlen.c: New file.
28165         * tests/unistr/test-strnlen.h: New file.
28166
28167         Tests for module 'unistr/u32-strlen'.
28168         * modules/unistr/u32-strlen-tests: New file.
28169         * tests/unistr/test-u32-strlen.c: New file.
28170
28171         Tests for module 'unistr/u16-strlen'.
28172         * modules/unistr/u16-strlen-tests: New file.
28173         * tests/unistr/test-u16-strlen.c: New file.
28174
28175         Tests for module 'unistr/u8-strlen'.
28176         * modules/unistr/u8-strlen-tests: New file.
28177         * tests/unistr/test-u8-strlen.c: New file.
28178
28179         Tests for module 'unistr/u32-prev'.
28180         * modules/unistr/u32-prev-tests: New file.
28181         * tests/unistr/test-u32-prev.c: New file.
28182
28183         Tests for module 'unistr/u16-prev'.
28184         * modules/unistr/u16-prev-tests: New file.
28185         * tests/unistr/test-u16-prev.c: New file.
28186
28187         Tests for module 'unistr/u8-prev'.
28188         * modules/unistr/u8-prev-tests: New file.
28189         * tests/unistr/test-u8-prev.c: New file.
28190
28191         Tests for module 'unistr/u32-next'.
28192         * modules/unistr/u32-next-tests: New file.
28193         * tests/unistr/test-u32-next.c: New file.
28194
28195         Tests for module 'unistr/u16-next'.
28196         * modules/unistr/u16-next-tests: New file.
28197         * tests/unistr/test-u16-next.c: New file.
28198
28199         Tests for module 'unistr/u8-next'.
28200         * modules/unistr/u8-next-tests: New file.
28201         * tests/unistr/test-u8-next.c: New file.
28202
28203         Tests for module 'unistr/u32-strmbtouc'.
28204         * modules/unistr/u32-strmbtouc-tests: New file.
28205         * tests/unistr/test-u32-strmbtouc.c: New file.
28206
28207         Tests for module 'unistr/u16-strmbtouc'.
28208         * modules/unistr/u16-strmbtouc-tests: New file.
28209         * tests/unistr/test-u16-strmbtouc.c: New file.
28210
28211         Tests for module 'unistr/u8-strmbtouc'.
28212         * modules/unistr/u8-strmbtouc-tests: New file.
28213         * tests/unistr/test-u8-strmbtouc.c: New file.
28214
28215         Tests for module 'unistr/u32-strmblen'.
28216         * modules/unistr/u32-strmblen-tests: New file.
28217         * tests/unistr/test-u32-strmblen.c: New file.
28218
28219         Tests for module 'unistr/u16-strmblen'.
28220         * modules/unistr/u16-strmblen-tests: New file.
28221         * tests/unistr/test-u16-strmblen.c: New file.
28222
28223         Tests for module 'unistr/u8-strmblen'.
28224         * modules/unistr/u8-strmblen-tests: New file.
28225         * tests/unistr/test-u8-strmblen.c: New file.
28226
28227         Tests for module 'unistr/u32-cpy-alloc'.
28228         * modules/unistr/u32-cpy-alloc-tests: New file.
28229         * tests/unistr/test-u32-cpy-alloc.c: New file.
28230
28231         Tests for module 'unistr/u16-cpy-alloc'.
28232         * modules/unistr/u16-cpy-alloc-tests: New file.
28233         * tests/unistr/test-u16-cpy-alloc.c: New file.
28234
28235         Tests for module 'unistr/u8-cpy-alloc'.
28236         * modules/unistr/u8-cpy-alloc-tests: New file.
28237         * tests/unistr/test-u8-cpy-alloc.c: New file.
28238         * tests/unistr/test-cpy-alloc.h: New file.
28239
28240         Tests for module 'unistr/u32-mbsnlen'.
28241         * modules/unistr/u32-mbsnlen-tests: New file.
28242         * tests/unistr/test-u32-mbsnlen.c: New file.
28243
28244         Tests for module 'unistr/u16-mbsnlen'.
28245         * modules/unistr/u16-mbsnlen-tests: New file.
28246         * tests/unistr/test-u16-mbsnlen.c: New file.
28247
28248         Tests for module 'unistr/u8-mbsnlen'.
28249         * modules/unistr/u8-mbsnlen-tests: New file.
28250         * tests/unistr/test-u8-mbsnlen.c: New file.
28251
28252         Tests for module 'unistr/u32-chr'.
28253         * modules/unistr/u32-chr-tests: New file.
28254         * tests/unistr/test-u32-chr.c: New file.
28255
28256         Tests for module 'unistr/u16-chr'.
28257         * modules/unistr/u16-chr-tests: New file.
28258         * tests/unistr/test-u16-chr.c: New file.
28259
28260         Tests for module 'unistr/u8-chr'.
28261         * modules/unistr/u8-chr-tests: New file.
28262         * tests/unistr/test-u8-chr.c: New file.
28263         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
28264
28265         Tests for module 'unistr/u32-cmp2'.
28266         * modules/unistr/u32-cmp2-tests: New file.
28267         * tests/unistr/test-u32-cmp2.c: New file.
28268
28269         Tests for module 'unistr/u16-cmp2'.
28270         * modules/unistr/u16-cmp2-tests: New file.
28271         * tests/unistr/test-u16-cmp2.c: New file.
28272
28273         Tests for module 'unistr/u8-cmp2'.
28274         * modules/unistr/u8-cmp2-tests: New file.
28275         * tests/unistr/test-u8-cmp2.c: New file.
28276         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
28277
28278         Tests for module 'unistr/u32-cmp'.
28279         * modules/unistr/u32-cmp-tests: New file.
28280         * tests/unistr/test-u32-cmp.c: New file.
28281
28282         Tests for module 'unistr/u16-cmp'.
28283         * modules/unistr/u16-cmp-tests: New file.
28284         * tests/unistr/test-u16-cmp.c: New file.
28285
28286         Tests for module 'unistr/u8-cmp'.
28287         * modules/unistr/u8-cmp-tests: New file.
28288         * tests/unistr/test-u8-cmp.c: New file.
28289         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
28290
28291         Tests for module 'unistr/u32-set'.
28292         * modules/unistr/u32-set-tests: New file.
28293         * tests/unistr/test-u32-set.c: New file.
28294
28295         Tests for module 'unistr/u16-set'.
28296         * modules/unistr/u16-set-tests: New file.
28297         * tests/unistr/test-u16-set.c: New file.
28298
28299         Tests for module 'unistr/u8-set'.
28300         * modules/unistr/u8-set-tests: New file.
28301         * tests/unistr/test-u8-set.c: New file.
28302         * tests/unistr/test-set.h: New file.
28303
28304         Tests for module 'unistr/u32-move'.
28305         * modules/unistr/u32-move-tests: New file.
28306         * tests/unistr/test-u32-move.c: New file.
28307
28308         Tests for module 'unistr/u16-move'.
28309         * modules/unistr/u16-move-tests: New file.
28310         * tests/unistr/test-u16-move.c: New file.
28311
28312         Tests for module 'unistr/u8-move'.
28313         * modules/unistr/u8-move-tests: New file.
28314         * tests/unistr/test-u8-move.c: New file.
28315         * tests/unistr/test-move.h: New file.
28316
28317         Tests for module 'unistr/u32-cpy'.
28318         * modules/unistr/u32-cpy-tests: New file.
28319         * tests/unistr/test-u32-cpy.c: New file.
28320
28321         Tests for module 'unistr/u16-cpy'.
28322         * modules/unistr/u16-cpy-tests: New file.
28323         * tests/unistr/test-u16-cpy.c: New file.
28324
28325         Tests for module 'unistr/u8-cpy'.
28326         * modules/unistr/u8-cpy-tests: New file.
28327         * tests/unistr/test-u8-cpy.c: New file.
28328         * tests/unistr/test-cpy.h: New file.
28329
28330 2010-01-09  Bruno Haible  <bruno@clisp.org>
28331
28332         Tests for module 'unistr/u32-uctomb'.
28333         * modules/unistr/u32-uctomb-tests: New file.
28334         * tests/unistr/test-u32-uctomb.c: New file.
28335
28336         Tests for module 'unistr/u16-uctomb'.
28337         * modules/unistr/u16-uctomb-tests: New file.
28338         * tests/unistr/test-u16-uctomb.c: New file.
28339
28340         Tests for module 'unistr/u8-uctomb'.
28341         * modules/unistr/u8-uctomb-tests: New file.
28342         * tests/unistr/test-u8-uctomb.c: New file.
28343
28344         Tests for module 'unistr/u32-mbtoucr'.
28345         * modules/unistr/u32-mbtoucr-tests: New file.
28346         * tests/unistr/test-u32-mbtoucr.c: New file.
28347
28348         Tests for module 'unistr/u16-mbtoucr'.
28349         * modules/unistr/u16-mbtoucr-tests: New file.
28350         * tests/unistr/test-u16-mbtoucr.c: New file.
28351
28352         Tests for module 'unistr/u8-mbtoucr'.
28353         * modules/unistr/u8-mbtoucr-tests: New file.
28354         * tests/unistr/test-u8-mbtoucr.c: New file.
28355
28356         Tests for module 'unistr/u32-mbtouc'.
28357         * modules/unistr/u32-mbtouc-tests: New file.
28358         * tests/unistr/test-u32-mbtouc.c: New file.
28359
28360         Tests for module 'unistr/u16-mbtouc'.
28361         * modules/unistr/u16-mbtouc-tests: New file.
28362         * tests/unistr/test-u16-mbtouc.c: New file.
28363
28364         Tests for module 'unistr/u8-mbtouc'.
28365         * modules/unistr/u8-mbtouc-tests: New file.
28366         * tests/unistr/test-u8-mbtouc.c: New file.
28367
28368         Tests for module 'unistr/u32-mbtouc-unsafe'.
28369         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
28370         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
28371         * tests/unistr/test-u32-mbtouc.h: New file.
28372
28373         Tests for module 'unistr/u16-mbtouc-unsafe'.
28374         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
28375         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
28376         * tests/unistr/test-u16-mbtouc.h: New file.
28377
28378         Tests for module 'unistr/u8-mbtouc-unsafe'.
28379         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
28380         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
28381         * tests/unistr/test-u8-mbtouc.h: New file.
28382
28383         Tests for module 'unistr/u32-mblen'.
28384         * modules/unistr/u32-mblen-tests: New file.
28385         * tests/unistr/test-u32-mblen.c: New file.
28386
28387         Tests for module 'unistr/u16-mblen'.
28388         * modules/unistr/u16-mblen-tests: New file.
28389         * tests/unistr/test-u16-mblen.c: New file.
28390
28391         Tests for module 'unistr/u8-mblen'.
28392         * modules/unistr/u8-mblen-tests: New file.
28393         * tests/unistr/test-u8-mblen.c: New file.
28394
28395         Tests for module 'unistr/u32-to-u16'.
28396         * modules/unistr/u32-to-u16-tests: New file.
28397         * tests/unistr/test-u32-to-u16.c: New file.
28398
28399         Tests for module 'unistr/u32-to-u8'.
28400         * modules/unistr/u32-to-u8-tests: New file.
28401         * tests/unistr/test-u32-to-u8.c: New file.
28402
28403         Tests for module 'unistr/u16-to-u32'.
28404         * modules/unistr/u16-to-u32-tests: New file.
28405         * tests/unistr/test-u16-to-u32.c: New file.
28406
28407         Tests for module 'unistr/u16-to-u8'.
28408         * modules/unistr/u16-to-u8-tests: New file.
28409         * tests/unistr/test-u16-to-u8.c: New file.
28410
28411         Tests for module 'unistr/u8-to-u32'.
28412         * modules/unistr/u8-to-u32-tests: New file.
28413         * tests/unistr/test-u8-to-u32.c: New file.
28414
28415         Tests for module 'unistr/u8-to-u16'.
28416         * modules/unistr/u8-to-u16-tests: New file.
28417         * tests/unistr/test-u8-to-u16.c: New file.
28418
28419         Tests for module 'unistr/u32-check'.
28420         * modules/unistr/u32-check-tests: New file.
28421         * tests/unistr/test-u32-check.c: New file.
28422
28423         Tests for module 'unistr/u16-check'.
28424         * modules/unistr/u16-check-tests: New file.
28425         * tests/unistr/test-u16-check.c: New file.
28426
28427         Tests for module 'unistr/u8-check'.
28428         * modules/unistr/u8-check-tests: New file.
28429         * tests/unistr/test-u8-check.c: New file.
28430
28431         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
28432         (category_equals): New function.
28433         (main): Add more tests.
28434         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
28435
28436         * tests/unictype/test-bidi_byname.c (main): Add more tests.
28437
28438 2010-01-10  Bruno Haible  <bruno@clisp.org>
28439
28440         unistr/u*-strcoll: Try harder to distinguish different strings.
28441         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
28442         compare s1 and s2 to see if they are different.
28443
28444 2010-01-10  Bruno Haible  <bruno@clisp.org>
28445
28446         unistr/u*-stpncpy: Fix the return value.
28447         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
28448         description of the return value consistent with stpncpy in glibc.
28449         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
28450         written non-NUL unit.
28451
28452 2010-01-10  Bruno Haible  <bruno@clisp.org>
28453
28454         unistr/u*-next: Add missing dependencies.
28455         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
28456         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
28457         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
28458
28459 2010-01-10  Bruno Haible  <bruno@clisp.org>
28460
28461         unistr/u8-mbsnlen: Fix return value for incomplete character.
28462         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
28463         u8_mblen.
28464         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
28465         Remove unistr/u8-mblen.
28466         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
28467         u16_mblen.
28468         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
28469         Remove unistr/u16-mblen.
28470
28471 2010-01-10  Bruno Haible  <bruno@clisp.org>
28472
28473         wchar: Fix compilation error when <wchar.h> is used from coreutils.
28474         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
28475         Reported by Brian Gough <bjg@gnu.org> and
28476         Chris Clayton <chris2553@googlemail.com> via
28477         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
28478
28479 2010-01-09  Bruno Haible  <bruno@clisp.org>
28480
28481         unistr/u16-to-u32: Reject invalid input.
28482         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
28483         u16_mbtouc.
28484         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
28485         Remove unistr/u16-mbtouc.
28486
28487         unistr/u16-to-u8: Reject invalid input.
28488         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
28489         u16_mbtouc.
28490         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
28491         Remove unistr/u16-mbtouc.
28492
28493         unistr/u8-to-u32: Reject invalid input.
28494         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
28495         u8_mbtouc.
28496         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
28497         Remove unistr/u8-mbtouc.
28498
28499         unistr/u8-to-u16: Reject invalid input.
28500         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
28501         u8_mbtouc.
28502         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
28503         Remove unistr/u8-mbtouc.
28504
28505 2010-01-09  Bruno Haible  <bruno@clisp.org>
28506
28507         Tests for module 'getlogin'.
28508         * modules/getlogin-tests: New file.
28509         * tests/test-getlogin.c: New file.
28510
28511         New module 'getlogin'.
28512         * lib/unistd.in.h (getlogin): New declaration.
28513         * lib/getlogin.c: New file.
28514         * m4/getlogin.m4: New file.
28515         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
28516         HAVE_GETLOGIN.
28517         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
28518         HAVE_GETLOGIN.
28519         * modules/getlogin: New file.
28520         * doc/posix-functions/getlogin.texi: Mention the new module.
28521         Reported by John W. Eaton <jwe@gnu.org>.
28522
28523 2010-01-09  Bruno Haible  <bruno@clisp.org>
28524
28525         getlogin_r: Support for native Windows.
28526         * lib/getlogin_r.c: Include <windows.h>
28527         (getlogin_r): Implement for native Windows.
28528         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
28529         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
28530         via John W. Eaton <jwe@gnu.org>.
28531
28532 2010-01-09  Bruno Haible  <bruno@clisp.org>
28533
28534         getlogin_r: Small fixes.
28535         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
28536         succeeds.
28537         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
28538         before testing whether getlogin_r is declared. No need to set
28539         HAVE_DECL_GETLOGIN_R to 1.
28540         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
28541
28542 2010-01-09  Bruno Haible  <bruno@clisp.org>
28543
28544         * lib/unistd.in.h (getlogin_r): Add comment.
28545
28546 2010-01-09  Bruno Haible  <bruno@clisp.org>
28547
28548         Tests for module 'getlogin_r'.
28549         * modules/getlogin_r-tests: New file.
28550         * tests/test-getlogin_r.c: New file.
28551
28552 2010-01-09  Jim Meyering  <meyering@redhat.com>
28553
28554         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
28555         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
28556         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
28557
28558 2010-01-08  Simon Josefsson  <simon@josefsson.org>
28559
28560         * lib/dup2.c (rpl_dup2): Improve comment.
28561
28562 2010-01-08  Eric Blake  <ebb9@byu.net>
28563
28564         maint.mk: allow packages to add makefile @@ exceptions
28565         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
28566         (sc_makefile_check): Rename...
28567         (sc_makefile_at_at_check): ...to this, and use hook.
28568
28569         dup2: work around mingw bug
28570         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
28571         Reported by Simon Josefsson.
28572
28573 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
28574
28575         glob: Fix C++ compilation.
28576         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
28577         C++.
28578
28579 2010-01-07  Bruno Haible  <bruno@clisp.org>
28580
28581         Fix indentation of wctype.in.h, broken since 2007-01-06.
28582         * lib/wctype.in.h: Fix indentation of preprocessor directives.
28583
28584 2010-01-07  Bruno Haible  <bruno@clisp.org>
28585
28586         mbslen: Avoid collision with system function.
28587         * lib/string.in.h [MirBSD]: Include <wchar.h>.
28588         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
28589         * m4/mbslen.m4: New file.
28590         * modules/mbslen (Files): Add it.
28591         (configure.ac): Invoke gl_MBSLEN.
28592         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
28593         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
28594         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
28595         via Ian Beckwith <ianb@erislabs.net>.
28596
28597 2010-01-07  Bruno Haible  <bruno@clisp.org>
28598
28599         dirent: Document the last fix.
28600         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
28601
28602 2010-01-07  Bruno Haible  <bruno@clisp.org>
28603
28604         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
28605         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
28606         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
28607         va_list are defined.
28608         * doc/posix-headers/stdio.texi: Document the bug of missing types.
28609         Reported by Eric Blake.
28610
28611 2010-01-07  Bruno Haible  <bruno@clisp.org>
28612
28613         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
28614         * modules/xlist (Depends-on): Add 'list',
28615         * modules/xoset (Depends-on): Add 'oset'.
28616         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
28617
28618 2010-01-07  Bruno Haible  <bruno@clisp.org>
28619
28620         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
28621         * doc/posix-functions/strncasecmp.texi: Likewise.
28622
28623 2010-01-07  Bruno Haible  <bruno@clisp.org>
28624
28625         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
28626
28627 2010-01-07  John W. Eaton  <jwe@octave.org>
28628
28629         wctype: allow C++ use
28630         * lib/wctype.in.h: Add extern "C" block for C++.
28631
28632 2010-01-06  Eric Blake  <ebb9@byu.net>
28633
28634         maint.mk: detect incorrect GFDL usage
28635         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
28636
28637 2010-01-06  Jim Meyering  <meyering@redhat.com>
28638         and Eric Blake  <ebb9@byu.net>
28639
28640         maint.mk: ignore multi-line copyright in NEWS
28641         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
28642
28643 2010-01-06  Eric Blake  <ebb9@byu.net>
28644
28645         select: add missing dependency
28646         * modules/select-tests (Depends-on): Move sockets dependency...
28647         * modules/select (Depends-on): ...here.
28648         Reported by Ian Beckwith.
28649
28650         doc: regenerate INSTALL
28651         * doc/INSTALL: Reflect recent autoconf update.
28652         * doc/INSTALL.ISO: Likewise.
28653         * doc/INSTALL.UTF-8: Likewise.
28654
28655         pread: fix compilation on glibc
28656         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
28657         Reported by Ralf Wildenhues.
28658
28659         dirent: fix test failure
28660         * lib/dirent.in.h (includes): Guarantee ino_t.
28661         Reported by Ralf Wildenhues.
28662
28663 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
28664
28665         linkat, renameat: avoid bad free
28666         * lib/at-func2.c (at_func2): Fix typo.
28667         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
28668
28669 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28670
28671         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
28672         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
28673         to avoid failure of symlink test later.
28674
28675 2010-01-06  Eric Blake  <ebb9@byu.net>
28676
28677         stdio, unistd: guarantee ssize_t
28678         * lib/unistd.in.h (includes): Ensure that types required by POSIX
28679         2008 are exposed when needed.
28680         * lib/stdio.in.h (includes): Likewise.
28681         Reported by Ralf Wildenhues.
28682
28683 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
28684
28685         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
28686         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
28687         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
28688
28689 2010-01-06  Jim Meyering  <meyering@redhat.com>
28690
28691         readtokens: this module *does* require xalloc.h
28692         It uses only functions that were omitted by the old syntax-check rule.
28693         * lib/readtokens.c: Include "xalloc.h" once again.
28694         * modules/readtokens (Depends-on): Add xalloc.
28695         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
28696
28697 2010-01-05  Eric Blake  <ebb9@byu.net>
28698
28699         maint: support 'make announcement' from a VPATH build
28700         * top/maint.mk (announcement): Look for correct NEWS file.
28701
28702 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
28703
28704         utimens (fdutimens): ignore a negative FD, per contract
28705         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
28706         when we have a valid file descriptor.  Otherwise, using a brand
28707         new glibc (with just-patched futimens that now fails with EBADF)
28708         would cause this function to fail with ENOSYS.
28709         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
28710         See also http://bugzilla.redhat.com/552320.
28711
28712 2010-01-05  Eric Blake  <ebb9@byu.net>
28713
28714         strcase: document what it provides
28715         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
28716         gnulib module.
28717         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
28718         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
28719
28720 2010-01-05  Jim Meyering  <meyering@redhat.com>
28721
28722         maint: remove useless inclusions of "xalloc.h"
28723         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
28724         * lib/readtokens.c: Likewise.
28725         * lib/same.c: Likewise.
28726         * modules/getloadavg (Depends-on): Remove xalloc.
28727         * modules/readtokens: Likewise.
28728         * modules/same: Likewise.
28729
28730         maint.mk: include 4 more function names in alloca.h-checking regexp
28731         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
28732         regexp.  Before, we would give a false-positive (saying alloca.h
28733         is included unnecessarily) when the only uses involved omitted symbols.
28734
28735         xalloc.h: use consistent formatting
28736         * lib/xalloc.h: Move declarations to start in the first column.
28737
28738 2010-01-05  Eric Blake  <ebb9@byu.net>
28739
28740         mkdir: avoid xalloc
28741         * lib/mkdir.c (includes): Drop unused header.
28742         Reported by John W. Eaton.
28743
28744 2010-01-04  Jim Meyering  <meyering@redhat.com>
28745
28746         nl_langinfo: avoid configure-time syntax error
28747         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
28748         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
28749         the empty string.  Don't let that provoke a shell syntax error.
28750
28751         regcomp, regexec, fnmatch: avoid array bounds read error
28752         * lib/regcomp.c (build_equiv_class): From glibc:
28753         Use only the low 24 bits of a findidx return value as an index
28754         into the weights array.  Patch by Ulrich Drepper:
28755         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
28756         * lib/regexec.c (check_node_accept_bytes): Likewise.
28757         * lib/fnmatch_loop.c (FCT): Likewise.
28758
28759         regcomp: skip collseq lookup when there are no rules
28760         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
28761         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
28762
28763         regcomp: recognize ill-formed { } expressions
28764         * lib/regcomp.c (parse_dup_op): From glibc:
28765         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
28766
28767         regcomp: fix typo in comment
28768         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
28769         s/satisfy/satisfies/.
28770
28771         regcomp: sync from glibc: remove dead store
28772         * lib/regcomp.c (duplicate_node_closure): Remove useless
28773         search_duplicated_node call and dead store.
28774
28775         regcomp: sync from glibc; always use nl_langinfo
28776         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
28777         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
28778         * modules/regex (Depends-on): Add nl_langinfo.
28779
28780 2010-01-04  Eric Blake  <ebb9@byu.net>
28781
28782         fdopendir: fix configure test
28783         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
28784
28785 2010-01-01  Bruno Haible  <bruno@clisp.org>
28786
28787         wchar: Remove unused configure check.
28788         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
28789
28790 2010-01-01  Eric Blake  <ebb9@byu.net>
28791
28792         headers: make check of system header explicit
28793         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
28794         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
28795         ourselves.
28796         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
28797         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
28798         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
28799         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
28800         internals.
28801         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
28802         missing.
28803         Suggested by Bruno Haible.
28804
28805 2010-01-01  Jim Meyering  <meyering@redhat.com>
28806
28807         ChangeLog: tweak to eliminate unnecessary copyright line
28808         * ChangeLog: Remove a copyright line that was mistakenly updated
28809         by today's update-copyright run.  Reported by Eric Blake.
28810
28811         test-update-copyright: don't let envvar setting cause test failure
28812         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
28813
28814 2010-01-01  Bruno Haible  <bruno@clisp.org>
28815
28816         localename: Avoid gcc warning.
28817         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
28818         function if it is not used.
28819
28820 2010-01-01  Jim Meyering  <meyering@redhat.com>
28821
28822         update nearly all FSF copyright year lists to include 2010
28823         Use the same procedure as for 2009, outlined in
28824         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
28825
28826         version-etc: set COPYRIGHT_YEAR to 2010
28827         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
28828
28829 2009-12-31  Eric Blake  <ebb9@byu.net>
28830
28831         doc: correct availability of cygwin 1.5.x getopt
28832         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
28833         variables.
28834         * doc/posix-functions/opterr.texi (opterr): Likewise.
28835         * doc/posix-functions/optind.texi (optind): Likewise.
28836         * doc/posix-functions/optopt.texi (optopt): Likewise.
28837         * doc/posix-functions/tzname.texi (tzname): Likewise.
28838
28839         openat: update maintainer
28840         * modules/openat (Maintainer): Add myself.
28841
28842         utimens: avoid shadowing warning
28843         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
28844         buffers into one, to avoid shadowing, as well as avoiding a
28845         redundant stat.
28846         Reported by Jim Meyering.
28847
28848         test-dup2: avoid compiler warning
28849         * tests/test-dup2.c (is_inheritable): Only define if used.
28850
28851 2010-01-01  Bruno Haible  <bruno@clisp.org>
28852
28853         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
28854         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
28855         defined, use wctomb instead of wcrtomb.
28856
28857 2010-01-01  Bruno Haible  <bruno@clisp.org>
28858
28859         iconv: Reject native Solaris iconv.
28860         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
28861         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
28862
28863 2009-12-31  Bruno Haible  <bruno@clisp.org>
28864
28865         * tests/test-signal.c (main): Remove test of 'SIG'.
28866
28867 2009-12-31  Bruno Haible  <bruno@clisp.org>
28868
28869         spawn: Fix incomplete fix.
28870         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
28871         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
28872         warnings for GNULIB_POSIXCHECK again.
28873         Reported by Eric Blake.
28874
28875 2009-12-31  Bruno Haible  <bruno@clisp.org>
28876
28877         Avoid namespace pollution on glibc systems.
28878         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
28879         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
28880         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
28881         glibc systems.
28882
28883 2009-12-31  Bruno Haible  <bruno@clisp.org>
28884
28885         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
28886         (gl_REPLACE_WCHAR_H): Turn into a no-op.
28887         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
28888         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
28889         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
28890         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
28891         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
28892
28893 2009-12-31  Bruno Haible  <bruno@clisp.org>
28894
28895         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
28896         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
28897         afterwards.
28898
28899 2009-12-31  Bruno Haible  <bruno@clisp.org>
28900
28901         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
28902         SYS_UTSNAME_H.
28903
28904 2009-12-31  Bruno Haible  <bruno@clisp.org>
28905
28906         spawn: Fix misapplied patch.
28907         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
28908         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
28909         warnings for GNULIB_POSIXCHECK.
28910
28911 2009-12-31  Bruno Haible  <bruno@clisp.org>
28912
28913         times: Update after sys_times changed.
28914         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
28915         * modules/times (Files): Add it.
28916         (configure.ac): Invoke gl_FUNC_TIMES.
28917
28918 2009-12-31  Bruno Haible  <bruno@clisp.org>
28919
28920         Use AC_C_INLINE where necessary.
28921         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
28922         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
28923         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
28924         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
28925         * m4/mbfile.m4 (gl_MBFILE): Likewise.
28926         * m4/mbiter.m4 (gl_MBITER): Likewise.
28927         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
28928         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
28929         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
28930         * modules/u64 (configure.ac): Likewise.
28931
28932 2009-12-31  Bruno Haible  <bruno@clisp.org>
28933
28934         Use AC_C_INLINE instead of module 'inline' where possible.
28935         * modules/inline (Description): Clarify purpose.
28936         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
28937         * modules/count-one-bits (Depends-on): Remove inline.
28938         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
28939         * modules/openat (Depends-on): Remove inline.
28940         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
28941         instead of depending on module 'inline'.
28942         * modules/filevercmp (Depends-on, configure.ac): Likewise.
28943         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
28944         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
28945         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
28946         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
28947         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
28948         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
28949         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
28950         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
28951         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
28952         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
28953         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
28954         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
28955         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
28956         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
28957         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
28958         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
28959         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
28960         Likewise.
28961         * modules/unictype/property-ascii-hex-digit (Depends-on,
28962         configure.ac): Likewise.
28963         * modules/unictype/property-bidi-arabic-digit (Depends-on,
28964         configure.ac): Likewise.
28965         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
28966         configure.ac): Likewise.
28967         * modules/unictype/property-bidi-block-separator (Depends-on,
28968         configure.ac): Likewise.
28969         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
28970         configure.ac): Likewise.
28971         * modules/unictype/property-bidi-common-separator (Depends-on,
28972         configure.ac): Likewise.
28973         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
28974         Likewise.
28975         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
28976         configure.ac): Likewise.
28977         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
28978         configure.ac): Likewise.
28979         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
28980         configure.ac): Likewise.
28981         * modules/unictype/property-bidi-european-digit (Depends-on,
28982         configure.ac): Likewise.
28983         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
28984         configure.ac): Likewise.
28985         * modules/unictype/property-bidi-left-to-right (Depends-on,
28986         configure.ac): Likewise.
28987         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
28988         configure.ac): Likewise.
28989         * modules/unictype/property-bidi-other-neutral (Depends-on,
28990         configure.ac): Likewise.
28991         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
28992         Likewise.
28993         * modules/unictype/property-bidi-segment-separator (Depends-on,
28994         configure.ac): Likewise.
28995         * modules/unictype/property-bidi-whitespace (Depends-on,
28996         configure.ac): Likewise.
28997         * modules/unictype/property-combining (Depends-on, configure.ac):
28998         Likewise.
28999         * modules/unictype/property-composite (Depends-on, configure.ac):
29000         Likewise.
29001         * modules/unictype/property-currency-symbol (Depends-on,
29002         configure.ac): Likewise.
29003         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
29004         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
29005         Likewise.
29006         * modules/unictype/property-default-ignorable-code-point (Depends-on,
29007         configure.ac): Likewise.
29008         * modules/unictype/property-deprecated (Depends-on, configure.ac):
29009         Likewise.
29010         * modules/unictype/property-diacritic (Depends-on, configure.ac):
29011         Likewise.
29012         * modules/unictype/property-extender (Depends-on, configure.ac):
29013         Likewise.
29014         * modules/unictype/property-format-control (Depends-on, configure.ac):
29015         Likewise.
29016         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
29017         Likewise.
29018         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
29019         Likewise.
29020         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
29021         Likewise.
29022         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
29023         Likewise.
29024         * modules/unictype/property-hyphen (Depends-on, configure.ac):
29025         Likewise.
29026         * modules/unictype/property-id-continue (Depends-on, configure.ac):
29027         Likewise.
29028         * modules/unictype/property-id-start (Depends-on, configure.ac):
29029         Likewise.
29030         * modules/unictype/property-ideographic (Depends-on, configure.ac):
29031         Likewise.
29032         * modules/unictype/property-ids-binary-operator (Depends-on,
29033         configure.ac): Likewise.
29034         * modules/unictype/property-ids-trinary-operator (Depends-on,
29035         configure.ac): Likewise.
29036         * modules/unictype/property-ignorable-control (Depends-on,
29037         configure.ac): Likewise.
29038         * modules/unictype/property-iso-control (Depends-on, configure.ac):
29039         Likewise.
29040         * modules/unictype/property-join-control (Depends-on, configure.ac):
29041         Likewise.
29042         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
29043         Likewise.
29044         * modules/unictype/property-line-separator (Depends-on, configure.ac):
29045         Likewise.
29046         * modules/unictype/property-logical-order-exception (Depends-on,
29047         configure.ac): Likewise.
29048         * modules/unictype/property-lowercase (Depends-on, configure.ac):
29049         Likewise.
29050         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
29051         * modules/unictype/property-non-break (Depends-on, configure.ac):
29052         Likewise.
29053         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
29054         Likewise.
29055         * modules/unictype/property-numeric (Depends-on, configure.ac):
29056         Likewise.
29057         * modules/unictype/property-other-alphabetic (Depends-on,
29058         configure.ac): Likewise.
29059         * modules/unictype/property-other-default-ignorable-code-point
29060         (Depends-on, configure.ac): Likewise.
29061         * modules/unictype/property-other-grapheme-extend (Depends-on,
29062         configure.ac): Likewise.
29063         * modules/unictype/property-other-id-continue (Depends-on,
29064         configure.ac): Likewise.
29065         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
29066         Likewise.
29067         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
29068         Likewise.
29069         * modules/unictype/property-other-math (Depends-on, configure.ac):
29070         Likewise.
29071         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
29072         Likewise.
29073         * modules/unictype/property-paired-punctuation (Depends-on,
29074         configure.ac): Likewise.
29075         * modules/unictype/property-paragraph-separator (Depends-on,
29076         configure.ac): Likewise.
29077         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
29078         Likewise.
29079         * modules/unictype/property-pattern-white-space (Depends-on,
29080         configure.ac): Likewise.
29081         * modules/unictype/property-private-use (Depends-on, configure.ac):
29082         Likewise.
29083         * modules/unictype/property-punctuation (Depends-on, configure.ac):
29084         Likewise.
29085         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
29086         Likewise.
29087         * modules/unictype/property-radical (Depends-on, configure.ac):
29088         Likewise.
29089         * modules/unictype/property-sentence-terminal (Depends-on,
29090         configure.ac): Likewise.
29091         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
29092         Likewise.
29093         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
29094         * modules/unictype/property-terminal-punctuation (Depends-on,
29095         configure.ac): Likewise.
29096         * modules/unictype/property-titlecase (Depends-on, configure.ac):
29097         Likewise.
29098         * modules/unictype/property-unassigned-code-value (Depends-on,
29099         configure.ac): Likewise.
29100         * modules/unictype/property-unified-ideograph (Depends-on,
29101         configure.ac): Likewise.
29102         * modules/unictype/property-uppercase (Depends-on, configure.ac):
29103         Likewise.
29104         * modules/unictype/property-variation-selector (Depends-on,
29105         configure.ac): Likewise.
29106         * modules/unictype/property-white-space (Depends-on, configure.ac):
29107         Likewise.
29108         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
29109         Likewise.
29110         * modules/unictype/property-xid-start (Depends-on, configure.ac):
29111         Likewise.
29112         * modules/unictype/property-zero-width (Depends-on, configure.ac):
29113         Likewise.
29114         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
29115         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
29116         Likewise.
29117
29118 2009-12-31  Bruno Haible  <bruno@clisp.org>
29119
29120         Remove unnecessary AC_C_INLINE invocation.
29121         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
29122         since 2009-08-21.
29123
29124 2009-12-31  Jim Meyering  <meyering@redhat.com>
29125
29126         maint.mk: don't require explicit gpg_key_ID in cfg.mk
29127         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
29128         With this change, we can all remove the gpg_key_ID = ... definition
29129         from our respective cfg.mk files.
29130
29131         maint.mk: create announcement template in ~/, not in /tmp
29132         * top/maint.mk (emit_upload_commands): Adjust.
29133         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
29134         Remove temporary file, .ci-msg.
29135
29136 2009-12-31  Eric Blake  <ebb9@byu.net>
29137
29138         link-warning: always build headers with link warnings
29139         * modules/arpa_inet (Makefile.am): Always build replacement
29140         header.
29141         * modules/ctype (Makefile.am): Likewise.
29142         * modules/dirent (Makefile.am): Likewise.
29143         * modules/inttypes (Makefile.am): Likewise.
29144         * modules/langinfo (Makefile.am): Likewise.
29145         * modules/locale (Makefile.am): Likewise.
29146         * modules/spawn (Makefile.am): Likewise.
29147         * modules/sys_file (Makefile.am): Likewise.
29148         * modules/sys_ioctl (Makefile.am): Likewise.
29149         * modules/sys_select (Makefile.am): Likewise.
29150         * modules/sys_socket (Makefile.am): Likewise.
29151         * modules/sys_times (Makefile.am): Likewise.
29152         * modules/sys_utsname (Makefile.am): Likewise.
29153         * modules/sys_wait (Makefile.am): Likewise.
29154         * modules/wchar (Makefile.am): Likewise.
29155         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
29156         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
29157         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
29158         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
29159         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
29160         Likewise.
29161         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
29162         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
29163         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
29164         Likewise.
29165         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
29166         Likewise.
29167         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
29168         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
29169         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
29170         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
29171         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
29172         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
29173         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
29174         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
29175         (gl_WCHAR_H_DEFAULTS): Likewise.
29176
29177 2009-12-31  Eric Blake  <ebb9@byu.net>
29178
29179         signal, spawn: use link warnings
29180         * lib/signal.in.h (sigset_t): Make unconditional.
29181         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
29182         (sigpending, sigprocmask, sigaction): Add link warnings.
29183         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
29184         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
29185         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
29186         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
29187         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
29188         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
29189         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
29190         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
29191         (posix_spawn_file_actions_destroy)
29192         (posix_spawn_file_actions_addopen)
29193         (posix_spawn_file_actions_addclose)
29194         (posix_spawn_file_actions_adddup2): Likewise.
29195         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
29196         * tests/test-signal.c (main): Enhance test.
29197
29198         spawn: improve wrapper support
29199         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
29200         (gl_SPAWN_H_DEFAULTS): New defaults.
29201         * modules/spawn (Makefile.am): Substitute them.
29202         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
29203         Only declare if missing or broken.
29204
29205         sys_times, sys_utsname: use include_next
29206         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
29207         header.
29208         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
29209         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
29210         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
29211         * modules/sys_times (Depends-on): Add include_next.
29212         (Makefile.am): Substitute additional values.
29213         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
29214         * lib/sys_times.in.h (includes): Include native header, if
29215         available.
29216         * lib/sys_utsname.in.h (includes): Likewise.
29217         * tests/test-sys_times.c (main): Enhance test.
29218
29219         fdutimensat: revert prior patch
29220         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
29221         utimens.h.
29222         Reported by Bruno Haible.
29223
29224 2009-12-30  Eric Blake  <ebb9@byu.net>
29225
29226         sys_wait: drop link-warning dependency
29227         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
29228         link-warning efforts.
29229         * lib/sys_wait.in.h: Likewise.
29230
29231         fdutimensat: remove bogus dependency
29232         * modules/fdutimensat (Depends-on): Drop inline.
29233
29234         unistd: fix typo
29235         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
29236
29237 2009-12-30  Bruno Haible  <bruno@clisp.org>
29238
29239         Fix compilation error with Solaris cc.
29240         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
29241         * lib/unicase/u16-is-invariant.c: Likewise.
29242         * lib/unicase/u32-is-invariant.c: Likewise.
29243         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
29244
29245 2009-12-30  Bruno Haible  <bruno@clisp.org>
29246
29247         Fix test crash.
29248         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
29249         locales.
29250         Reported by Simon Josefsson <simon@josefsson.org>.
29251
29252 2009-12-30  Bruno Haible  <bruno@clisp.org>
29253
29254         Fix compilation error on most platforms.
29255         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
29256         Reported by Simon Josefsson <simon@josefsson.org>
29257         and Nelson H. F. Beebe <beebe@math.utah.edu>.
29258
29259 2009-12-30  Eric Blake  <ebb9@byu.net>
29260
29261         futimens, utimensat: work around ntfs-3g bug
29262         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
29263         a ctime bug is present, and expand workaround to cover ntfs-3g.
29264         * lib/utimens.c (fdutimens, lutimens): Likewise.
29265         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
29266         (validate_timespec): Adjust return value.
29267         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
29268         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
29269         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
29270
29271 2009-12-29  Eric Blake  <ebb9@byu.net>
29272
29273         link-warning: make usage consistent
29274         * modules/ctype (Depends-on): Add link-warning.
29275         (Makefile.am): Update rules accordingly.
29276         * modules/langinfo (Depends-on, Makefile.am): Likewise.
29277         * modules/locale (Depends-on, Makefile.am): Likewise.
29278         * modules/sys_file (Makefile.am): Likewise.
29279         * modules/getopt-posix (Makefile.am): Delete unused link warning
29280         efforts.
29281         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
29282         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
29283         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
29284         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
29285
29286         stdio: remove unused variables
29287         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
29288         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
29289         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
29290
29291         tests: test more substitute headers
29292         * modules/ctype-tests: New file.
29293         * modules/dirent-tests: Likewise.
29294         * modules/spawn-tests: Likewise.
29295         * modules/sys_file-tests: Likewise.
29296         * modules/sys_ioctl-tests: Likewise.
29297         * modules/sys_wait-tests: Likewise.
29298         * tests/test-ctype.c: Likewise.
29299         * tests/test-dirent.c: Likewise.
29300         * tests/test-spawn.c: Likewise.
29301         * tests/test-sys_file.c: Likewise.
29302         * tests/test-sys_ioctl.c: Likewise.
29303         * tests/test-sys_wait.c: Likewise.
29304         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
29305         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
29306         whether or not flock is in use.
29307
29308         tests: remove License section from module
29309         * modules/arpa_inet-tests: Remove unneeded section.
29310         * modules/byteswap-tests: Likewise.
29311         * modules/ceilf-tests: Likewise.
29312         * modules/ceill-tests: Likewise.
29313         * modules/crypto/des-tests: Likewise.
29314         * modules/crypto/gc-arcfour-tests: Likewise.
29315         * modules/crypto/gc-arctwo-tests: Likewise.
29316         * modules/crypto/gc-des-tests: Likewise.
29317         * modules/crypto/gc-hmac-md5-tests: Likewise.
29318         * modules/crypto/gc-hmac-sha1-tests: Likewise.
29319         * modules/crypto/gc-md2-tests: Likewise.
29320         * modules/crypto/gc-md4-tests: Likewise.
29321         * modules/crypto/gc-md5-tests: Likewise.
29322         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
29323         * modules/crypto/gc-rijndael-tests: Likewise.
29324         * modules/crypto/gc-sha1-tests: Likewise.
29325         * modules/crypto/gc-tests: Likewise.
29326         * modules/crypto/md2-tests: Likewise.
29327         * modules/crypto/md4-tests: Likewise.
29328         * modules/fcntl-h-tests: Likewise.
29329         * modules/floorf-tests: Likewise.
29330         * modules/floorl-tests: Likewise.
29331         * modules/frexp-nolibm-tests: Likewise.
29332         * modules/frexp-tests: Likewise.
29333         * modules/frexpl-nolibm-tests: Likewise.
29334         * modules/frexpl-tests: Likewise.
29335         * modules/getaddrinfo-tests: Likewise.
29336         * modules/inttypes-tests: Likewise.
29337         * modules/isfinite-tests: Likewise.
29338         * modules/isinf-tests: Likewise.
29339         * modules/ldexpl-tests: Likewise.
29340         * modules/locale-tests: Likewise.
29341         * modules/math-tests: Likewise.
29342         * modules/netdb-tests: Likewise.
29343         * modules/netinet_in-tests: Likewise.
29344         * modules/printf-frexp-tests: Likewise.
29345         * modules/printf-frexpl-tests: Likewise.
29346         * modules/priv-set-tests: Likewise.
29347         * modules/random_r-tests: Likewise.
29348         * modules/round-tests: Likewise.
29349         * modules/roundf-tests: Likewise.
29350         * modules/roundl-tests: Likewise.
29351         * modules/search-tests: Likewise.
29352         * modules/select-tests: Likewise.
29353         * modules/signal-tests: Likewise.
29354         * modules/stdbool-tests: Likewise.
29355         * modules/stddef-tests: Likewise.
29356         * modules/stdint-tests: Likewise.
29357         * modules/stdio-tests: Likewise.
29358         * modules/stdlib-tests: Likewise.
29359         * modules/string-tests: Likewise.
29360         * modules/strings-tests: Likewise.
29361         * modules/sys_select-tests: Likewise.
29362         * modules/sys_socket-tests: Likewise.
29363         * modules/sys_stat-tests: Likewise.
29364         * modules/sys_time-tests: Likewise.
29365         * modules/sys_utsname-tests: Likewise.
29366         * modules/sysexits-tests: Likewise.
29367         * modules/time-tests: Likewise.
29368         * modules/trunc-tests: Likewise.
29369         * modules/truncf-tests: Likewise.
29370         * modules/truncl-tests: Likewise.
29371         * modules/tsearch-tests: Likewise.
29372         * modules/unistd-tests: Likewise.
29373         * modules/wchar-tests: Likewise.
29374         * modules/wctype-tests: Likewise.
29375
29376         tests: fix license on several tests
29377         * tests/test-des.c: Update to GPLv3+.
29378         * tests/test-flock.c: Likewise.
29379         * tests/test-fsync.c: Likewise.
29380         * tests/test-futimens.h: Likewise.
29381         * tests/test-gc-arcfour.c: Likewise.
29382         * tests/test-gc-arctwo.c: Likewise.
29383         * tests/test-gc-des.c: Likewise.
29384         * tests/test-gc-hmac-md5.c: Likewise.
29385         * tests/test-gc-hmac-sha1.c: Likewise.
29386         * tests/test-gc-md2.c: Likewise.
29387         * tests/test-gc-md4.c: Likewise.
29388         * tests/test-gc-md5.c: Likewise.
29389         * tests/test-gc-pbkdf2-sha1.c: Likewise.
29390         * tests/test-gc-rijndael.c: Likewise.
29391         * tests/test-gc-sha1.c: Likewise.
29392         * tests/test-gc.c: Likewise.
29393         * tests/test-getcwd.c: Likewise.
29394         * tests/test-link.c: Likewise.
29395         * tests/test-link.h: Likewise.
29396         * tests/test-lutimens.h: Likewise.
29397         * tests/test-md2.c: Likewise.
29398         * tests/test-md4.c: Likewise.
29399         * tests/test-mkdir.h: Likewise.
29400         * tests/test-rename.c: Likewise.
29401         * tests/test-rename.h: Likewise.
29402         * tests/test-safe-alloc.c: Likewise.
29403         * tests/test-utimens-common.h: Likewise.
29404         * tests/test-utimens.h: Likewise.
29405
29406         maint: sync license texts
29407         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
29408         * doc/gpl-3.0.texi: Revert copyright year update.
29409         * doc/lgpl-3.0.texi: Likewise.
29410
29411 2009-12-29  Jim Meyering  <meyering@redhat.com>
29412
29413         update nearly all FSF copyright year lists to include 2009
29414         The files named by the following are exempted:
29415             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
29416               test -f "$dst" && { echo "$dst"; continue; }
29417               test -d "$dst" || continue
29418               echo "$dst"/$(basename "$src")
29419             done > exempt
29420             git ls-files tests/unictype >> exempt
29421         In the remaining files, convert to all-interval notation if
29422         - there is already at least one year interval like 2000-2003
29423         - the file is maintained by me
29424         - the file is in lib/uni*/, where that style already prevails
29425         Otherwise, use update-copyright's default.
29426
29427 2009-12-29  Simon Josefsson  <simon@josefsson.org>
29428         and Eric Blake  <ebb9@byu.net>
29429
29430         tests: don't require debug system() to pass
29431         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
29432         * tests/test-rmdir.h (test_rmdir_func): Likewise.
29433         * tests/test-unlink.h (test_unlink_func): Likewise.
29434         * tests/test-fstatat.c (main): ...into callers.
29435         * tests/test-lstat.c (main): Likewise.
29436         * tests/test-rmdir.c (main): Likewise.
29437         * tests/test-unlink.c (main): Likewise.
29438         * tests/test-unlinkat.c (main): Likewise.
29439         * tests/test-areadlink-with-size.c (main): Don't require a
29440         debug-only system call to pass, aiding cross-testing to mingw.
29441         * tests/test-areadlink.c (main): Likewise.
29442         * tests/test-areadlinkat-with-size.c (main): Likewise.
29443         * tests/test-areadlinkat.c (main): Likewise.
29444         * tests/test-canonicalize-lgpl.c (main): Likewise.
29445         * tests/test-canonicalize.c (main): Likewise.
29446         * tests/test-chown.c (main): Likewise.
29447         * tests/test-fchownat.c (main): Likewise.
29448         * tests/test-lchown.c (main): Likewise.
29449         * tests/test-fdutimensat.c (main): Likewise.
29450         * tests/test-futimens.c (main): Likewise.
29451         * tests/test-link.c (main): Likewise.
29452         * tests/test-linkat.c (main): Likewise.
29453         * tests/test-mkdir.c (main): Likewise.
29454         * tests/test-mkdirat.c (main): Likewise.
29455         * tests/test-mkfifo.c (main): Likewise.
29456         * tests/test-mkfifoat.c (main): Likewise.
29457         * tests/test-mknod.c (main): Likewise.
29458         * tests/test-readlink.c (main): Likewise.
29459         * tests/test-remove.c (main): Likewise.
29460         * tests/test-rename.c (main): Likewise.
29461         * tests/test-renameat.c (main): Likewise.
29462         * tests/test-symlink.c (main): Likewise.
29463         * tests/test-symlinkat.c (main): Likewise.
29464         * tests/test-utimens.c (main): Likewise.
29465         * tests/test-utimensat.c (main): Likewise.
29466
29467 2009-12-29  Simon Josefsson  <simon@josefsson.org>
29468
29469         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
29470         on $(UNUSED_PARAMETER_H) to avoid build failure.
29471
29472 2009-12-28  Jim Meyering  <meyering@redhat.com>
29473
29474         update-copyright: you may specify a max. line length other than 72
29475         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
29476
29477         maint: use consistent FSF copyright line syntax
29478         * lib/posixtm.c: Add missing comma in FSF copyright line.
29479         * lib/posixtm.h: Likewise.
29480         * lib/getugroups.c: Add missing ", Inc.".
29481
29482         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
29483         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
29484         FSF copyright line.  Remove trailing blanks.
29485
29486 2009-12-28  Eric Blake  <ebb9@byu.net>
29487
29488         test-dup2: reduce dependencies
29489         * modules/cloexec (Configure.ac): Set witness.
29490         * modules/dup2-tests (Depends-on): Drop cloexec.
29491         * tests/test-dup2.c (main): Skip portion of test if cloexec module
29492         not present.
29493         Suggested by Bruno Haible.
29494
29495 2009-12-26  Bruno Haible  <bruno@clisp.org>
29496
29497         Remove an unneeded dependency.
29498         * modules/fseterr (Depends-on): Remove dup2.
29499
29500 2009-12-26  Eric Blake  <ebb9@byu.net>
29501
29502         tests: use macros.h in more places
29503         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
29504         (ASSERT_STREAM): Provide default of stderr.
29505         * tests/test-dirent-safer.c: Include macros.h, using alternate
29506         stream for assertions.
29507         * tests/test-dup-safer.c: Likewise.
29508         * tests/test-freopen-safer.c: Likewise.
29509         * tests/test-getopt.c: Likewise.
29510         * tests/test-openat-safer.c: Likewise.
29511         * tests/test-pipe.c: Likewise.
29512         * tests/test-popen-safer.c: Likewise.
29513         * modules/dirent-safer-tests (Files): Include macros.h.
29514         * modules/unistd-safer-tests (Files): Likewise.
29515         * modules/freopen-safer-tests (Files): Likewise.
29516         * modules/getopt-posix-tests (Files): Likewise.
29517         * modules/openat-safer-tests (Files): Likewise.
29518         * modules/pipe-tests (Files): Likewise.
29519
29520 2009-12-26  Bruno Haible  <bruno@clisp.org>
29521
29522         javacomp: Portability fix.
29523         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
29524         that it also works on Solaris.
29525
29526 2009-12-26  Bruno Haible  <bruno@clisp.org>
29527
29528         localename: Fix storage allocation of gl_locale_name_thread's result.
29529         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
29530         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
29531         all platforms that have 'uselocale'.
29532         (gl_locale_name_thread_unsafe): New function, extracted from
29533         gl_locale_name_thread.
29534         (gl_locale_name_thread): Call struniq on all platforms that have
29535         'uselocale'.
29536         * tests/test-localename.c (test_locale_name_thread): Check that the
29537         resulting strings are permanently allocated.
29538         * modules/localename-tests (Depends-on): Add strdup.
29539
29540 2009-12-26  Bruno Haible  <bruno@clisp.org>
29541
29542         * tests/test-localename.c (categories): Fill in the strings.
29543
29544 2009-12-26  Jim Meyering  <meyering@redhat.com>
29545
29546         isdir: complete the removal of m4/isdir.m4
29547         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
29548
29549         isdir: clean up, since at least grep still uses it
29550         * lib/isdir.c: Include "isdir.h".
29551         (S_ISDIR): Remove now-unneeded definition.
29552         * modules/isdir (Files): Add lib/isdir.h.
29553         * lib/isdir.h: New file, with declaration.
29554         * m4/isdir.m4: Remove file -- unneeded.
29555
29556 2009-12-25  Bruno Haible  <bruno@clisp.org>
29557
29558         selinux-h: Make generated .h files standalone.
29559         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
29560         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
29561         * lib/se-selinux.in.h: Likewise.
29562         * modules/selinux-h (Depends-on): Add unused-parameter.
29563         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
29564         selinux/selinux.h and selinux/context.h.
29565         Suggested by Eric Blake.
29566
29567 2009-12-25  Bruno Haible  <bruno@clisp.org>
29568
29569         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
29570         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
29571         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
29572         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
29573         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
29574
29575 2009-12-24  Bruno Haible  <bruno@clisp.org>
29576
29577         openat: Fix warning.
29578         * lib/openat-proc.c: Include <unistd.h>.
29579
29580 2009-12-24  Bruno Haible  <bruno@clisp.org>
29581
29582         New module 'unused-parameter'.
29583         * build-aux/unused-parameter.h: New file, extracted from earlier
29584         gnulib-common.m4.
29585         * modules/unused-parameter: New file.
29586         * lib/unistr.h: Include unused-parameter.h.
29587         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
29588         _GL_UNUSED.
29589         * modules/unistr/base (Depends-on): Add unused-parameter.
29590
29591 2009-12-24  Bruno Haible  <bruno@clisp.org>
29592
29593         Add missing dependencies to 'extensions' module.
29594         * m4/extensions.m4: Add comment.
29595         * modules/accept4 (Depends-on): Add extensions.
29596         * modules/dup3 (Depends-on): Likewise.
29597         * modules/fcntl (Depends-on): Likewise.
29598         * modules/futimens (Depends-on): Likewise.
29599         * modules/mknod (Depends-on): Likewise.
29600         * modules/pipe2 (Depends-on): Likewise.
29601         * modules/stat-time (Depends-on): Likewise.
29602         * modules/strcasestr-simple (Depends-on): Likewise.
29603         * modules/strsignal (Depends-on): Likewise.
29604         * modules/utimensat (Depends-on): Likewise.
29605         * modules/localcharset (Depends-on): Likewise. Needed because of
29606         gl_FCNTL_O_FLAGS.
29607         * modules/wcrtomb (Depends-on): Likewise. Needed because of
29608         AC_TYPE_MBSTATE_T.
29609         * modules/wcsnrtombs (Depends-on): Likewise.
29610         * modules/wcsrtombs (Depends-on): Likewise.
29611
29612 2009-12-24  Bruno Haible  <bruno@clisp.org>
29613
29614         binary-io: Avoid gcc warning due to SET_BINARY.
29615         * lib/binary-io.h (SET_BINARY): Cast the result to void.
29616         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
29617
29618 2009-12-24  Bruno Haible  <bruno@clisp.org>
29619
29620         Avoid future namespace pollution on glibc systems.
29621         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
29622         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
29623         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
29624         glibc systems.
29625
29626 2009-12-24  Bruno Haible  <bruno@clisp.org>
29627
29628         Refactor common macros used in tests.
29629         * tests/macros.h: New file.
29630         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
29631         and/or <stdlib.h>, if appropriate.
29632         (ASSERT, SIZEOF): Remove macros.
29633         * tests/test-areadlink-with-size.c: Likewise.
29634         * tests/test-areadlinkat.c: Likewise.
29635         * tests/test-areadlinkat-with-size.c: Likewise.
29636         * tests/test-argmatch.c: Likewise.
29637         * tests/test-argv-iter.c: Likewise.
29638         * tests/test-array-mergesort.c: Likewise.
29639         * tests/test-array_list.c: Likewise.
29640         * tests/test-array_oset.c: Likewise.
29641         * tests/test-avltree_list.c: Likewise.
29642         * tests/test-avltree_oset.c: Likewise.
29643         * tests/test-avltreehash_list.c: Likewise.
29644         * tests/test-base64.c: Likewise.
29645         * tests/test-binary-io.c: Likewise.
29646         * tests/test-bitrotate.c: Likewise.
29647         * tests/test-btowc.c: Likewise.
29648         * tests/test-byteswap.c: Likewise.
29649         * tests/test-c-ctype.c: Likewise.
29650         * tests/test-c-stack.c: Likewise.
29651         * tests/test-c-strcasecmp.c: Likewise.
29652         * tests/test-c-strcasestr.c: Likewise.
29653         * tests/test-c-strncasecmp.c: Likewise.
29654         * tests/test-c-strstr.c: Likewise.
29655         * tests/test-canonicalize-lgpl.c: Likewise.
29656         * tests/test-canonicalize.c: Likewise.
29657         * tests/test-carray_list.c: Likewise.
29658         * tests/test-ceilf1.c: Likewise.
29659         * tests/test-ceilf2.c: Likewise.
29660         * tests/test-ceill.c: Likewise.
29661         * tests/test-chown.c: Likewise.
29662         * tests/test-cloexec.c: Likewise.
29663         * tests/test-copy-acl.c: Likewise.
29664         * tests/test-copy-file.c: Likewise.
29665         * tests/test-count-one-bits.c: Likewise.
29666         * tests/test-dprintf-posix.c: Likewise.
29667         * tests/test-dup2.c: Likewise.
29668         * tests/test-dup3.c: Likewise.
29669         * tests/test-duplocale.c: Likewise.
29670         * tests/test-fbufmode.c: Likewise.
29671         * tests/test-fchdir.c: Likewise.
29672         * tests/test-fchownat.c: Likewise.
29673         * tests/test-fcntl-safer.c: Likewise.
29674         * tests/test-fcntl.c: Likewise.
29675         * tests/test-fdopendir.c: Likewise.
29676         * tests/test-fdutimensat.c: Likewise.
29677         * tests/test-fflush2.c: Likewise.
29678         * tests/test-file-has-acl.c: Likewise.
29679         * tests/test-filevercmp.c: Likewise.
29680         * tests/test-flock.c: Likewise.
29681         * tests/test-floorf1.c: Likewise.
29682         * tests/test-floorf2.c: Likewise.
29683         * tests/test-floorl.c: Likewise.
29684         * tests/test-fnmatch.c: Likewise.
29685         * tests/test-fopen.h: Likewise.
29686         * tests/test-fpending.c: Likewise.
29687         * tests/test-fprintf-posix.c: Likewise.
29688         * tests/test-fpurge.c: Likewise.
29689         * tests/test-freadable.c: Likewise.
29690         * tests/test-freadahead.c: Likewise.
29691         * tests/test-freading.c: Likewise.
29692         * tests/test-freadptr.c: Likewise.
29693         * tests/test-freadptr2.c: Likewise.
29694         * tests/test-freadseek.c: Likewise.
29695         * tests/test-freopen.c: Likewise.
29696         * tests/test-frexp.c: Likewise.
29697         * tests/test-frexpl.c: Likewise.
29698         * tests/test-fseek.c: Likewise.
29699         * tests/test-fseeko.c: Likewise.
29700         * tests/test-fstatat.c: Likewise.
29701         * tests/test-fstrcmp.c: Likewise.
29702         * tests/test-fsync.c: Likewise.
29703         * tests/test-ftell.c: Likewise.
29704         * tests/test-ftello.c: Likewise.
29705         * tests/test-func.c: Likewise.
29706         * tests/test-futimens.c: Likewise.
29707         * tests/test-fwritable.c: Likewise.
29708         * tests/test-fwriting.c: Likewise.
29709         * tests/test-getcwd.c: Likewise.
29710         * tests/test-getdate.c: Likewise.
29711         * tests/test-getdelim.c: Likewise.
29712         * tests/test-getdtablesize.c: Likewise.
29713         * tests/test-getgroups.c: Likewise.
29714         * tests/test-getline.c: Likewise.
29715         * tests/test-getndelim2.c: Likewise.
29716         * tests/test-glob.c: Likewise.
29717         * tests/test-hash.c: Likewise.
29718         * tests/test-i-ring.c: Likewise.
29719         * tests/test-iconv-utf.c: Likewise.
29720         * tests/test-iconv.c: Likewise.
29721         * tests/test-idpriv-drop.c: Likewise.
29722         * tests/test-idpriv-droptemp.c: Likewise.
29723         * tests/test-inet_ntop.c: Likewise.
29724         * tests/test-inet_pton.c: Likewise.
29725         * tests/test-isblank.c: Likewise.
29726         * tests/test-isfinite.c: Likewise.
29727         * tests/test-isinf.c: Likewise.
29728         * tests/test-isnan.c: Likewise.
29729         * tests/test-isnand.h: Likewise.
29730         * tests/test-isnanf.h: Likewise.
29731         * tests/test-isnanl.h: Likewise.
29732         * tests/test-lchown.c: Likewise.
29733         * tests/test-ldexpl.c: Likewise.
29734         * tests/test-link.c: Likewise.
29735         * tests/test-linkat.c: Likewise.
29736         * tests/test-linked_list.c: Likewise.
29737         * tests/test-linkedhash_list.c: Likewise.
29738         * tests/test-localename.c: Likewise.
29739         * tests/test-lseek.c: Likewise.
29740         * tests/test-lstat.c: Likewise.
29741         * tests/test-mbmemcasecmp.c: Likewise.
29742         * tests/test-mbmemcasecoll.c: Likewise.
29743         * tests/test-mbrtowc.c: Likewise.
29744         * tests/test-mbscasecmp.c: Likewise.
29745         * tests/test-mbscasestr1.c: Likewise.
29746         * tests/test-mbscasestr2.c: Likewise.
29747         * tests/test-mbscasestr3.c: Likewise.
29748         * tests/test-mbscasestr4.c: Likewise.
29749         * tests/test-mbschr.c: Likewise.
29750         * tests/test-mbscspn.c: Likewise.
29751         * tests/test-mbsinit.c: Likewise.
29752         * tests/test-mbsncasecmp.c: Likewise.
29753         * tests/test-mbsnrtowcs.c: Likewise.
29754         * tests/test-mbspbrk.c: Likewise.
29755         * tests/test-mbspcasecmp.c: Likewise.
29756         * tests/test-mbsrchr.c: Likewise.
29757         * tests/test-mbsrtowcs.c: Likewise.
29758         * tests/test-mbsspn.c: Likewise.
29759         * tests/test-mbsstr1.c: Likewise.
29760         * tests/test-mbsstr2.c: Likewise.
29761         * tests/test-mbsstr3.c: Likewise.
29762         * tests/test-memchr.c: Likewise.
29763         * tests/test-memchr2.c: Likewise.
29764         * tests/test-memcmp.c: Likewise.
29765         * tests/test-memmem.c: Likewise.
29766         * tests/test-memrchr.c: Likewise.
29767         * tests/test-mkdir.c: Likewise.
29768         * tests/test-mkdirat.c: Likewise.
29769         * tests/test-mkfifo.c: Likewise.
29770         * tests/test-mkfifoat.c: Likewise.
29771         * tests/test-mknod.c: Likewise.
29772         * tests/test-nanosleep.c: Likewise.
29773         * tests/test-nl_langinfo.c: Likewise.
29774         * tests/test-obstack-printf.c: Likewise.
29775         * tests/test-open.c: Likewise.
29776         * tests/test-openat.c: Likewise.
29777         * tests/test-pipe-filter-gi1.c: Likewise.
29778         * tests/test-pipe-filter-gi2-main.c: Likewise.
29779         * tests/test-pipe-filter-ii1.c: Likewise.
29780         * tests/test-pipe-filter-ii2-main.c: Likewise.
29781         * tests/test-pipe2.c: Likewise.
29782         * tests/test-popen.h: Likewise.
29783         * tests/test-posixtm.c: Likewise.
29784         * tests/test-pread.c: Likewise.
29785         * tests/test-printf-frexp.c: Likewise.
29786         * tests/test-printf-frexpl.c: Likewise.
29787         * tests/test-printf-posix.c: Likewise.
29788         * tests/test-priv-set.c: Likewise.
29789         * tests/test-quotearg.c: Likewise.
29790         * tests/test-random_r.c: Likewise.
29791         * tests/test-rawmemchr.c: Likewise.
29792         * tests/test-rbtree_list.c: Likewise.
29793         * tests/test-rbtree_oset.c: Likewise.
29794         * tests/test-rbtreehash_list.c: Likewise.
29795         * tests/test-readlink.c: Likewise.
29796         * tests/test-remove.c: Likewise.
29797         * tests/test-rename.c: Likewise.
29798         * tests/test-renameat.c: Likewise.
29799         * tests/test-rmdir.c: Likewise.
29800         * tests/test-round1.c: Likewise.
29801         * tests/test-roundf1.c: Likewise.
29802         * tests/test-roundl.c: Likewise.
29803         * tests/test-safe-alloc.c: Likewise.
29804         * tests/test-sameacls.c: Likewise.
29805         * tests/test-set-mode-acl.c: Likewise.
29806         * tests/test-setenv.c: Likewise.
29807         * tests/test-sigaction.c: Likewise.
29808         * tests/test-signbit.c: Likewise.
29809         * tests/test-sleep.c: Likewise.
29810         * tests/test-snprintf-posix.c: Likewise.
29811         * tests/test-snprintf.c: Likewise.
29812         * tests/test-sprintf-posix.c: Likewise.
29813         * tests/test-stat-time.c: Likewise.
29814         * tests/test-stat.c: Likewise.
29815         * tests/test-strcasestr.c: Likewise.
29816         * tests/test-strchrnul.c: Likewise.
29817         * tests/test-strerror.c: Likewise.
29818         * tests/test-striconv.c: Likewise.
29819         * tests/test-striconveh.c: Likewise.
29820         * tests/test-striconveha.c: Likewise.
29821         * tests/test-strsignal.c: Likewise.
29822         * tests/test-strstr.c: Likewise.
29823         * tests/test-strtod.c: Likewise.
29824         * tests/test-strverscmp.c: Likewise.
29825         * tests/test-symlink.c: Likewise.
29826         * tests/test-symlinkat.c: Likewise.
29827         * tests/test-trunc1.c: Likewise.
29828         * tests/test-trunc2.c: Likewise.
29829         * tests/test-truncf1.c: Likewise.
29830         * tests/test-truncf2.c: Likewise.
29831         * tests/test-truncl.c: Likewise.
29832         * tests/test-uname.c: Likewise.
29833         * tests/test-unlink.c: Likewise.
29834         * tests/test-unlinkat.c: Likewise.
29835         * tests/test-unsetenv.c: Likewise.
29836         * tests/test-usleep.c: Likewise.
29837         * tests/test-utimens.c: Likewise.
29838         * tests/test-utimensat.c: Likewise.
29839         * tests/test-vasnprintf-posix.c: Likewise.
29840         * tests/test-vasnprintf-posix2.c: Likewise.
29841         * tests/test-vasnprintf.c: Likewise.
29842         * tests/test-vasprintf-posix.c: Likewise.
29843         * tests/test-vasprintf.c: Likewise.
29844         * tests/test-vdprintf-posix.c: Likewise.
29845         * tests/test-vfprintf-posix.c: Likewise.
29846         * tests/test-vprintf-posix.c: Likewise.
29847         * tests/test-vsnprintf-posix.c: Likewise.
29848         * tests/test-vsnprintf.c: Likewise.
29849         * tests/test-vsprintf-posix.c: Likewise.
29850         * tests/test-wcrtomb.c: Likewise.
29851         * tests/test-wcsnrtombs.c: Likewise.
29852         * tests/test-wcsrtombs.c: Likewise.
29853         * tests/test-wctype.c: Likewise.
29854         * tests/test-wcwidth.c: Likewise.
29855         * tests/test-xfprintf-posix.c: Likewise.
29856         * tests/test-xmemdup0.c: Likewise.
29857         * tests/test-xprintf-posix.c: Likewise.
29858         * tests/test-xvasprintf.c: Likewise.
29859         * tests/unicase/test-locale-language.c: Likewise.
29860         * tests/unicase/test-mapping-part1.h: Likewise.
29861         * tests/unicase/test-predicate-part1.h: Likewise.
29862         * tests/unicase/test-u8-casecmp.c: Likewise.
29863         * tests/unicase/test-u8-casecoll.c: Likewise.
29864         * tests/unicase/test-u8-casefold.c: Likewise.
29865         * tests/unicase/test-u8-is-cased.c: Likewise.
29866         * tests/unicase/test-u8-is-casefolded.c: Likewise.
29867         * tests/unicase/test-u8-is-lowercase.c: Likewise.
29868         * tests/unicase/test-u8-is-titlecase.c: Likewise.
29869         * tests/unicase/test-u8-is-uppercase.c: Likewise.
29870         * tests/unicase/test-u8-tolower.c: Likewise.
29871         * tests/unicase/test-u8-totitle.c: Likewise.
29872         * tests/unicase/test-u8-toupper.c: Likewise.
29873         * tests/unicase/test-u16-casecmp.c: Likewise.
29874         * tests/unicase/test-u16-casecoll.c: Likewise.
29875         * tests/unicase/test-u16-casefold.c: Likewise.
29876         * tests/unicase/test-u16-is-cased.c: Likewise.
29877         * tests/unicase/test-u16-is-casefolded.c: Likewise.
29878         * tests/unicase/test-u16-is-lowercase.c: Likewise.
29879         * tests/unicase/test-u16-is-titlecase.c: Likewise.
29880         * tests/unicase/test-u16-is-uppercase.c: Likewise.
29881         * tests/unicase/test-u16-tolower.c: Likewise.
29882         * tests/unicase/test-u16-totitle.c: Likewise.
29883         * tests/unicase/test-u16-toupper.c: Likewise.
29884         * tests/unicase/test-u32-casecmp.c: Likewise.
29885         * tests/unicase/test-u32-casecoll.c: Likewise.
29886         * tests/unicase/test-u32-casefold.c: Likewise.
29887         * tests/unicase/test-u32-is-cased.c: Likewise.
29888         * tests/unicase/test-u32-is-casefolded.c: Likewise.
29889         * tests/unicase/test-u32-is-lowercase.c: Likewise.
29890         * tests/unicase/test-u32-is-titlecase.c: Likewise.
29891         * tests/unicase/test-u32-is-uppercase.c: Likewise.
29892         * tests/unicase/test-u32-tolower.c: Likewise.
29893         * tests/unicase/test-u32-totitle.c: Likewise.
29894         * tests/unicase/test-u32-toupper.c: Likewise.
29895         * tests/unicase/test-ulc-casecmp.c: Likewise.
29896         * tests/unicase/test-ulc-casecoll.c: Likewise.
29897         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
29898         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
29899         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
29900         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
29901         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
29902         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
29903         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
29904         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
29905         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
29906         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
29907         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
29908         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
29909         * tests/unictype/test-bidi_byname.c: Likewise.
29910         * tests/unictype/test-bidi_name.c: Likewise.
29911         * tests/unictype/test-bidi_of.c: Likewise.
29912         * tests/unictype/test-bidi_test.c: Likewise.
29913         * tests/unictype/test-block_list.c: Likewise.
29914         * tests/unictype/test-block_of.c: Likewise.
29915         * tests/unictype/test-block_test.c: Likewise.
29916         * tests/unictype/test-categ_and.c: Likewise.
29917         * tests/unictype/test-categ_and_not.c: Likewise.
29918         * tests/unictype/test-categ_byname.c: Likewise.
29919         * tests/unictype/test-categ_name.c: Likewise.
29920         * tests/unictype/test-categ_none.c: Likewise.
29921         * tests/unictype/test-categ_of.c: Likewise.
29922         * tests/unictype/test-categ_or.c: Likewise.
29923         * tests/unictype/test-categ_test_withtable.c: Likewise.
29924         * tests/unictype/test-combining.c: Likewise.
29925         * tests/unictype/test-decdigit.c: Likewise.
29926         * tests/unictype/test-digit.c: Likewise.
29927         * tests/unictype/test-mirror.c: Likewise.
29928         * tests/unictype/test-numeric.c: Likewise.
29929         * tests/unictype/test-pr_byname.c: Likewise.
29930         * tests/unictype/test-pr_test.c: Likewise.
29931         * tests/unictype/test-predicate-part1.h: Likewise.
29932         * tests/unictype/test-scripts.c: Likewise.
29933         * tests/unictype/test-sy_c_ident.c: Likewise.
29934         * tests/unictype/test-sy_java_ident.c: Likewise.
29935         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
29936         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
29937         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
29938         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
29939         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
29940         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
29941         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
29942         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
29943         * tests/uninorm/test-canonical-decomposition.c: Likewise.
29944         * tests/uninorm/test-compat-decomposition.c: Likewise.
29945         * tests/uninorm/test-composition.c: Likewise.
29946         * tests/uninorm/test-decomposing-form.c: Likewise.
29947         * tests/uninorm/test-decomposition.c: Likewise.
29948         * tests/uninorm/test-u8-nfc.c: Likewise.
29949         * tests/uninorm/test-u8-nfd.c: Likewise.
29950         * tests/uninorm/test-u8-nfkc.c: Likewise.
29951         * tests/uninorm/test-u8-nfkd.c: Likewise.
29952         * tests/uninorm/test-u8-normcmp.c: Likewise.
29953         * tests/uninorm/test-u8-normcoll.c: Likewise.
29954         * tests/uninorm/test-u16-nfc.c: Likewise.
29955         * tests/uninorm/test-u16-nfd.c: Likewise.
29956         * tests/uninorm/test-u16-nfkc.c: Likewise.
29957         * tests/uninorm/test-u16-nfkd.c: Likewise.
29958         * tests/uninorm/test-u16-normcmp.c: Likewise.
29959         * tests/uninorm/test-u16-normcoll.c: Likewise.
29960         * tests/uninorm/test-u32-nfc.c: Likewise.
29961         * tests/uninorm/test-u32-nfd.c: Likewise.
29962         * tests/uninorm/test-u32-nfkc.c: Likewise.
29963         * tests/uninorm/test-u32-nfkd.c: Likewise.
29964         * tests/uninorm/test-u32-normalize-big.c: Likewise.
29965         * tests/uninorm/test-u32-normcmp.c: Likewise.
29966         * tests/uninorm/test-u32-normcoll.c: Likewise.
29967         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
29968         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
29969         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
29970         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
29971         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
29972         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
29973         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
29974         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
29975         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
29976         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
29977         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
29978         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
29979         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
29980         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
29981         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
29982         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
29983         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
29984         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
29985         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
29986         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
29987         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
29988         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
29989         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
29990         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
29991         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
29992         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
29993         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
29994         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
29995         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
29996         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
29997         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
29998         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
29999         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
30000         * tests/uniwidth/test-u8-strwidth.c: Likewise.
30001         * tests/uniwidth/test-u8-width.c: Likewise.
30002         * tests/uniwidth/test-u16-strwidth.c: Likewise.
30003         * tests/uniwidth/test-u16-width.c: Likewise.
30004         * tests/uniwidth/test-u32-strwidth.c: Likewise.
30005         * tests/uniwidth/test-u32-width.c: Likewise.
30006         * tests/uniwidth/test-uc_width.c: Likewise.
30007         * tests/uniwidth/test-uc_width2.c: Likewise.
30008         * modules/acl-tests (Files): Add tests/macros.h.
30009         * modules/areadlink-tests (Files): Likewise.
30010         * modules/areadlink-with-size-tests (Files): Likewise.
30011         * modules/areadlinkat-tests (Files): Likewise.
30012         * modules/areadlinkat-with-size-tests (Files): Likewise.
30013         * modules/argmatch-tests (Files): Likewise.
30014         * modules/argv-iter-tests (Files): Likewise.
30015         * modules/array-list-tests (Files): Likewise.
30016         * modules/array-mergesort-tests (Files): Likewise.
30017         * modules/array-oset-tests (Files): Likewise.
30018         * modules/avltree-list-tests (Files): Likewise.
30019         * modules/avltree-oset-tests (Files): Likewise.
30020         * modules/avltreehash-list-tests (Files): Likewise.
30021         * modules/base64-tests (Files): Likewise.
30022         * modules/binary-io-tests (Files): Likewise.
30023         * modules/bitrotate-tests (Files): Likewise.
30024         * modules/btowc-tests (Files): Likewise.
30025         * modules/byteswap-tests (Files): Likewise.
30026         * modules/c-ctype-tests (Files): Likewise.
30027         * modules/c-stack-tests (Files): Likewise.
30028         * modules/c-strcase-tests (Files): Likewise.
30029         * modules/c-strcasestr-tests (Files): Likewise.
30030         * modules/c-strstr-tests (Files): Likewise.
30031         * modules/canonicalize-lgpl-tests (Files): Likewise.
30032         * modules/canonicalize-tests (Files): Likewise.
30033         * modules/carray-list-tests (Files): Likewise.
30034         * modules/ceilf-tests (Files): Likewise.
30035         * modules/ceill-tests (Files): Likewise.
30036         * modules/chown-tests (Files): Likewise.
30037         * modules/cloexec-tests (Files): Likewise.
30038         * modules/copy-file-tests (Files): Likewise.
30039         * modules/count-one-bits-tests (Files): Likewise.
30040         * modules/dprintf-posix-tests (Files): Likewise.
30041         * modules/dup2-tests (Files): Likewise.
30042         * modules/dup3-tests (Files): Likewise.
30043         * modules/duplocale-tests (Files): Likewise.
30044         * modules/fbufmode-tests (Files): Likewise.
30045         * modules/fchdir-tests (Files): Likewise.
30046         * modules/fcntl-safer-tests (Files): Likewise.
30047         * modules/fcntl-tests (Files): Likewise.
30048         * modules/fdopendir-tests (Files): Likewise.
30049         * modules/fdutimensat-tests (Files): Likewise.
30050         * modules/fflush-tests (Files): Likewise.
30051         * modules/filevercmp-tests (Files): Likewise.
30052         * modules/flock-tests (Files): Likewise.
30053         * modules/floorf-tests (Files): Likewise.
30054         * modules/floorl-tests (Files): Likewise.
30055         * modules/fnmatch-tests (Files): Likewise.
30056         * modules/fopen-safer-tests (Files): Likewise.
30057         * modules/fopen-tests (Files): Likewise.
30058         * modules/fpending-tests (Files): Likewise.
30059         * modules/fprintf-posix-tests (Files): Likewise.
30060         * modules/fpurge-tests (Files): Likewise.
30061         * modules/freadable-tests (Files): Likewise.
30062         * modules/freadahead-tests (Files): Likewise.
30063         * modules/freading-tests (Files): Likewise.
30064         * modules/freadptr-tests (Files): Likewise.
30065         * modules/freadseek-tests (Files): Likewise.
30066         * modules/freopen-tests (Files): Likewise.
30067         * modules/frexp-nolibm-tests (Files): Likewise.
30068         * modules/frexp-tests (Files): Likewise.
30069         * modules/frexpl-nolibm-tests (Files): Likewise.
30070         * modules/frexpl-tests (Files): Likewise.
30071         * modules/fseek-tests (Files): Likewise.
30072         * modules/fseeko-tests (Files): Likewise.
30073         * modules/fstrcmp-tests (Files): Likewise.
30074         * modules/fsync-tests (Files): Likewise.
30075         * modules/ftell-tests (Files): Likewise.
30076         * modules/ftello-tests (Files): Likewise.
30077         * modules/func-tests (Files): Likewise.
30078         * modules/futimens-tests (Files): Likewise.
30079         * modules/fwritable-tests (Files): Likewise.
30080         * modules/fwriting-tests (Files): Likewise.
30081         * modules/getcwd-tests (Files): Likewise.
30082         * modules/getdate-tests (Files): Likewise.
30083         * modules/getdelim-tests (Files): Likewise.
30084         * modules/getdtablesize-tests (Files): Likewise.
30085         * modules/getgroups-tests (Files): Likewise.
30086         * modules/getline-tests (Files): Likewise.
30087         * modules/getndelim2-tests (Files): Likewise.
30088         * modules/glob-tests (Files): Likewise.
30089         * modules/hash-tests (Files): Likewise.
30090         * modules/i-ring-tests (Files): Likewise.
30091         * modules/iconv-tests (Files): Likewise.
30092         * modules/iconv_open-utf-tests (Files): Likewise.
30093         * modules/idpriv-drop-tests (Files): Likewise.
30094         * modules/idpriv-droptemp-tests (Files): Likewise.
30095         * modules/inet_ntop-tests (Files): Likewise.
30096         * modules/inet_pton-tests (Files): Likewise.
30097         * modules/isblank-tests (Files): Likewise.
30098         * modules/isfinite-tests (Files): Likewise.
30099         * modules/isinf-tests (Files): Likewise.
30100         * modules/isnan-tests (Files): Likewise.
30101         * modules/isnand-nolibm-tests (Files): Likewise.
30102         * modules/isnand-tests (Files): Likewise.
30103         * modules/isnanf-nolibm-tests (Files): Likewise.
30104         * modules/isnanf-tests (Files): Likewise.
30105         * modules/isnanl-nolibm-tests (Files): Likewise.
30106         * modules/isnanl-tests (Files): Likewise.
30107         * modules/lchown-tests (Files): Likewise.
30108         * modules/ldexpl-tests (Files): Likewise.
30109         * modules/link-tests (Files): Likewise.
30110         * modules/linkat-tests (Files): Likewise.
30111         * modules/linked-list-tests (Files): Likewise.
30112         * modules/linkedhash-list-tests (Files): Likewise.
30113         * modules/localename-tests (Files): Likewise.
30114         * modules/lseek-tests (Files): Likewise.
30115         * modules/lstat-tests (Files): Likewise.
30116         * modules/mbmemcasecmp-tests (Files): Likewise.
30117         * modules/mbmemcasecoll-tests (Files): Likewise.
30118         * modules/mbrtowc-tests (Files): Likewise.
30119         * modules/mbscasecmp-tests (Files): Likewise.
30120         * modules/mbscasestr-tests (Files): Likewise.
30121         * modules/mbschr-tests (Files): Likewise.
30122         * modules/mbscspn-tests (Files): Likewise.
30123         * modules/mbsinit-tests (Files): Likewise.
30124         * modules/mbsncasecmp-tests (Files): Likewise.
30125         * modules/mbsnrtowcs-tests (Files): Likewise.
30126         * modules/mbspbrk-tests (Files): Likewise.
30127         * modules/mbspcasecmp-tests (Files): Likewise.
30128         * modules/mbsrchr-tests (Files): Likewise.
30129         * modules/mbsrtowcs-tests (Files): Likewise.
30130         * modules/mbsspn-tests (Files): Likewise.
30131         * modules/mbsstr-tests (Files): Likewise.
30132         * modules/memchr-tests (Files): Likewise.
30133         * modules/memchr2-tests (Files): Likewise.
30134         * modules/memcmp-tests (Files): Likewise.
30135         * modules/memmem-tests (Files): Likewise.
30136         * modules/memrchr-tests (Files): Likewise.
30137         * modules/mkdir-tests (Files): Likewise.
30138         * modules/mkfifo-tests (Files): Likewise.
30139         * modules/mkfifoat-tests (Files): Likewise.
30140         * modules/mknod-tests (Files): Likewise.
30141         * modules/nanosleep-tests (Files): Likewise.
30142         * modules/nl_langinfo-tests (Files): Likewise.
30143         * modules/obstack-printf-tests (Files): Likewise.
30144         * modules/open-tests (Files): Likewise.
30145         * modules/openat-tests (Files): Likewise.
30146         * modules/pipe-filter-gi-tests (Files): Likewise.
30147         * modules/pipe-filter-ii-tests (Files): Likewise.
30148         * modules/pipe2-tests (Files): Likewise.
30149         * modules/popen-safer-tests (Files): Likewise.
30150         * modules/popen-tests (Files): Likewise.
30151         * modules/posixtm-tests (Files): Likewise.
30152         * modules/pread-tests (Files): Likewise.
30153         * modules/printf-frexp-tests (Files): Likewise.
30154         * modules/printf-frexpl-tests (Files): Likewise.
30155         * modules/printf-posix-tests (Files): Likewise.
30156         * modules/priv-set-tests (Files): Likewise.
30157         * modules/quotearg-tests (Files): Likewise.
30158         * modules/random_r-tests (Files): Likewise.
30159         * modules/rawmemchr-tests (Files): Likewise.
30160         * modules/rbtree-list-tests (Files): Likewise.
30161         * modules/rbtree-oset-tests (Files): Likewise.
30162         * modules/rbtreehash-list-tests (Files): Likewise.
30163         * modules/readlink-tests (Files): Likewise.
30164         * modules/remove-tests (Files): Likewise.
30165         * modules/rename-tests (Files): Likewise.
30166         * modules/renameat-tests (Files): Likewise.
30167         * modules/rmdir-tests (Files): Likewise.
30168         * modules/round-tests (Files): Likewise.
30169         * modules/roundf-tests (Files): Likewise.
30170         * modules/roundl-tests (Files): Likewise.
30171         * modules/safe-alloc-tests (Files): Likewise.
30172         * modules/setenv-tests (Files): Likewise.
30173         * modules/sigaction-tests (Files): Likewise.
30174         * modules/signbit-tests (Files): Likewise.
30175         * modules/sleep-tests (Files): Likewise.
30176         * modules/snprintf-posix-tests (Files): Likewise.
30177         * modules/snprintf-tests (Files): Likewise.
30178         * modules/sprintf-posix-tests (Files): Likewise.
30179         * modules/stat-tests (Files): Likewise.
30180         * modules/stat-time-tests (Files): Likewise.
30181         * modules/strcasestr-tests (Files): Likewise.
30182         * modules/strchrnul-tests (Files): Likewise.
30183         * modules/strerror-tests (Files): Likewise.
30184         * modules/striconv-tests (Files): Likewise.
30185         * modules/striconveh-tests (Files): Likewise.
30186         * modules/striconveha-tests (Files): Likewise.
30187         * modules/strsignal-tests (Files): Likewise.
30188         * modules/strstr-tests (Files): Likewise.
30189         * modules/strtod-tests (Files): Likewise.
30190         * modules/strverscmp-tests (Files): Likewise.
30191         * modules/symlink-tests (Files): Likewise.
30192         * modules/symlinkat-tests (Files): Likewise.
30193         * modules/trunc-tests (Files): Likewise.
30194         * modules/truncf-tests (Files): Likewise.
30195         * modules/truncl-tests (Files): Likewise.
30196         * modules/uname-tests (Files): Likewise.
30197         * modules/unicase/cased-tests (Files): Likewise.
30198         * modules/unicase/ignorable-tests (Files): Likewise.
30199         * modules/unicase/locale-language-tests (Files): Likewise.
30200         * modules/unicase/tolower-tests (Files): Likewise.
30201         * modules/unicase/totitle-tests (Files): Likewise.
30202         * modules/unicase/toupper-tests (Files): Likewise.
30203         * modules/unicase/u8-casecmp-tests (Files): Likewise.
30204         * modules/unicase/u8-casecoll-tests (Files): Likewise.
30205         * modules/unicase/u8-casefold-tests (Files): Likewise.
30206         * modules/unicase/u8-is-cased-tests (Files): Likewise.
30207         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
30208         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
30209         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
30210         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
30211         * modules/unicase/u8-tolower-tests (Files): Likewise.
30212         * modules/unicase/u8-totitle-tests (Files): Likewise.
30213         * modules/unicase/u8-toupper-tests (Files): Likewise.
30214         * modules/unicase/u16-casecmp-tests (Files): Likewise.
30215         * modules/unicase/u16-casecoll-tests (Files): Likewise.
30216         * modules/unicase/u16-casefold-tests (Files): Likewise.
30217         * modules/unicase/u16-is-cased-tests (Files): Likewise.
30218         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
30219         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
30220         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
30221         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
30222         * modules/unicase/u16-tolower-tests (Files): Likewise.
30223         * modules/unicase/u16-totitle-tests (Files): Likewise.
30224         * modules/unicase/u16-toupper-tests (Files): Likewise.
30225         * modules/unicase/u32-casecmp-tests (Files): Likewise.
30226         * modules/unicase/u32-casecoll-tests (Files): Likewise.
30227         * modules/unicase/u32-casefold-tests (Files): Likewise.
30228         * modules/unicase/u32-is-cased-tests (Files): Likewise.
30229         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
30230         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
30231         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
30232         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
30233         * modules/unicase/u32-tolower-tests (Files): Likewise.
30234         * modules/unicase/u32-totitle-tests (Files): Likewise.
30235         * modules/unicase/u32-toupper-tests (Files): Likewise.
30236         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
30237         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
30238         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
30239         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
30240         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
30241         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
30242         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
30243         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
30244         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
30245         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
30246         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
30247         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
30248         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
30249         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
30250         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
30251         * modules/unictype/bidicategory-name-tests (Files): Likewise.
30252         * modules/unictype/bidicategory-of-tests (Files): Likewise.
30253         * modules/unictype/bidicategory-test-tests (Files): Likewise.
30254         * modules/unictype/block-list-tests (Files): Likewise.
30255         * modules/unictype/block-of-tests (Files): Likewise.
30256         * modules/unictype/block-test-tests (Files): Likewise.
30257         * modules/unictype/category-C-tests (Files): Likewise.
30258         * modules/unictype/category-Cc-tests (Files): Likewise.
30259         * modules/unictype/category-Cf-tests (Files): Likewise.
30260         * modules/unictype/category-Cn-tests (Files): Likewise.
30261         * modules/unictype/category-Co-tests (Files): Likewise.
30262         * modules/unictype/category-Cs-tests (Files): Likewise.
30263         * modules/unictype/category-L-tests (Files): Likewise.
30264         * modules/unictype/category-Ll-tests (Files): Likewise.
30265         * modules/unictype/category-Lm-tests (Files): Likewise.
30266         * modules/unictype/category-Lo-tests (Files): Likewise.
30267         * modules/unictype/category-Lt-tests (Files): Likewise.
30268         * modules/unictype/category-Lu-tests (Files): Likewise.
30269         * modules/unictype/category-M-tests (Files): Likewise.
30270         * modules/unictype/category-Mc-tests (Files): Likewise.
30271         * modules/unictype/category-Me-tests (Files): Likewise.
30272         * modules/unictype/category-Mn-tests (Files): Likewise.
30273         * modules/unictype/category-N-tests (Files): Likewise.
30274         * modules/unictype/category-Nd-tests (Files): Likewise.
30275         * modules/unictype/category-Nl-tests (Files): Likewise.
30276         * modules/unictype/category-No-tests (Files): Likewise.
30277         * modules/unictype/category-P-tests (Files): Likewise.
30278         * modules/unictype/category-Pc-tests (Files): Likewise.
30279         * modules/unictype/category-Pd-tests (Files): Likewise.
30280         * modules/unictype/category-Pe-tests (Files): Likewise.
30281         * modules/unictype/category-Pf-tests (Files): Likewise.
30282         * modules/unictype/category-Pi-tests (Files): Likewise.
30283         * modules/unictype/category-Po-tests (Files): Likewise.
30284         * modules/unictype/category-Ps-tests (Files): Likewise.
30285         * modules/unictype/category-S-tests (Files): Likewise.
30286         * modules/unictype/category-Sc-tests (Files): Likewise.
30287         * modules/unictype/category-Sk-tests (Files): Likewise.
30288         * modules/unictype/category-Sm-tests (Files): Likewise.
30289         * modules/unictype/category-So-tests (Files): Likewise.
30290         * modules/unictype/category-Z-tests (Files): Likewise.
30291         * modules/unictype/category-Zl-tests (Files): Likewise.
30292         * modules/unictype/category-Zp-tests (Files): Likewise.
30293         * modules/unictype/category-Zs-tests (Files): Likewise.
30294         * modules/unictype/category-and-not-tests (Files): Likewise.
30295         * modules/unictype/category-and-tests (Files): Likewise.
30296         * modules/unictype/category-byname-tests (Files): Likewise.
30297         * modules/unictype/category-name-tests (Files): Likewise.
30298         * modules/unictype/category-none-tests (Files): Likewise.
30299         * modules/unictype/category-of-tests (Files): Likewise.
30300         * modules/unictype/category-or-tests (Files): Likewise.
30301         * modules/unictype/category-test-withtable-tests (Files): Likewise.
30302         * modules/unictype/combining-class-tests (Files): Likewise.
30303         * modules/unictype/ctype-alnum-tests (Files): Likewise.
30304         * modules/unictype/ctype-alpha-tests (Files): Likewise.
30305         * modules/unictype/ctype-blank-tests (Files): Likewise.
30306         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
30307         * modules/unictype/ctype-digit-tests (Files): Likewise.
30308         * modules/unictype/ctype-graph-tests (Files): Likewise.
30309         * modules/unictype/ctype-lower-tests (Files): Likewise.
30310         * modules/unictype/ctype-print-tests (Files): Likewise.
30311         * modules/unictype/ctype-punct-tests (Files): Likewise.
30312         * modules/unictype/ctype-space-tests (Files): Likewise.
30313         * modules/unictype/ctype-upper-tests (Files): Likewise.
30314         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
30315         * modules/unictype/decimal-digit-tests (Files): Likewise.
30316         * modules/unictype/digit-tests (Files): Likewise.
30317         * modules/unictype/mirror-tests (Files): Likewise.
30318         * modules/unictype/numeric-tests (Files): Likewise.
30319         * modules/unictype/property-alphabetic-tests (Files): Likewise.
30320         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
30321         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
30322         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
30323         Likewise.
30324         * modules/unictype/property-bidi-block-separator-tests (Files):
30325         Likewise.
30326         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
30327         Likewise.
30328         * modules/unictype/property-bidi-common-separator-tests (Files):
30329         Likewise.
30330         * modules/unictype/property-bidi-control-tests (Files): Likewise.
30331         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
30332         Likewise.
30333         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
30334         Likewise.
30335         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
30336         Likewise.
30337         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
30338         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
30339         Likewise.
30340         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
30341         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
30342         Likewise.
30343         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
30344         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
30345         * modules/unictype/property-bidi-segment-separator-tests (Files):
30346         Likewise.
30347         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
30348         * modules/unictype/property-byname-tests (Files): Likewise.
30349         * modules/unictype/property-combining-tests (Files): Likewise.
30350         * modules/unictype/property-composite-tests (Files): Likewise.
30351         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
30352         * modules/unictype/property-dash-tests (Files): Likewise.
30353         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
30354         * modules/unictype/property-default-ignorable-code-point-tests (Files):
30355         Likewise.
30356         * modules/unictype/property-deprecated-tests (Files): Likewise.
30357         * modules/unictype/property-diacritic-tests (Files): Likewise.
30358         * modules/unictype/property-extender-tests (Files): Likewise.
30359         * modules/unictype/property-format-control-tests (Files): Likewise.
30360         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
30361         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
30362         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
30363         * modules/unictype/property-hex-digit-tests (Files): Likewise.
30364         * modules/unictype/property-hyphen-tests (Files): Likewise.
30365         * modules/unictype/property-id-continue-tests (Files): Likewise.
30366         * modules/unictype/property-id-start-tests (Files): Likewise.
30367         * modules/unictype/property-ideographic-tests (Files): Likewise.
30368         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
30369         * modules/unictype/property-ids-trinary-operator-tests (Files):
30370         Likewise.
30371         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
30372         * modules/unictype/property-iso-control-tests (Files): Likewise.
30373         * modules/unictype/property-join-control-tests (Files): Likewise.
30374         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
30375         * modules/unictype/property-line-separator-tests (Files): Likewise.
30376         * modules/unictype/property-logical-order-exception-tests (Files):
30377         Likewise.
30378         * modules/unictype/property-lowercase-tests (Files): Likewise.
30379         * modules/unictype/property-math-tests (Files): Likewise.
30380         * modules/unictype/property-non-break-tests (Files): Likewise.
30381         * modules/unictype/property-not-a-character-tests (Files): Likewise.
30382         * modules/unictype/property-numeric-tests (Files): Likewise.
30383         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
30384         * modules/unictype/property-other-default-ignorable-code-point-tests
30385         (Files): Likewise.
30386         * modules/unictype/property-other-grapheme-extend-tests (Files):
30387         Likewise.
30388         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
30389         * modules/unictype/property-other-id-start-tests (Files): Likewise.
30390         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
30391         * modules/unictype/property-other-math-tests (Files): Likewise.
30392         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
30393         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
30394         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
30395         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
30396         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
30397         * modules/unictype/property-private-use-tests (Files): Likewise.
30398         * modules/unictype/property-punctuation-tests (Files): Likewise.
30399         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
30400         * modules/unictype/property-radical-tests (Files): Likewise.
30401         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
30402         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
30403         * modules/unictype/property-space-tests (Files): Likewise.
30404         * modules/unictype/property-terminal-punctuation-tests (Files):
30405         Likewise.
30406         * modules/unictype/property-test-tests (Files): Likewise.
30407         * modules/unictype/property-titlecase-tests (Files): Likewise.
30408         * modules/unictype/property-unassigned-code-value-tests (Files):
30409         Likewise.
30410         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
30411         * modules/unictype/property-uppercase-tests (Files): Likewise.
30412         * modules/unictype/property-variation-selector-tests (Files): Likewise.
30413         * modules/unictype/property-white-space-tests (Files): Likewise.
30414         * modules/unictype/property-xid-continue-tests (Files): Likewise.
30415         * modules/unictype/property-xid-start-tests (Files): Likewise.
30416         * modules/unictype/property-zero-width-tests (Files): Likewise.
30417         * modules/unictype/scripts-tests (Files): Likewise.
30418         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
30419         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
30420         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
30421         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
30422         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
30423         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
30424         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
30425         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
30426         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
30427         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
30428         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
30429         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
30430         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
30431         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
30432         * modules/uninorm/composition-tests (Files): Likewise.
30433         * modules/uninorm/decomposing-form-tests (Files): Likewise.
30434         * modules/uninorm/decomposition-tests (Files): Likewise.
30435         * modules/uninorm/filter-tests (Files): Likewise.
30436         * modules/uninorm/nfc-tests (Files): Likewise.
30437         * modules/uninorm/nfd-tests (Files): Likewise.
30438         * modules/uninorm/nfkc-tests (Files): Likewise.
30439         * modules/uninorm/nfkd-tests (Files): Likewise.
30440         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
30441         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
30442         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
30443         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
30444         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
30445         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
30446         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
30447         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
30448         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
30449         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
30450         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
30451         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
30452         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
30453         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
30454         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
30455         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
30456         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
30457         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
30458         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
30459         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
30460         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
30461         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
30462         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
30463         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
30464         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
30465         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
30466         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
30467         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
30468         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
30469         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
30470         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
30471         * modules/uniwidth/u8-width-tests (Files): Likewise.
30472         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
30473         * modules/uniwidth/u16-width-tests (Files): Likewise.
30474         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
30475         * modules/uniwidth/u32-width-tests (Files): Likewise.
30476         * modules/uniwidth/width-tests (Files): Likewise.
30477         * modules/unlink-tests (Files): Likewise.
30478         * modules/unsetenv-tests (Files): Likewise.
30479         * modules/usleep-tests (Files): Likewise.
30480         * modules/utimens-tests (Files): Likewise.
30481         * modules/utimensat-tests (Files): Likewise.
30482         * modules/vasnprintf-posix-tests (Files): Likewise.
30483         * modules/vasnprintf-tests (Files): Likewise.
30484         * modules/vasprintf-posix-tests (Files): Likewise.
30485         * modules/vasprintf-tests (Files): Likewise.
30486         * modules/vdprintf-posix-tests (Files): Likewise.
30487         * modules/vfprintf-posix-tests (Files): Likewise.
30488         * modules/vprintf-posix-tests (Files): Likewise.
30489         * modules/vsnprintf-posix-tests (Files): Likewise.
30490         * modules/vsnprintf-tests (Files): Likewise.
30491         * modules/vsprintf-posix-tests (Files): Likewise.
30492         * modules/wcrtomb-tests (Files): Likewise.
30493         * modules/wcsnrtombs-tests (Files): Likewise.
30494         * modules/wcsrtombs-tests (Files): Likewise.
30495         * modules/wctype-tests (Files): Likewise.
30496         * modules/wcwidth-tests (Files): Likewise.
30497         * modules/xmemdup0-tests (Files): Likewise.
30498         * modules/xprintf-posix-tests (Files): Likewise.
30499         * modules/xvasprintf-tests (Files): Likewise.
30500
30501 2009-12-24  Eric Blake  <ebb9@byu.net>
30502
30503         test-nanosleep: fix typo
30504         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
30505         patch.
30506         Reported by Bruno Haible.
30507
30508 2009-12-24  Bruno Haible  <bruno@clisp.org>
30509
30510         Reduce namespace pollution on glibc systems.
30511         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
30512         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
30513         systems.
30514         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
30515         <getopt.h> on glibc systems.
30516         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
30517         systems.
30518         * lib/fcntl.c: Include <unistd.h> here instead.
30519
30520 2009-12-24  Bruno Haible  <bruno@clisp.org>
30521
30522         * lib/stdlib.in.h (includes): Fix typo in today's commit.
30523
30524 2009-12-24  Eric Blake  <ebb9@byu.net>
30525
30526         tests: add signature checks
30527         * tests/signature.h (SIGNATURE_CHECK): New file.
30528         * modules/atexit-tests (Files): Use it.
30529         * modules/btowc-tests (Files): Likewise.
30530         * modules/canonicalize-lgpl-tests (Files): Likewise.
30531         * modules/ceilf-tests (Files): Likewise.
30532         * modules/ceill-tests (Files): Likewise.
30533         * modules/chown-tests (Files): Likewise.
30534         * modules/dprintf-posix-tests (Files): Likewise.
30535         * modules/dup2-tests (Files): Likewise.
30536         * modules/dup3-tests (Files): Likewise.
30537         * modules/duplocale-tests (Files): Likewise.
30538         * modules/fchdir-tests (Files): Likewise.
30539         * modules/fcntl-tests (Files): Likewise.
30540         * modules/fdopendir-tests (Files): Likewise.
30541         * modules/fflush-tests (Files): Likewise.
30542         * modules/flock-tests (Files): Likewise.
30543         * modules/floorf-tests (Files): Likewise.
30544         * modules/floorl-tests (Files): Likewise.
30545         * modules/fnmatch-tests (Files): Likewise.
30546         * modules/fopen-tests (Files): Likewise.
30547         * modules/fprintf-posix-tests (Files): Likewise.
30548         * modules/freopen-tests (Files): Likewise.
30549         * modules/frexp-nolibm-tests (Files): Likewise.
30550         * modules/frexp-tests (Files): Likewise.
30551         * modules/frexpl-nolibm-tests (Files): Likewise.
30552         * modules/frexpl-tests (Files): Likewise.
30553         * modules/fseek-tests (Files): Likewise.
30554         * modules/fseeko-tests (Files): Likewise.
30555         * modules/fsync-tests (Files): Likewise.
30556         * modules/ftell-tests (Files): Likewise.
30557         * modules/ftello-tests (Files): Likewise.
30558         * modules/futimens-tests (Files): Likewise.
30559         * modules/getaddrinfo-tests (Files): Likewise.
30560         * modules/getcwd-tests (Files): Likewise.
30561         * modules/getdelim-tests (Files): Likewise.
30562         * modules/getdtablesize-tests (Files): Likewise.
30563         * modules/getgroups-tests (Files): Likewise.
30564         * modules/gethostname-tests (Files): Likewise.
30565         * modules/getline-tests (Files): Likewise.
30566         * modules/getopt-posix-tests (Files): Likewise.
30567         * modules/gettimeofday-tests (Files): Likewise.
30568         * modules/glob-tests (Files): Likewise.
30569         * modules/iconv-tests (Files): Likewise.
30570         * modules/inet_ntop-tests (Files): Likewise.
30571         * modules/inet_pton-tests (Files): Likewise.
30572         * modules/isblank-tests (Files): Likewise.
30573         * modules/lchown-tests (Files): Likewise.
30574         * modules/ldexpl-tests (Files): Likewise.
30575         * modules/link-tests (Files): Likewise.
30576         * modules/linkat-tests (Files): Likewise.
30577         * modules/lseek-tests (Files): Likewise.
30578         * modules/lstat-tests (Files): Likewise.
30579         * modules/mbrtowc-tests (Files): Likewise.
30580         * modules/mbsinit-tests (Files): Likewise.
30581         * modules/mbsnrtowcs-tests (Files): Likewise.
30582         * modules/mbsrtowcs-tests (Files): Likewise.
30583         * modules/memchr-tests (Files): Likewise.
30584         * modules/memcmp-tests (Files): Likewise.
30585         * modules/memmem-tests (Files): Likewise.
30586         * modules/memrchr-tests (Files): Likewise.
30587         * modules/mkdir-tests (Files): Likewise.
30588         * modules/mkfifo-tests (Files): Likewise.
30589         * modules/mkfifoat-tests (Files): Likewise.
30590         * modules/mknod-tests (Files): Likewise.
30591         * modules/nanosleep-tests (Files): Likewise.
30592         * modules/nl_langinfo-tests (Files): Likewise.
30593         * modules/obstack-printf-tests (Files): Likewise.
30594         * modules/open-tests (Files): Likewise.
30595         * modules/openat-tests (Files): Likewise.
30596         * modules/perror-tests (Files): Likewise.
30597         * modules/pipe2-tests (Files): Likewise.
30598         * modules/poll-tests (Files): Likewise.
30599         * modules/popen-tests (Files): Likewise.
30600         * modules/posix_spawn-tests (Files): Likewise.
30601         * modules/posix_spawnp-tests (Files): Likewise.
30602         * modules/pread-tests (Files): Likewise.
30603         * modules/printf-posix-tests (Files): Likewise.
30604         * modules/pty-tests (Files): Likewise.
30605         * modules/random_r-tests (Files): Likewise.
30606         * modules/rawmemchr-tests (Files): Likewise.
30607         * modules/readlink-tests (Files): Likewise.
30608         * modules/remove-tests (Files): Likewise.
30609         * modules/rename-tests (Files): Likewise.
30610         * modules/renameat-tests (Files): Likewise.
30611         * modules/rmdir-tests (Files): Likewise.
30612         * modules/round-tests (Files): Likewise.
30613         * modules/roundf-tests (Files): Likewise.
30614         * modules/roundl-tests (Files): Likewise.
30615         * modules/select-tests (Files): Likewise.
30616         * modules/setenv-tests (Files): Likewise.
30617         * modules/sigaction-tests (Files): Likewise.
30618         * modules/sleep-tests (Files): Likewise.
30619         * modules/snprintf-posix-tests (Files): Likewise.
30620         * modules/snprintf-tests (Files): Likewise.
30621         * modules/sprintf-posix-tests (Files): Likewise.
30622         * modules/stat-tests (Files): Likewise.
30623         * modules/strcasestr-tests (Files): Likewise.
30624         * modules/strchrnul-tests (Files): Likewise.
30625         * modules/strerror-tests (Files): Likewise.
30626         * modules/strsignal-tests (Files): Likewise.
30627         * modules/strstr-tests (Files): Likewise.
30628         * modules/strtod-tests (Files): Likewise.
30629         * modules/strverscmp-tests (Files): Likewise.
30630         * modules/symlink-tests (Files): Likewise.
30631         * modules/symlinkat-tests (Files): Likewise.
30632         * modules/times-tests (Files): Likewise.
30633         * modules/trunc-tests (Files): Likewise.
30634         * modules/truncf-tests (Files): Likewise.
30635         * modules/truncl-tests (Files): Likewise.
30636         * modules/tsearch-tests (Files): Likewise.
30637         * modules/uname-tests (Files): Likewise.
30638         * modules/unlink-tests (Files): Likewise.
30639         * modules/unsetenv-tests (Files): Likewise.
30640         * modules/usleep-tests (Files): Likewise.
30641         * modules/utimensat-tests (Files): Likewise.
30642         * modules/vasprintf-tests (Files): Likewise.
30643         * modules/vdprintf-posix-tests (Files): Likewise.
30644         * modules/vfprintf-posix-tests (Files): Likewise.
30645         * modules/vprintf-posix-tests (Files): Likewise.
30646         * modules/vsnprintf-posix-tests (Files): Likewise.
30647         * modules/vsnprintf-tests (Files): Likewise.
30648         * modules/vsprintf-posix-tests (Files): Likewise.
30649         * modules/wcrtomb-tests (Files): Likewise.
30650         * modules/wcsnrtombs-tests (Files): Likewise.
30651         * modules/wcsrtombs-tests (Files): Likewise.
30652         * modules/wcwidth-tests (Files): Likewise.
30653         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
30654         * tests/test-isinf.c (isinf): Likewise.
30655         * tests/test-isnan.c (isnan): Likewise.
30656         * tests/test-signbit.c (signbit): Likewise.
30657         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
30658         declaration, either as macro or with correct signature.
30659         (select): Ensure function under test is declared with correct
30660         signature in correct header.
30661         * tests/test-atexit.c (atexit): Likewise.
30662         * tests/test-btowc.c (btowc): Likewise.
30663         * tests/test-canonicalize-lgpl.c (realpath)
30664         (canonicalize_file_name): Likewise.
30665         * tests/test-ceilf1.c (ceilf): Likewise.
30666         * tests/test-ceill.c (ceill): Likewise.
30667         * tests/test-chown.c (chown): Likewise.
30668         * tests/test-dprintf-posix.c (dprintf): Likewise.
30669         * tests/test-dup2.c (dup2): Likewise.
30670         * tests/test-dup3.c (dup3): Likewise.
30671         * tests/test-duplocale.c (duplocale): Likewise.
30672         * tests/test-fchdir.c (fchdir): Likewise.
30673         * tests/test-fchownat.c (fchownat): Likewise.
30674         * tests/test-fcntl.c (fcntl): Likewise.
30675         * tests/test-fdopendir.c (fdopendir): Likewise.
30676         * tests/test-fflush.c (fflush): Likewise.
30677         * tests/test-flock.c (flock): Likewise.
30678         * tests/test-floorf1.c (floorf): Likewise.
30679         * tests/test-floorl.c (floorl): Likewise.
30680         * tests/test-fnmatch.c (fnmatch): Likewise.
30681         * tests/test-fopen.c (fopen): Likewise.
30682         * tests/test-fprintf-posix.c (fprintf): Likewise.
30683         * tests/test-freopen.c (freopen): Likewise.
30684         * tests/test-frexp.c (frexp): Likewise.
30685         * tests/test-frexpl.c (frexpl): Likewise.
30686         * tests/test-fseek.c (fseek): Likewise.
30687         * tests/test-fseeko.c (fseeko): Likewise.
30688         * tests/test-fstatat.c (fstatat): Likewise.
30689         * tests/test-fsync.c (fsync): Likewise.
30690         * tests/test-ftell.c (ftell): Likewise.
30691         * tests/test-ftello.c (ftello): Likewise.
30692         * tests/test-futimens.c (futimens): Likewise.
30693         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
30694         (gai_strerror): Likewise.
30695         * tests/test-getcwd.c (getcwd): Likewise.
30696         * tests/test-getdelim.c (getdelim): Likewise.
30697         * tests/test-getdtablesize.c (getdtablesize): Likewise.
30698         * tests/test-getgroups.c (getgroups): Likewise.
30699         * tests/test-gethostname.c (gethostname): Likewise.
30700         * tests/test-getline.c (getline): Likewise.
30701         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
30702         Likewise.
30703         * tests/test-gettimeofday.c (gettimeofday): Likewise.
30704         * tests/test-glob.c (glob, globfree): Likewise.
30705         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
30706         * tests/test-inet_ntop.c (inet_ntop): Likewise.
30707         * tests/test-inet_pton.c (inet_pton): Likewise.
30708         * tests/test-isblank.c (isblank): Likewise.
30709         * tests/test-lchown.c (lchown): Likewise.
30710         * tests/test-ldexpl.c (ldexpl): Likewise.
30711         * tests/test-link.c (link): Likewise.
30712         * tests/test-linkat.c (linkat): Likewise.
30713         * tests/test-lseek.c (lseek): Likewise.
30714         * tests/test-lstat.c (lstat): Likewise.
30715         * tests/test-mbrtowc.c (mbrtowc): Likewise.
30716         * tests/test-mbsinit.c (mbsinit): Likewise.
30717         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
30718         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
30719         * tests/test-memchr.c (memchr): Likewise.
30720         * tests/test-memcmp.c (memcmp): Likewise.
30721         * tests/test-memmem.c (memmem): Likewise.
30722         * tests/test-memrchr.c (memrchr): Likewise.
30723         * tests/test-mkdir.c (mkdir): Likewise.
30724         * tests/test-mkdirat.c (mkdirat): Likewise.
30725         * tests/test-mkfifo.c (mkfifo): Likewise.
30726         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
30727         * tests/test-mknod.c (mknod): Likewise.
30728         * tests/test-nanosleep.c (nanosleep): Likewise.
30729         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
30730         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
30731         Likewise.
30732         * tests/test-open.c (open): Likewise.
30733         * tests/test-openat.c (openat): Likewise.
30734         * tests/test-perror.c (perror): Likewise.
30735         * tests/test-pipe2.c (pipe2): Likewise.
30736         * tests/test-poll.c (poll): Likewise.
30737         * tests/test-popen.c (popen, pclose): Likewise.
30738         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
30739         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
30740         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
30741         (posix_spawn_file_actions_destroy)
30742         (posix_spawn_file_actions_addclose)
30743         (posix_spawn_file_actions_addopen)
30744         (posix_spawn_file_actions_adddup2): Likewise.
30745         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
30746         * tests/test-pread.c (pread): Likewise.
30747         * tests/test-printf-posix.c (printf): Likewise.
30748         * tests/test-pty.c (openpty, forkpty): Likewise.
30749         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
30750         (random_r): Likewise.
30751         * tests/test-rawmemchr.c (rawmemchr): Likewise.
30752         * tests/test-readlink.c (readlink): Likewise.
30753         * tests/test-remove.c (remove): Likewise.
30754         * tests/test-rename.c (rename): Likewise.
30755         * tests/test-renameat.c (renameat): Likewise.
30756         * tests/test-rmdir.c (rmdir): Likewise.
30757         * tests/test-round1.c (round): Likewise.
30758         * tests/test-roundf1.c (roundf): Likewise.
30759         * tests/test-roundl.c (roundl): Likewise.
30760         * tests/test-setenv.c (setenv): Likewise.
30761         * tests/test-sigaction.c (sigaction): Likewise.
30762         * tests/test-sleep.c (sleep): Likewise.
30763         * tests/test-snprintf.c (snprintf): Likewise.
30764         * tests/test-sprintf-posix.c (sprintf): Likewise.
30765         * tests/test-stat.c (stat): Likewise.
30766         * tests/test-stpncpy.c (stpncpy): Likewise.
30767         * tests/test-strcasestr.c (strcasestr): Likewise.
30768         * tests/test-strchrnul.c (strchrnul): Likewise.
30769         * tests/test-strerror.c (strerror): Likewise.
30770         * tests/test-strsignal.c (strsignal): Likewise.
30771         * tests/test-strstr.c (strstr): Likewise.
30772         * tests/test-strtod.c (strtod): Likewise.
30773         * tests/test-strverscmp.c (strverscmp): Likewise.
30774         * tests/test-symlink.c (symlink): Likewise.
30775         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
30776         * tests/test-times.c (times): Likewise.
30777         * tests/test-trunc1.c (trunc): Likewise.
30778         * tests/test-truncf1.c (truncf): Likewise.
30779         * tests/test-truncl.c (truncl): Likewise.
30780         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
30781         Likewise.
30782         * tests/test-uname.c (uname): Likewise.
30783         * tests/test-unlink.c (unlink): Likewise.
30784         * tests/test-unlinkat.c (unlinkat): Likewise.
30785         * tests/test-unsetenv.c (unsetenv): Likewise.
30786         * tests/test-usleep.c (usleep): Likewise.
30787         * tests/test-utimensat.c (utimensat): Likewise.
30788         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
30789         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
30790         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
30791         * tests/test-vprintf-posix.c (vprintf): Likewise.
30792         * tests/test-vsnprintf.c (vsnprintf): Likewise.
30793         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
30794         * tests/test-wcrtomb.c (wcrtomb): Likewise.
30795         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
30796         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
30797         * tests/test-wcwidth.c (wcwidth): Likewise.
30798
30799         build: pull in conditional headers during GNULIB_POSIXCHECK
30800         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
30801         definitions from any conditionally-included headers.
30802         * lib/stdlib.in.h (includes): Likewise.
30803         * lib/unistd.in.h (includes): Likewise.
30804
30805 2009-12-24  Bruno Haible  <bruno@clisp.org>
30806
30807         * tests/test-argv-iter.c: Include header file being tested immediately
30808         after config.h.
30809         * tests/test-base64.c: Likewise.
30810         * tests/test-flock.c: Likewise.
30811         * tests/test-fsync.c: Likewise.
30812         * tests/test-getdate.c: Likewise.
30813         * tests/test-getndelim2.c: Likewise.
30814         * tests/test-isfinite.c: Likewise.
30815         * tests/test-isinf.c: Likewise.
30816         * tests/test-strerror.c: Likewise.
30817         * tests/test-strsignal.c: Likewise.
30818
30819 2009-12-23  Eric Blake  <ebb9@byu.net>
30820
30821         unistd: work around cygwin bug
30822         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
30823         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
30824         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
30825
30826 2009-12-23  Bruno Haible  <bruno@clisp.org>
30827
30828         localename: More tests.
30829         * tests/test-localename.c (SIZEOF): New macro.
30830         (categories): New variable.
30831         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
30832         test_locale_name_default): Add test w.r.t. thread locale.
30833         (test_locale_name_thread): New function.
30834         (main): Invoke it.
30835
30836         localename: Make aware of thread locale.
30837         * lib/localename.h (gl_locale_name_thread): New declaration.
30838         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
30839         behaviour with respect to thread locale.
30840         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
30841         <langinfo.h>, glthread/lock.h.
30842         (SIZE_BITS): New macro.
30843         (string_hash): New function.
30844         (struct hash_node): New type.
30845         (HASH_TABLE_SIZE): New macro.
30846         (struniq_hash_table, struniq_lock): New variables.
30847         (struniq): New function.
30848         (gl_locale_name_thread): New function.
30849         (gl_locale_name): Invoke it.
30850         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
30851         * modules/localename (Depends-on): Add lock.
30852         Reported by Mike Gran <spk121@yahoo.com>.
30853
30854 2009-12-23  Eric Blake  <ebb9@byu.net>
30855
30856         va-args: new module
30857         * modules/va-args: New file.
30858         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
30859         * MODULES.html.sh (Core language properties): Mention it.
30860
30861         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
30862         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
30863         named alias for __attribute__((__unused__)).
30864         * lib/chown.c: Update client.
30865         * lib/fchmodat.c: Likewise.
30866         * lib/fts.c: Likewise.
30867         * lib/getdate.y: Likewise.
30868         * lib/getgroups.c: Likewise.
30869         * lib/getopt.c: Likewise.
30870         * lib/getugroups.c: Likewise.
30871         * lib/mkdir.c: Likewise.
30872         * lib/mkfifo.c: Likewise.
30873         * lib/mkfifoat.c: Likewise.
30874         * lib/mknod.c: Likewise.
30875         * lib/mknodat.c: Likewise.
30876         * lib/readlink.c: Likewise.
30877         * lib/se-context.in.h: Likewise.
30878         * lib/se-selinux.in.h: Likewise.
30879         * lib/sockets.c: Likewise.
30880         * lib/symlink.c: Likewise.
30881         * lib/symlinkat.c: Likewise.
30882         * lib/unicodeio.c: Likewise.
30883         * lib/unistr.h: Likewise.
30884         * tests/test-areadlink.c: Likewise.
30885         * tests/test-areadlinkat.c: Likewise.
30886         * tests/test-filenamecat.c: Likewise.
30887         * tests/test-fseeko.c: Likewise.
30888         * tests/test-ftello.c: Likewise.
30889         * tests/test-getdate.c: Likewise.
30890         * tests/test-getgroups.c: Likewise.
30891         * tests/test-gethostname.c: Likewise.
30892         * tests/test-quotearg.c: Likewise.
30893         * tests/test-version-etc.c: Likewise.
30894         * tests/test-xalloc-die.c: Likewise.
30895         * tests/test-xfprintf-posix.c: Likewise.
30896         * tests/test-xprintf-posix.c: Likewise.
30897         * tests/test-xvasprintf.c: Likewise.
30898
30899         tests: avoid compiler warnings
30900         * tests/test-fcntl.c (main): Delete unused parameters.
30901         * tests/test-freopen-safer.c (main): Likewise.
30902         * tests/test-xalloc-die.c (main): Mark unused parameters.
30903         * tests/test-fseeko.c (main): Likewise.
30904         * tests/test-ftello.c (main): Likewise.
30905         * tests/test-nanosleep.c (main): Avoid declaration warning.
30906         * tests/test-sleep.c (main): Likewise.
30907         * tests/test-unsetenv.c (main): Silence warning about string
30908         literal.
30909         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
30910
30911 2009-12-23  Bruno Haible  <bruno@clisp.org>
30912
30913         * tests/test-localename.c (test_locale_name): New function, extracted
30914         from main. Also test mixed situations.
30915         (test_locale_name_posix, test_locale_name_environ,
30916         test_locale_name_default): New functions.
30917         (main): Invoke them all.
30918         * modules/localename-tests (configure.ac): Test for newlocale.
30919
30920 2009-12-23  Bruno Haible  <bruno@clisp.org>
30921
30922         unistd: Ensure getcwd gets declared before being overridden.
30923         * lib/unistd.in.h: Conditionally include <io.h>.
30924
30925 2009-12-22  Bruno Haible  <bruno@clisp.org>
30926
30927         wchar: Diagnose broken combination of glibc and gcc versions and flags.
30928         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
30929         (gl_WCHAR_H): Invoke it.
30930         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
30931         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
30932         Reported by Karl Berry <karl@freefriends.org>.
30933
30934 2009-12-22  Eric Blake  <ebb9@byu.net>
30935
30936         math, unistd: avoid redundant includes
30937         * lib/math.in.h (isnan): No need to re-include <math.h>.
30938         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
30939
30940         getsubopt: work around cygwin bug
30941         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
30942         avoid conflicting with system getsubopt.
30943         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
30944         bug.
30945
30946         getopt: synchronize from glibc
30947         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
30948         parameter order.  Adjust all callers.
30949         (_getopt_internal_r, main): Adjust quoting in error messages.
30950         Drop considerations for outdated POSIX 1003.2 error message.
30951         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
30952         callers.
30953         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
30954
30955         test-getopt: test stderr behavior
30956         * modules/getopt-posix-tests (Depends-on): Add dup2.
30957         * tests/test-getopt.c (ASSERT): Avoid stderr.
30958         (main): Move stderr to a temporary file.
30959         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
30960         Instead, add parameter to inform caller if output occurred.
30961         (test_getopt): Adjust all existing tests to expect silence, and
30962         add new tests of leading ":".
30963         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
30964         glibc shortcomings with leading "-:" or "+:" in optstring.
30965         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
30966         Likewise.
30967         * doc/posix-functions/getopt.texi (getopt): Likewise.
30968
30969         test-getopt: enhance test
30970         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
30971         supports optind=0.
30972         * tests/test-getopt.c (OPTIND_MIN): Move...
30973         * tests/test-getopt.h (OPTIND_MIN): ...here.
30974         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
30975         Require that optind=0 works, since modern BSD supports it in
30976         addition to optreset, and since coreutils expects it.
30977         (test_getopt_long_only): New test.
30978         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
30979         glibc shortcomings with 'W;', and enforcement of optind=0.
30980         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
30981         Likewise.
30982
30983 2009-12-21  Bruno Haible  <bruno@clisp.org>
30984
30985         localename: Improvements for MacOS X and Cygwin.
30986         * lib/localename.h (gl_locale_name_environ): New declaration.
30987         * lib/localename.c (gl_locale_name_environ): New function, extracted from
30988         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
30989         (gl_locale_name_posix): Invoke it.
30990         (gl_locale_name_default): Add comments. Use Windows native API also on
30991         Cygwin.
30992
30993 2009-12-21  Bruno Haible  <bruno@clisp.org>
30994
30995         Update list of Win32 locale ids.
30996         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
30997         (LANG_SAMI): Renamed from LANG_SAAMI.
30998         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
30999         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
31000         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
31001         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
31002         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
31003         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
31004         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
31005         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
31006         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
31007         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
31008         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
31009         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
31010         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
31011         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
31012         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
31013         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
31014         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
31015         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
31016         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
31017         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
31018         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
31019         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
31020         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
31021         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
31022         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
31023         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
31024         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
31025         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
31026         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
31027         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
31028         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
31029         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
31030         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
31031         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
31032         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
31033         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
31034         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
31035         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
31036         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
31037         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
31038         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
31039         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
31040         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
31041         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
31042         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
31043         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
31044         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
31045         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
31046         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
31047         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
31048         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
31049         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
31050         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
31051         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
31052         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
31053         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
31054         Add more languages and countries for Sami, Sorbian. Add more countries
31055         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
31056         for Pashto. Change country for Syriac, Tswana.
31057
31058 2009-12-21  Eric Blake  <ebb9@byu.net>
31059
31060         test-utimens: avoid spurious failure
31061         * tests/test-chown.h (nap): Factor...
31062         * tests/nap.h: ...into new file.
31063         * tests/test-lchown.h (nap): Avoid duplication.
31064         * tests/test-utimens-common.h (nap): Use shared implementation,
31065         necessary on file systems with 1-second resolution.
31066         * modules/chown-tests (Files): Include new file.
31067         * modules/fdutimensat-tests (Files): Likewise.
31068         * modules/futimens-tests (Files): Likewise.
31069         * modules/lchown-tests (Files): Likewise.
31070         * modules/openat-tests (Files): Likewise.
31071         * modules/utimens-tests (Files): Likewise.
31072         * modules/utimensat-tests (Files): Likewise.
31073
31074 2009-12-19  Eric Blake  <ebb9@byu.net>
31075
31076         futimens, utimensat: work around Linux bug
31077         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
31078         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
31079         * lib/utimensat.c (rpl_utimensat): Work around it.
31080         * lib/futimens.c (rpl_futimens): Adjust comment.
31081
31082         utimens: work around Linux ctime bug
31083         * lib/utimens.c (detect_ctime_bug): New helper function.
31084         (update_timespec): Differentiate between workaround needed for
31085         this bug vs. what is needed for systems that lack utimensat.
31086         (fdutimens, lutimens): Work around bug.
31087
31088         utimens: check for ctime update
31089         * tests/test-utimens-common.h (check_ctime): Define.
31090         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
31091         * tests/test-futimens.h (test_futimens): Likewise.
31092         * tests/test-lutimens.h (test_lutimens): Likewise.
31093         * doc/posix-functions/futimens.texi (futimens): Document the bug.
31094         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
31095
31096 2009-12-19  Bruno Haible  <bruno@clisp.org>
31097
31098         dprintf-posix: Check against memory leak fixed on 2009-12-15.
31099         * tests/test-dprintf-posix2.sh: New file.
31100         * tests/test-dprintf-posix2.c: New file.
31101         * modules/dprintf-posix-tests (Files): Add them.
31102         (configure.ac): Check for getrlimit and setrlimit.
31103         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
31104
31105 2009-12-19  Bruno Haible  <bruno@clisp.org>
31106
31107         fprintf-posix: Check against memory leak fixed on 2009-12-15.
31108         * tests/test-fprintf-posix3.sh: New file.
31109         * tests/test-fprintf-posix3.c: New file.
31110         * modules/fprintf-posix-tests (Files): Add them.
31111         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
31112
31113 2009-12-19  Eric Blake  <ebb9@byu.net>
31114
31115         dirfd: fix prototype
31116         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
31117         * lib/dirfd.c (dirfd): Likewise.
31118
31119         canonicalize: reduce memory usage
31120         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
31121         allocation to size.
31122         Reported by Solar Designer <solar@openwall.com>.
31123
31124 2009-12-19  Bruno Haible  <bruno@clisp.org>
31125
31126         New module attribute 'Applicability'.
31127         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
31128         * gnulib-tool: New option --extract-applicability.
31129         (func_usage): Document it.
31130         (sed_extract_prog): Recognize it.
31131         (func_get_applicability): New function.
31132         (func_import): Generalize handling of 'link-warning' module.
31133         * modules/link-warning (Applicability): New section.
31134         * modules/arg-nonnull (Applicability): New section.
31135         Repoted by Simon Josefsson <simon@josefsson.org>.
31136
31137 2009-12-19  Bruno Haible  <bruno@clisp.org>
31138
31139         fflush: tweak
31140         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
31141         * lib/fseeko.c (rpl_fseeko): Likewise.
31142
31143 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
31144
31145         * lib/gl_list.h: Fix typo in comment.
31146
31147 2009-12-16  Eric Blake  <ebb9@byu.net>
31148
31149         fcntl: use to simplify other modules
31150         * modules/cloexec (Depends-on): Add fcntl.
31151         * modules/fchdir (Depends-on): Likewise.
31152         * modules/fd-safer-flag (Depends-on): Likewise.
31153         * modules/unistd-safer (Depends-on): Likewise.
31154         * modules/dup3 (configure.ac): Set module indicator.
31155         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
31156         missing.
31157         * lib/fchdir.c (_gl_register_dup): Fix comment.
31158         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
31159         * lib/dup-safer.c (dup_safer): Likewise.
31160         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
31161         * lib/dup3.c (dup3): Likewise.
31162         * tests/test-fchdir.c (main): Enhance test.
31163         Fixes a dup_cloexec bug reported by Ondřej Vašík.
31164
31165         fcntl: port portions of fcntl to mingw
31166         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
31167         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
31168         replacement for mingw.
31169         * modules/fcntl (Description): Update.
31170         (Depends-on): Add dup2.
31171         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
31172         * modules/fcntl-h (Makefile.am): Substitute it.
31173         * lib/fcntl.in.h (fcntl): Update declaration.
31174         (F_DUPFD, F_GETFD): New macros, when needed.
31175         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
31176         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
31177         * tests/test-fcntl.c (check_flags, main): Enhance test for items
31178         we now guarantee.
31179
31180         fcntl: work around cygwin bug in F_DUPFD
31181         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
31182         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
31183         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
31184         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
31185         * doc/posix-functions/fcntl.texi (fcntl): Document it.
31186
31187         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
31188         * modules/fcntl (Files): List new files.
31189         (configure.ac): Run a test.
31190         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
31191         * lib/fcntl.c (rpl_fcntl): Likewise.
31192         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
31193         (gl_FCNTL_H): Always replace fcntl.h.
31194         * modules/fcntl-h (Makefile.am): Substitute witnesses.
31195         * lib/fcntl.in.h (fcntl): Declare replacement.
31196         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
31197         needed, plus a witness.
31198         * doc/posix-functions/fcntl.texi (fcntl): Document this.
31199         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
31200         * tests/test-fcntl.c: New file.
31201         * modules/fcntl-tests: Likewise.
31202
31203         binary-io: avoid potential compilation warning
31204         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
31205         directives.
31206
31207         fflush: avoid compilation error on NetBSD
31208         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
31209         between off_t and fpos_t, since the latter is sometimes a struct.
31210         * lib/fseeko.c (rpl_fseeko): Likewise.
31211         Reported by Alexander Nasonov <alnsn@yandex.ru>.
31212
31213 2009-12-15  Eric Blake  <ebb9@byu.net>
31214
31215         fcntl-h, stdio, sys_ioctl: fix declarations
31216         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
31217         function must not take arguments.
31218         * lib/sys_ioctl.in.h (ioctl): Likewise.
31219         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
31220         (open): Add a link warning.
31221
31222 2009-12-15  Jim Meyering  <meyering@redhat.com>
31223
31224         areadlink, areadlink-with-size: relax license to LGPLv2+
31225         * modules/areadlink (License): Relax to LGPLv2+.
31226         * modules/areadlink-with-size (License): Likewise.
31227
31228 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
31229             Bruno Haible  <bruno@clisp.org>
31230
31231         *printf: Fix memory leak.
31232         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
31233         * lib/vfprintf.c (vfprintf): Likewise.
31234         * lib/dprintf.c (dprintf): Likewise.
31235         * lib/vdprintf.c (vdprintf): Likewise.
31236
31237 2009-12-14  Eric Blake  <ebb9@byu.net>
31238
31239         accept4: adjust module dependencies
31240         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
31241
31242         utimens: one more try at avoiding compiler warning
31243         * lib/utimens.c (lutimens): Lower scope of result.
31244
31245 2009-12-13  Bruno Haible  <bruno@clisp.org>
31246
31247         Move the malloc checking from module 'list' to new module 'xlist'.
31248         * modules/xlist: New file.
31249         * lib/gl_xlist.h: New file.
31250         * lib/gl_xlist.c: New file.
31251         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
31252         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
31253         gl_list_add_last, gl_list_add_before, gl_list_add_after,
31254         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
31255         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
31256         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
31257         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
31258         gl_sortedlist_nx_add): New declarations.
31259         (struct gl_list_implementation): Rename and change methods accordingly.
31260         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
31261         (gl_list_nx_create): Renamed from gl_list_create.
31262         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
31263         (gl_list_nx_set_at): Renamed from gl_list_set_at.
31264         (gl_list_nx_add_first): Renamed from gl_list_add_first.
31265         (gl_list_nx_add_last): Renamed from gl_list_add_last.
31266         (gl_list_nx_add_before): Renamed from gl_list_add_before.
31267         (gl_list_nx_add_after): Renamed from gl_list_add_after.
31268         (gl_list_nx_add_at): Renamed from gl_list_add_at.
31269         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
31270         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
31271         gl_list_create_empty.
31272         (gl_list_nx_create): Renamed from gl_list_create.
31273         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
31274         (gl_list_nx_set_at): Renamed from gl_list_set_at.
31275         (gl_list_nx_add_first): Renamed from gl_list_add_first.
31276         (gl_list_nx_add_last): Renamed from gl_list_add_last.
31277         (gl_list_nx_add_before): Renamed from gl_list_add_before.
31278         (gl_list_nx_add_after): Renamed from gl_list_add_after.
31279         (gl_list_nx_add_at): Renamed from gl_list_add_at.
31280         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
31281         * lib/gl_array_list.c: Don't include xalloc.h.
31282         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
31283         NULL upon out-of-memory.
31284         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
31285         out-of-memory.
31286         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
31287         Change return type to 'int'.
31288         (gl_array_nx_set_at): Renamed from gl_array_set_at.
31289         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
31290         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
31291         upon out-of-memory.
31292         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
31293         upon out-of-memory.
31294         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
31295         upon out-of-memory.
31296         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
31297         upon out-of-memory.
31298         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
31299         out-of-memory.
31300         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
31301         Update.
31302         (gl_array_list_implementation): Update.
31303         * lib/gl_carray_list.c: Don't include xalloc.h.
31304         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
31305         Return NULL upon out-of-memory.
31306         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
31307         out-of-memory.
31308         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
31309         Change return type to 'int'.
31310         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
31311         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
31312         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
31313         upon out-of-memory.
31314         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
31315         upon out-of-memory.
31316         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
31317         out-of-memory.
31318         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
31319         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
31320         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
31321         Update.
31322         (gl_carray_list_implementation): Update.
31323         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
31324         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
31325         gl_linked_create_empty. Return NULL upon out-of-memory.
31326         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
31327         out-of-memory.
31328         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
31329         Change return type to 'int'. Return -1 upon out-of-memory.
31330         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
31331         out-of-memory.
31332         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
31333         upon out-of-memory.
31334         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
31335         upon out-of-memory.
31336         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
31337         NULL upon out-of-memory.
31338         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
31339         upon out-of-memory.
31340         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
31341         out-of-memory.
31342         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
31343         Update.
31344         * lib/gl_linked_list.c: Don't include xalloc.h.
31345         (gl_linked_list_implementation): Update.
31346         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
31347         (add_to_bucket): Change return type to 'int'.
31348         (gl_linkedhash_list_implementation): Update.
31349         * lib/gl_anytree_list1.h (free_subtree): New function.
31350         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
31351         gl_tree_create_empty. Return NULL upon out-of-memory.
31352         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
31353         Change return type to 'int'. Return -1 upon out-of-memory.
31354         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
31355         out-of-memory.
31356         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
31357         (gl_tree_remove_node): New function, moved here from
31358         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
31359         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
31360         Update.
31361         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
31362         malloc, not xmalloc. Return NULL upon out-of-memory.
31363         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
31364         out-of-memory.
31365         (gl_tree_remove_node_from_tree): New function, extracted from
31366         gl_tree_remove_node.
31367         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
31368         upon out-of-memory.
31369         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
31370         out-of-memory.
31371         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
31372         upon out-of-memory.
31373         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
31374         upon out-of-memory.
31375         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
31376         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
31377         not xmalloc. Return NULL upon out-of-memory.
31378         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
31379         out-of-memory.
31380         (gl_tree_remove_node_from_tree): New function, extracted from
31381         gl_tree_remove_node.
31382         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
31383         upon out-of-memory.
31384         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
31385         out-of-memory.
31386         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
31387         upon out-of-memory.
31388         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
31389         upon out-of-memory.
31390         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
31391         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
31392         gl_anytree_list1.h before gl_anyavltree_list2.h.
31393         (gl_avltree_list_implementation): Update.
31394         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
31395         gl_anytree_list1.h before gl_anyavltree_list2.h.
31396         (gl_rbtree_list_implementation): Update.
31397         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
31398         Change return type to 'int'. Return -1 upon out-of-memory. Use
31399         __builtin_expect.
31400         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
31401         (gl_avltreehash_list_implementation): Update.
31402         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
31403         (gl_rbtreehash_list_implementation): Update.
31404         * modules/array-list (Depends-on): Remove xalloc.
31405         * modules/carray-list (Depends-on): Likewise.
31406         * modules/linked-list (Depends-on): Likewise.
31407         * modules/linkedhash-list (Depends-on): Likewise.
31408         * modules/avltree-list (Depends-on): Likewise.
31409         * modules/rbtree-list (Depends-on): Likewise.
31410         * modules/avltreehash-list (Depends-on): Likewise.
31411         * modules/rbtreehash-list (Depends-on): Likewise.
31412
31413         * modules/xsublist: New file.
31414         * lib/gl_xsublist.h: New file.
31415         * lib/gl_xsublist.c: New file.
31416         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
31417         (gl_sublist_nx_create): New declaration.
31418         * lib/gl_sublist.c: Don't include xalloc.h.
31419         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
31420         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
31421         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
31422         Change return type to 'int'. Return -1 upon out-of-memory.
31423         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
31424         upon out-of-memory.
31425         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
31426         NULL upon out-of-memory.
31427         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
31428         upon out-of-memory.
31429         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
31430         NULL upon out-of-memory.
31431         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
31432         NULL upon out-of-memory.
31433         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
31434         upon out-of-memory.
31435         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
31436         (gl_sublist_list_implementation): Update.
31437         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
31438         upon out-of-memory.
31439         * modules/sublist (Depends-on): Remove xalloc.
31440
31441         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
31442         * tests/test-carray_list.c: Likewise.
31443         * tests/test-linked_list.c: Likewise.
31444         * tests/test-linkedhash_list.c: Likewise.
31445         * tests/test-avltree_list.c: Likewise.
31446         * tests/test-rbtree_list.c: Likewise.
31447         * tests/test-avltreehash_list.c: Likewise.
31448         * tests/test-rbtreehash_list.c: Likewise.
31449         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
31450         * modules/carray-list-tests (Makefile.am): Likewise.
31451         * modules/linked-list-tests (Makefile.am): Likewise.
31452         * modules/linkedhash-list-tests (Makefile.am): Likewise.
31453         * modules/avltree-list-tests (Makefile.am): Likewise.
31454         * modules/rbtree-list-tests (Makefile.am): Likewise.
31455         * modules/avltreehash-list-tests (Makefile.am): Likewise.
31456         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
31457
31458         * NEWS: Mention the changes.
31459
31460         * lib/clean-temp.c: Include gl_xlist.h.
31461         * modules/clean-temp (Depends-on): Add xlist.
31462
31463         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
31464         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
31465
31466         * tests/test-array_oset.c: Include gl_xlist.h.
31467         * modules/array-oset-tests (Depends-on): Add xlist.
31468
31469         Reported by José E. Marchesi <jemarch@gnu.org>.
31470
31471 2009-12-13  Bruno Haible  <bruno@clisp.org>
31472
31473         Move the malloc checking from module 'oset' to new module 'xoset'.
31474         * modules/xoset: New file.
31475         * lib/gl_xoset.h: New file.
31476         * lib/gl_xoset.c: New file.
31477         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
31478         declarations.
31479         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
31480         (struct gl_oset_implementation): Rename and change methods accordingly.
31481         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
31482         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
31483         'int'. Mark as __warn_unused_result__.
31484         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
31485         gl_oset_create_empty.
31486         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
31487         'int'.
31488         * lib/gl_array_oset.c: Don't include xalloc.h.
31489         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
31490         malloc, not xmalloc.
31491         (grow): Change return type to 'int'. Don't call xalloc_die.
31492         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
31493         to 'int'.
31494         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
31495         'int'.
31496         (gl_array_oset_implementation): Update.
31497         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
31498         gl_tree_create_empty.
31499         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
31500         'int'.
31501         * lib/gl_avltree_oset.c: Don't include xalloc.h.
31502         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
31503         xmalloc.
31504         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
31505         not xmalloc.
31506         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
31507         xmalloc.
31508         (gl_avltree_oset_implementation): Update.
31509         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
31510         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
31511         xmalloc.
31512         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
31513         not xmalloc.
31514         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
31515         xmalloc.
31516         (gl_rbtree_oset_implementation): Update.
31517         * modules/array-oset (Depends-on): Remove xalloc.
31518         * modules/avltree-oset (Depends-on): Likewise.
31519         * modules/rbtree-oset (Depends-on): Likewise.
31520         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
31521         * tests/test-avltree_oset.c: Likewise.
31522         * tests/test-rbtree_oset.c: Likewise.
31523         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
31524         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
31525         * modules/rbtree-oset-tests (Makefile.am): Likewise.
31526         * NEWS: Mention the change.
31527
31528 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
31529
31530         maint.mk: allow a project to override release-prep commands
31531         * top/maint.mk (alpha, beta, stable): Move release-preparatory
31532         commands into a new rule.
31533         (release-prep): New rule.
31534         (release-prep-hook): New overridable variable.
31535
31536 2009-12-13  Bruno Haible  <bruno@clisp.org>
31537
31538         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
31539
31540 2009-12-13  Jim Meyering  <meyering@redhat.com>
31541
31542         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
31543         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
31544
31545 2009-12-12  Bruno Haible  <bruno@clisp.org>
31546
31547         duplocale: Tweak.
31548         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
31549
31550 2009-12-12  Karl Berry  <karl@gnu.org>
31551
31552         * config/srclist.txt (strtoll.c): tab changes, no more sync.
31553
31554 2009-12-12  Bruno Haible  <bruno@clisp.org>
31555
31556         * m4/po.m4: Undo incorrect untabification.
31557
31558 2009-12-12  Bruno Haible  <bruno@clisp.org>
31559
31560         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
31561         * modules/c-strtod (Depends-on): Add locale.
31562         * modules/c-strtold (Depends-on): Likewise.
31563
31564 2009-12-12  Bruno Haible  <bruno@clisp.org>
31565
31566         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
31567
31568 2009-12-11  Eric Blake  <ebb9@byu.net>
31569
31570         setenv: relax requirement in light of POSIX ruling
31571         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
31572         not NULL.
31573         * tests/test-setenv.c (main): Relax test.
31574         * tests/test-unsetenv.c (main): Likewise.
31575         * doc/posix-functions/setenv.texi (setenv): Document this.
31576         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
31577
31578 2009-12-11  Bruno Haible  <bruno@clisp.org>
31579
31580         New module 'fd-safer-flag'.
31581         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
31582         * lib/dup-safer.c (dup_safer_flag): Remove function.
31583         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
31584         * lib/fd-safer.c (fd_safer_flag): Remove function.
31585         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
31586         * modules/cloexec (configure.ac): Drop indicator macro.
31587         * modules/fd-safer-flag: New file.
31588         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
31589         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
31590         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
31591
31592 2009-12-11  Bruno Haible  <bruno@clisp.org>
31593
31594         Tests for module 'nl_langinfo'.
31595         * modules/nl_langinfo-tests: New file.
31596         * tests/test-nl_langinfo.sh: New file.
31597         * tests/test-nl_langinfo.c: New file.
31598
31599         New module 'nl_langinfo'.
31600         * lib/nl_langinfo.c: New file.
31601         * m4/nl_langinfo.m4: New file.
31602         * modules/nl_langinfo: New file.
31603         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
31604
31605 2009-12-11  Bruno Haible  <bruno@clisp.org>
31606
31607         Tests for module 'langinfo'.
31608         * modules/langinfo-tests: New file.
31609         * tests/test-langinfo.c: New file.
31610
31611         New module 'langinfo'.
31612         * lib/langinfo.in.h: New file.
31613         * m4/langinfo_h.m4: New file.
31614         * modules/langinfo: New file.
31615         * doc/posix-headers/langinfo.texi: Mention the new module.
31616
31617 2009-12-11  Bruno Haible  <bruno@clisp.org>
31618
31619         * lib/config.charset: Untabify.
31620
31621 2009-12-11  Bruno Haible  <bruno@clisp.org>
31622
31623         * modules/unistd-safer (configure.ac): Drop indicator macro.
31624
31625 2009-12-11  Bruno Haible  <bruno@clisp.org>
31626
31627         Move pipe2-safer code to its own file.
31628         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
31629         * lib/pipe-safer.c (pipe2_safer): Remove function.
31630         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
31631         (Makefile.am): Add it to lib_SOURCES.
31632
31633 2009-12-10  Bruno Haible  <bruno@clisp.org>
31634
31635         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
31636
31637 2009-12-10  Bruno Haible  <bruno@clisp.org>
31638
31639         Declare which arguments expect non-NULL values, for GCC and clang.
31640         * build-aux/arg-nonnull.h: New file.
31641         * modules/arg-nonnull: New file.
31642         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
31643         (inet_ntop, inet_pton): Use it.
31644         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
31645         (closedir, dirfd, opendir, scandir, alphasort): Use it.
31646         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
31647         (open, openat): Use it.
31648         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
31649         (fnmatch): Use it.
31650         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
31651         (getopt, getopt_long, getopt_long_only): Use it.
31652         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
31653         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
31654         Use it.
31655         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
31656         (iconv_open): Use it.
31657         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
31658         (strtoimax, strtoumax): Use it.
31659         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
31660         (duplocale): Use it.
31661         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
31662         (frexp, frexpl): Use it.
31663         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
31664         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
31665         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
31666         (tsearch, tfind, tdelete, twalk): Use it.
31667         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
31668         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
31669         sigpending): Use it.
31670         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
31671         (posix_spawn, posix_spawnp, posix_spawnattr_init,
31672         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
31673         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
31674         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
31675         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
31676         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
31677         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
31678         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
31679         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
31680         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
31681         Use it.
31682         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
31683         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
31684         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
31685         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
31686         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
31687         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
31688         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
31689         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
31690         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
31691         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
31692         strtoull, unsetenv): Use it.
31693         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
31694         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
31695         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
31696         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
31697         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
31698         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
31699         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
31700         (strcasecmp, strncasecmp): Use it.
31701         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
31702         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
31703         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
31704         rpl_setsockopt): Use it.
31705         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
31706         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
31707         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
31708         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
31709         (gettimeofday): Use it.
31710         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
31711         (times): Use it.
31712         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
31713         (uname): Use it.
31714         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
31715         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
31716         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
31717         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
31718         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
31719         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
31720         unlinkat, write): Use it.
31721         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
31722         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
31723         * lib/argv-iter.h: Include arg-nonnull.h.
31724         (_ATTRIBUTE_NONNULL_): Remove macro.
31725         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
31726         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
31727         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
31728         optimization.
31729         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
31730         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
31731         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
31732         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
31733         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
31734         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
31735         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
31736         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
31737         * modules/arpa_inet (Depends-on): Add arg-nonnull.
31738         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
31739         * modules/dirent (Depends-on): Add arg-nonnull.
31740         (Makefile.am): Insert arg-nonnull.h into dirent.h.
31741         * modules/fcntl-h (Depends-on): Add arg-nonnull.
31742         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
31743         * modules/fnmatch (Depends-on): Add arg-nonnull.
31744         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
31745         * modules/getopt-posix (Depends-on): Add arg-nonnull.
31746         (Makefile.am): Insert arg-nonnull.h into getopt.h.
31747         * modules/glob (Depends-on): Add arg-nonnull.
31748         (Makefile.am): Insert arg-nonnull.h into glob.h.
31749         * modules/iconv_open (Depends-on): Add arg-nonnull.
31750         (Makefile.am): Insert arg-nonnull.h into iconv.h.
31751         * modules/inttypes (Depends-on): Add arg-nonnull.
31752         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
31753         * modules/locale (Depends-on): Add arg-nonnull.
31754         (Makefile.am): Insert arg-nonnull.h into locale.h.
31755         * modules/math (Depends-on): Add arg-nonnull.
31756         (Makefile.am): Insert arg-nonnull.h into math.h.
31757         * modules/netdb (Depends-on): Add arg-nonnull.
31758         (Makefile.am): Insert arg-nonnull.h into netdb.h.
31759         * modules/search (Depends-on): Add arg-nonnull.
31760         (Makefile.am): Insert arg-nonnull.h into search.h.
31761         * modules/signal (Depends-on): Add arg-nonnull.
31762         (Makefile.am): Insert arg-nonnull.h into signal.h.
31763         * modules/spawn (Depends-on): Add arg-nonnull.
31764         (Makefile.am): Insert arg-nonnull.h into spawn.h.
31765         * modules/stdio (Depends-on): Add arg-nonnull.
31766         (Makefile.am): Insert arg-nonnull.h into stdio.h.
31767         * modules/stdlib (Depends-on): Add arg-nonnull.
31768         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
31769         * modules/string (Depends-on): Add arg-nonnull.
31770         (Makefile.am): Insert arg-nonnull.h into string.h.
31771         * modules/strings (Depends-on): Add arg-nonnull.
31772         (Makefile.am): Insert arg-nonnull.h into strings.h.
31773         * modules/sys_socket (Depends-on): Add arg-nonnull.
31774         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
31775         * modules/sys_stat (Depends-on): Add arg-nonnull.
31776         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
31777         * modules/sys_time (Depends-on): Add arg-nonnull.
31778         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
31779         * modules/sys_times (Depends-on): Add arg-nonnull.
31780         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
31781         * modules/sys_utsname (Depends-on): Add arg-nonnull.
31782         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
31783         * modules/time (Depends-on): Add arg-nonnull.
31784         (Makefile.am): Insert arg-nonnull.h into time.h.
31785         * modules/unistd (Depends-on): Add arg-nonnull.
31786         (Makefile.am): Insert arg-nonnull.h into unistd.h.
31787         * modules/wchar (Depends-on): Add arg-nonnull.
31788         (Makefile.am): Insert arg-nonnull.h into wchar.h.
31789         * modules/argv-iter (Depends-on): Add arg-nonnull.
31790         * tests/test-canonicalize.c (null_ptr): New function.
31791         (main): Use it.
31792         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
31793         (main): Use it.
31794         * tests/test-memmem.c (null_ptr): New function.
31795         (main): Use it.
31796         Reported by Jim Meyering.
31797
31798 2009-12-10  Bruno Haible  <bruno@clisp.org>
31799
31800         Use spaces for indentation, not tabs.
31801         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
31802         * m4/*.m4: Untabify.
31803         * build-aux/*.h: Untabify.
31804         * tests/**/*.[hc]: Untabify.
31805         * README: New section "Indent with spaces, not TABs", based on
31806         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
31807         * NEWS: Mention the change.
31808
31809 2009-12-10  Bruno Haible  <bruno@clisp.org>
31810
31811         pty test: Fix link error.
31812         * modules/pty-tests (Makefile.am): Add the default LDADD value to
31813         test_pty_LDADD.
31814
31815 2009-12-07  Simon Josefsson  <simon@josefsson.org>
31816
31817         * modules/pty: New file.
31818         * modules/pty-tests: New file.
31819         * m4/pty.m4: New file.
31820         * tests/test-pty.c: New file.
31821         * doc/glibc-headers/pty.texi: Modified.
31822         * doc/glibc-functions/forkpty.texi: Modified.
31823         * doc/glibc-functions/openpty.texi: Modified.
31824
31825 2009-12-10  Bruno Haible  <bruno@clisp.org>
31826
31827         Avoid syntax error in C++ mode.
31828         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
31829
31830 2009-12-10  Bruno Haible  <bruno@clisp.org>
31831
31832         Use sed with option -e.
31833         * gnulib-tool (func_version, func_emit_copyright_notice,
31834         func_emit_initmacro_end, func_import, func_create_testdir): Pass
31835         option -e to sed.
31836         * modules/link-warning (Makefile.am): Likewise.
31837
31838 2009-12-10  Jim Meyering  <meyering@redhat.com>
31839
31840         mgetgroups: do not write bytes beyond end of malloc'd buffer
31841         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
31842         username, we call getgroups with a one-element-shorter buffer,
31843         but still told it the length was original, max_n_groups.
31844
31845 2009-12-09  Eric Blake  <ebb9@byu.net>
31846
31847         cloexec: relax license
31848         * modules/cloexec (Maintainer): Add myself.
31849         (License): Use LGPL, not GPL.
31850
31851         link-warning: optimize generation
31852         * modules/link-warning (Makefile.am): Reduce process usage.
31853
31854 2009-12-09  Bruno Haible  <bruno@clisp.org>
31855
31856         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
31857         workaround was added on 2009-11-17.
31858
31859 2009-12-09  Jim Meyering  <meyering@redhat.com>
31860             Bruno Haible  <bruno@clisp.org>
31861
31862         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
31863         * modules/link-warning (Makefile.am): Make the comment-removing sed
31864         command more robust in the face of bootstrap-prepended comment lines.
31865
31866 2009-12-09  Bruno Haible  <bruno@clisp.org>
31867
31868         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
31869         most one group.
31870
31871 2009-12-09  Simon Josefsson <simon@josefsson.org>
31872             Bruno Haible  <bruno@clisp.org>
31873
31874         * build-aux/link-warning.h: Add copyright notice.
31875         * modules/link-warning (Makefile.am): Generate link-warning.h from
31876         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
31877         * NEWS: Mention change in link-warning module.
31878         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
31879         * modules/dirent (Makefile.am): Add dependency to dirent.h.
31880         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
31881         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
31882         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
31883         * modules/math (Makefile.am): Add dependency to math.h.
31884         * modules/search (Makefile.am): Add dependency to search.h.
31885         * modules/signal (Makefile.am): Add dependency to signal.h.
31886         * modules/spawn (Makefile.am): Add dependency to spawn.h.
31887         * modules/stdio (Makefile.am): Add dependency to stdio.h.
31888         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
31889         * modules/string (Makefile.am): Add dependency to string.h.
31890         * modules/strings (Makefile.am): Add dependency to strings.h.
31891         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
31892         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
31893         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
31894         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
31895         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
31896         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
31897         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
31898         * modules/unistd (Makefile.am): Add dependency to unistd.h.
31899         * modules/wchar (Makefile.am): Add dependency to wchar.h.
31900
31901 2009-12-09  Bruno Haible  <bruno@clisp.org>
31902
31903         fchdir: Optimize away rpl_fstat when possible.
31904         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
31905         REPLACE_OPEN_DIRECTORY.
31906         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
31907
31908 2009-12-09  Bruno Haible  <bruno@clisp.org>
31909
31910         * lib/fchdir.c: Update comment.
31911
31912 2009-12-09  Bruno Haible  <bruno@clisp.org>
31913
31914         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
31915
31916 2009-12-08  Eric Blake  <ebb9@byu.net>
31917
31918         fchdir: avoid memory leak on re-registration.
31919         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
31920
31921 2009-12-08  Jim Meyering  <meyering@redhat.com>
31922
31923         init.sh: avoid Solaris 10 /bin/sh portability problem
31924         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
31925         sourced script:
31926           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
31927           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
31928           bar
31929         tests/init.sh relied on that, accepting a --set-path=DIR argument,
31930         and two tests used that idiom.
31931         * tests/init.sh: Update suggested usage comments.
31932         (path_prepend_): New function, to be used in place
31933         of the --src-path=DIR option.
31934         (setup_): Move PATH-prepending code into path_prepend_.
31935         * tests/test-pread.sh: Adapt to new usage.
31936         * tests/test-xalloc-die.sh: Likewise.
31937
31938 2009-12-08  Simon Josefsson  <simon@josefsson.org>
31939
31940         * doc/gnulib.texi (Glibc pty.h): Add.
31941         * doc/glibc-functions/forkpty.texi: Add.
31942         * doc/glibc-functions/openpty.texi: Add.
31943         Suggested by Bruno Haible.
31944
31945 2009-12-08  Eric Blake  <ebb9@byu.net>
31946
31947         fchdir: fix logic bugs
31948         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
31949         * tests/test-fchdir.c (main): Enhance test.
31950         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
31951         is in use.
31952
31953         dup2: fix logic bugs
31954         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
31955         REPLACE_DUP2 to decide when rpl_dup2 is needed.
31956         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
31957         exists.
31958         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
31959
31960 2009-12-07  Eric Blake  <ebb9@byu.net>
31961
31962         unlink: fix m4 detection
31963         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
31964
31965         unistd-safer: add unit test
31966         * modules/unistd-safer-tests: New file.
31967         * tests/test-dup-safer.c: Likewise.
31968         * tests/test-cloexec.c (setmode): Avoid compiler warning.
31969         * tests/test-dup2.c (setmode): Likewise.
31970         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
31971
31972         cloexec: preserve text vs. binary across dup_cloexec
31973         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
31974         mode.
31975         * modules/dup2-tests (Depends-on): Add binary-io.
31976         * modules/cloexec-tests (Depends-on): Likewise.
31977         * tests/test-dup2.c (setmode, is_mode): New helpers.
31978         (main): Add tests that translation mode is preserved.
31979         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
31980         Reported by Bruno Haible.
31981
31982         mgetgroups: reduce duplicate listings
31983         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
31984         resulting array.
31985         * tests/test-chown.h (test_chown): Simplify client.
31986         * tests/test-lchown.h (test_lchown): Likewise.
31987
31988 2009-12-06  Bruno Haible  <bruno@clisp.org>
31989
31990         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
31991         value.
31992
31993 2009-12-06  Bruno Haible  <bruno@clisp.org>
31994
31995         * lib/progname.c: Include stdio.h, stdlib.h.
31996         (set_program_name): Reject a NULL argument.
31997
31998 2009-12-05  Eric Blake  <ebb9@byu.net>
31999
32000         pipe2-safer: new module
32001         * modules/pipe2-safer: New file.
32002         * lib/unistd-safer.h (pipe2_safer): New prototype.
32003         * lib/unistd--.h (pipe2): New wrapper.
32004         * lib/pipe-safer.c (pipe2_safer): New function.
32005         * modules/pipe (Depends-on): Add pipe2-safer.
32006         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
32007
32008         stdlib-safer: preserve cloexec flag for mkostemp[s]
32009         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
32010         fd_safer_flag.
32011
32012         unistd-safer: allow preservation of cloexec status via flag
32013         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
32014         prototypes.
32015         * lib/dup-safer.c (dup_safer_flag): New function.
32016         * lib/fd-safer.c (fd_safer_flag): Likewise.
32017         * modules/cloexec (configure.ac): Set witness.
32018
32019         test-dup2: enhance test
32020         * modules/dup2-tests (Depends-on): Add cloexec.
32021         * tests/test-dup2.c (main): Enhance test.
32022
32023         cloexec: add dup_cloexec
32024         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
32025         header and comments.
32026         * lib/cloexec.c (set_cloexec_flag): Add comments.
32027         (dup_cloexec): New function, with mingw implementation borrowed
32028         from...
32029         * lib/w32spawn.h (dup_noinherit): ...here.
32030         * modules/execute (Depends-on): Add cloexec.
32031         * modules/pipe (Depends-on): Likewise.
32032         * modules/cloexec (Depends-on): Add dup2.
32033         * modules/cloexec-tests (Files): New file.
32034         * tests/test-cloexec.c: Likewise.
32035
32036         test-xalloc-die: fix test for mingw
32037         * modules/xalloc-die-tests (Files): Add tests/init.sh.
32038         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
32039         directory and .exe suffix off argv[0] output.
32040
32041         test-fseeko: fix test for mingw
32042         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
32043         than undefining fseek, so test will pass on mingw.
32044
32045 2009-12-05  Bruno Haible  <bruno@clisp.org>
32046
32047         * lib/progname.h (set_program_name): Clarify specification.
32048         * lib/progname.c (set_program_name): Likewise.
32049         Reported by Jim Meyering.
32050
32051 2009-12-05  Jim Meyering  <meyering@redhat.com>
32052
32053         maint.mk: backslash-escape parens in default regexp
32054         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
32055         backslash-escape the literal parentheses.
32056
32057         maint.mk: news-date-check: use grep -E
32058         * top/maint.mk (today): Define a Make variable, not a...
32059         (news-date-check): ...shell variable.
32060         (news-date-regexp): Use the Make variable.
32061         Use grep's -E option.  Change the failing diagnostic to mention
32062         the variable, $(news-date-regexp).
32063
32064 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
32065
32066         maintainer-makefile: allow customization of NEWS entry format
32067         * top/maint.mk (news-date-regexp): New overridable variable.
32068         (news-date-check): Use it.
32069
32070 2009-12-04  Eric Blake  <ebb9@byu.net>
32071
32072         mgetgroups: add xgetgroups, and avoid ENOSYS failures
32073         * lib/mgetgroups.h (xgetgroups): New prototype.
32074         * lib/mgetgroups.c (xgetgroups): New wrapper.
32075         (mgetgroups): Handle ENOSYS.
32076         * modules/mgetgroups (Depends-on): Add realloc.
32077         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
32078
32079         mgetgroups: avoid argument promotion issues with -1
32080         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
32081         for invalid gid_t.
32082         * tests/test-chown.h (getegid, test_chown): Likewise.
32083         * tests/test-lchown.h (getegid, test_lchown): Likewise.
32084
32085 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
32086
32087         exclude: Fix header file problems.
32088         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
32089
32090 2009-12-01  Jim Meyering  <meyering@redhat.com>
32091
32092         fts: fts_open: do not let an empty string cause immediate failure
32093         This is required in support of GNU rm, for which the command
32094         "rm A '' B" must process and remove both A and B, in spite of
32095         the empty string argument.
32096         * lib/fts.c (fts_open): Do not let the presence of an empty string
32097         cause fts_open to fail immediately.  Most fts-using tools must be
32098         able to process all arguments, in order, and can be expected to
32099         diagnose such arguments themselves.
32100
32101 2009-11-30  Eric Blake  <ebb9@byu.net>
32102
32103         utimens: fix compilation error
32104         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
32105         Declare variable at right scope.
32106
32107 2009-11-29  Jim Meyering  <meyering@redhat.com>
32108
32109         bootstrap: handle perl-5.11's changed --version output
32110         * build-aux/bootstrap (get_version): Handle perl separately,
32111         since perl-5.11's --version output is different.
32112
32113 2009-11-28  Jim Meyering  <meyering@redhat.com>
32114
32115         userspec: depend on the inttostr module, too
32116         * modules/userspec (Depends-on): Add inttostr.
32117
32118         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
32119         * lib/userspec.c (parse_with_separator): Do not accept a user ID
32120         number of MAXUID when it evaluates to (uid_t) -1.
32121         Likewise for group ID.  Reported by Matt McCutchen in
32122         <http://savannah.gnu.org/bugs/?28113>
32123
32124         userspec: reformat to use spaces, not TABs
32125         * lib/userspec.c: Expand TABs to spaces.
32126         Add Emacs' "indent-tabs-mode: nil" hint.
32127
32128 2009-11-27  Eric Blake  <ebb9@byu.net>
32129
32130         getopt-gnu: flush out another BSD bug
32131         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
32132         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
32133         flush out BSD bug.
32134         * tests/test-getopt.h (test_getopt): End lists with NULL.
32135         * tests/test-getopt_long.h (test_getopt_long): Likewise.
32136         (test_getopt_long_posix): Enhance test.
32137         * modules/getopt-posix-tests (Depends-on): Add stdbool.
32138         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
32139         getopt-gnu.
32140         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
32141         Likewise.
32142
32143 2009-11-27  Simon Josefsson  <simon@josefsson.org>
32144
32145         * modules/idpriv-droptemp-tests (Notice): Fix text.
32146
32147 2009-11-27  Jim Meyering  <meyering@redhat.com>
32148
32149         test-xalloc-die: avoid spurious failure due to libtool argv difference
32150         In a libtool-enabled project, this test would fail due to a difference
32151         in the emitted program name, e.g.,
32152         -test-xalloc-die: memory exhausted
32153         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
32154         Use program to avoid that.
32155         * modules/xalloc-die-tests (Depends-on): Add progname.
32156         * tests/test-xalloc-die.c: Include progname.h".
32157         (program_name): Remove decl.
32158         (main): Call set_program_name.
32159         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
32160
32161 2009-11-26  Richard Jones  <rjones@redhat.com>
32162
32163         w32sock: leave win32 error in place.
32164         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
32165
32166 2009-11-26  Eric Blake  <ebb9@byu.net>
32167
32168         init.sh: suggest to use skip_ and fail_ functions in comments
32169         * tests/init.sh: Add a sentence.
32170
32171 2009-11-25  Bruno Haible  <bruno@clisp.org>
32172
32173         init.sh: add documentation in comments
32174         * tests/init.sh: Add some developer and user documentation.
32175
32176 2009-11-26  Jim Meyering  <meyering@redhat.com>
32177
32178         init.sh: accommodate even those who specify bogus srcdir manually
32179         * tests/init.sh: Normally, srcdir is guaranteed by automake and
32180         configure-time tests to be sanitized, so that there is no need to
32181         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
32182         (with no double quotes) suffices.  However, since tests may be
32183         invoked manually, and since you may explicitly set srcdir to the
32184         name of a directory containing spaces, do quote its uses here.
32185         * tests/test-pread.sh: Likewise.
32186         Suggested by Bruno Haible.
32187
32188         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
32189         * tests/test-pread.sh: Write no data into the pipe, because
32190         test-pread actually reads none.  This avoids a diagnostic,
32191         "bash: echo: write error: Broken pipe", that arises in the unusual
32192         event something is ignoring SIGPIPE, and might be interpreted
32193         as some sort of failure.  Reported by Bruno Haible.
32194
32195 2009-11-25  Jim Meyering  <meyering@redhat.com>
32196
32197         test-pread: cover failure with ESPIPE and EINVAL
32198         * tests/test-pread.c (main): Test for failure, too.
32199         * tests/test-pread.sh: Invoke with stdin on a pipe.
32200         Suggested by Eric Blake.
32201
32202         pread: improvement and fix
32203         * modules/pread (Depends-on): Depend on lseek, for portability to
32204         e.g., mingw.  Suggested by Eric Blake.
32205         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
32206
32207         unistd.in.h: correct declaration of pread
32208         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
32209         Reported by Richard W.M. Jones.
32210
32211         test-pread.sh: distribute the test script
32212         * modules/pread-tests (Files): Include test-pread.sh.
32213
32214         test-pread.sh: clean up
32215         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
32216         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
32217         That is unnecessary, since it's always ".".
32218         Suggestion from Eric Blake.
32219
32220         test-pread.sh: make executable
32221         * tests/test-pread.sh: Set executable bit.
32222         Reported by Eric Blake.
32223
32224         correct typo in test-pread.sh
32225         * tests/test-pread.sh: Add #! line.
32226
32227         test pread
32228         * tests/test-pread.c: New file.
32229         * tests/test-pread.sh: Likewise.
32230         * modules/pread-tests: Likewise.
32231
32232         pread: new module
32233         * modules/pread: New file.
32234         * lib/unistd.in.h (pread): Define/declare.
32235         * lib/pread.c (pread): New file.
32236         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
32237         * modules/unistd (Makefile.am): Substitute witnesses.
32238         * doc/posix-functions/pread.texi (pread): Update.
32239         * MODULES.html.sh: Add pread.
32240
32241 2009-11-25  Jim Meyering  <meyering@redhat.com>
32242
32243         tests/init.sh: new file to be used via most *.sh tests
32244         * tests/init.sh: New file.
32245
32246 2009-11-25  Eric Blake  <ebb9@byu.net>
32247
32248         utimens: work around older Linux failure with symlinks
32249         * lib/utimens.c (lutimensat_works_really): New variable.
32250         (fdutimens, lutimens): Use it to manage kernels that support
32251         nanosecond times on files, but not on symlinks.
32252         Reported by Ondřej Vašík.
32253
32254         utimes: fix configure grammar
32255         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
32256
32257 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
32258
32259         regex: Fix fastmap for multibyte character ranges.
32260         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
32261         characters when a multibyte character range is included.
32262
32263 2009-11-22  Andy Wingo  <wingo@pobox.com>
32264
32265         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
32266         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
32267
32268 2009-11-24  Bruno Haible  <bruno@clisp.org>
32269
32270         doc: Most *_l functions exist in MacOS X 10.5.
32271         * doc/posix-functions/duplocale.texi: Update platforms list.
32272         * doc/posix-functions/freelocale.texi: Likewise.
32273         * doc/posix-functions/newlocale.texi: Likewise.
32274         * doc/posix-functions/uselocale.texi: Likewise.
32275         * doc/posix-functions/isalnum_l.texi: Likewise.
32276         * doc/posix-functions/isalpha_l.texi: Likewise.
32277         * doc/posix-functions/isblank_l.texi: Likewise.
32278         * doc/posix-functions/iscntrl_l.texi: Likewise.
32279         * doc/posix-functions/isdigit_l.texi: Likewise.
32280         * doc/posix-functions/isgraph_l.texi: Likewise.
32281         * doc/posix-functions/islower_l.texi: Likewise.
32282         * doc/posix-functions/isprint_l.texi: Likewise.
32283         * doc/posix-functions/ispunct_l.texi: Likewise.
32284         * doc/posix-functions/isspace_l.texi: Likewise.
32285         * doc/posix-functions/isupper_l.texi: Likewise.
32286         * doc/posix-functions/iswalnum_l.texi: Likewise.
32287         * doc/posix-functions/iswalpha_l.texi: Likewise.
32288         * doc/posix-functions/iswblank_l.texi: Likewise.
32289         * doc/posix-functions/iswcntrl_l.texi: Likewise.
32290         * doc/posix-functions/iswctype_l.texi: Likewise.
32291         * doc/posix-functions/iswdigit_l.texi: Likewise.
32292         * doc/posix-functions/iswgraph_l.texi: Likewise.
32293         * doc/posix-functions/iswlower_l.texi: Likewise.
32294         * doc/posix-functions/iswprint_l.texi: Likewise.
32295         * doc/posix-functions/iswpunct_l.texi: Likewise.
32296         * doc/posix-functions/iswspace_l.texi: Likewise.
32297         * doc/posix-functions/iswupper_l.texi: Likewise.
32298         * doc/posix-functions/iswxdigit_l.texi: Likewise.
32299         * doc/posix-functions/isxdigit_l.texi: Likewise.
32300         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
32301         * doc/posix-functions/strcasecmp_l.texi: Likewise.
32302         * doc/posix-functions/strcoll_l.texi: Likewise.
32303         * doc/posix-functions/strfmon_l.texi: Likewise.
32304         * doc/posix-functions/strftime_l.texi: Likewise.
32305         * doc/posix-functions/strncasecmp_l.texi: Likewise.
32306         * doc/posix-functions/strxfrm_l.texi: Likewise.
32307         * doc/posix-functions/tolower_l.texi: Likewise.
32308         * doc/posix-functions/toupper_l.texi: Likewise.
32309         * doc/posix-functions/towctrans_l.texi: Likewise.
32310         * doc/posix-functions/towlower_l.texi: Likewise.
32311         * doc/posix-functions/towupper_l.texi: Likewise.
32312         * doc/posix-functions/wcscoll_l.texi: Likewise.
32313         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
32314         * doc/posix-functions/wctrans_l.texi: Likewise.
32315         * doc/posix-functions/wctype_l.texi: Likewise.
32316         * doc/glibc-functions/strptime_l.texi: Likewise.
32317         * doc/glibc-functions/strtod_l.texi: Likewise.
32318         * doc/glibc-functions/strtof_l.texi: Likewise.
32319         * doc/glibc-functions/strtol_l.texi: Likewise.
32320         * doc/glibc-functions/strtold_l.texi: Likewise.
32321         * doc/glibc-functions/strtoll_l.texi: Likewise.
32322         * doc/glibc-functions/strtoul_l.texi: Likewise.
32323         * doc/glibc-functions/strtoull_l.texi: Likewise.
32324         * doc/glibc-functions/wcsftime_l.texi: Likewise.
32325         * doc/glibc-functions/wcstod_l.texi: Likewise.
32326         * doc/glibc-functions/wcstof_l.texi: Likewise.
32327         * doc/glibc-functions/wcstol_l.texi: Likewise.
32328         * doc/glibc-functions/wcstold_l.texi: Likewise.
32329         * doc/glibc-functions/wcstoll_l.texi: Likewise.
32330         * doc/glibc-functions/wcstoul_l.texi: Likewise.
32331         * doc/glibc-functions/wcstoull_l.texi: Likewise.
32332
32333 2009-11-24  Bruno Haible  <bruno@clisp.org>
32334
32335         duplocale: Fix logic bug.
32336         * lib/duplocale.c: Don't include <langinfo.h>.
32337         (_NL_LOCALE_NAME): Remove macro.
32338         (rpl_duplocale): Use setlocale instead of nl_langinfo.
32339         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
32340
32341 2009-11-23  Jim Meyering  <meyering@redhat.com>
32342
32343         test-update-copyright: don't hard-code /usr/bin/perl
32344         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
32345         perl to print the current year.  Gilles Espinasse reported that
32346         the replaced use of perl was hard-coded as /usr/bin/perl.
32347
32348 2009-11-23  Bruno Haible  <bruno@clisp.org>
32349
32350         duplocale: Add support for glibc 2.3.x.
32351         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
32352
32353 2009-11-22  Bruno Haible  <bruno@clisp.org>
32354
32355         vasnprintf: Tiny optimization.
32356         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
32357         MacOS X.
32358
32359 2009-11-22  Bruno Haible  <bruno@clisp.org>
32360
32361         Tests for module 'duplocale'.
32362         * modules/duplocale-tests: New file.
32363         * tests/test-duplocale.c: New file.
32364
32365         New module 'duplocale'.
32366         * m4/duplocale.m4: New file.
32367         * lib/locale.in.h (duplocale): New declaration.
32368         * lib/duplocale.c: New file.
32369         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
32370         gl_LOCALE_H_DEFAULTS): New macros.
32371         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
32372         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
32373         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
32374         REPLACE_DUPLOCALE.
32375         * modules/duplocale: New file.
32376         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
32377
32378 2009-11-22  Bruno Haible  <bruno@clisp.org>
32379
32380         * modules/locale-tests (configure.ac): Test for newlocale function.
32381         * tests/test-locale.c: When the system has extended locale functions,
32382         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
32383
32384         locale: Make locale_t available when possible.
32385         * lib/locale.in.h: Include <xlocale.h> when it exists.
32386         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
32387         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
32388         * modules/locale (Depends-on): Add extensions.
32389         (Makefile.am): Also substitute HAVE_XLOCALE_H.
32390         * doc/posix-headers/locale.texi: Document the problem with locale_t.
32391
32392 2009-11-22  Bruno Haible  <bruno@clisp.org>
32393
32394         Add comments.
32395         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
32396         invocation.
32397         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
32398         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
32399         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
32400
32401 2009-11-22  Bruno Haible  <bruno@clisp.org>
32402
32403         error: account for the possibility of freopen (stdout).
32404         * lib/error.c: Include <unistd.h>.
32405         (flush_stdout): New function, extracted from error and error_at_line.
32406         Determine stdout's fd dynamically.
32407         (error, error_at_line): Invoke flush_stdout.
32408         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
32409         * modules/error (Depends-on): Add unistd.
32410
32411 2009-11-22  Bruno Haible  <bruno@clisp.org>
32412
32413         diffseq: Add comment.
32414         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
32415
32416 2009-11-22  Jim Meyering  <meyering@redhat.com>
32417
32418         c-stack: avoid defining an unused static function
32419         * lib/c-stack.c (find_stack_direction): Do not define this function
32420         when it will not be used.
32421
32422         diffseq: avoid spurious gcc warnings
32423         * lib/diffseq.h (IF_LINT2): Define.
32424         (compareseq): Use it to initialize two members of "part".
32425         This avoids two used-uninitialized warnings.
32426
32427 2009-11-21  Jim Meyering  <meyering@redhat.com>
32428
32429         c-stack: avoid "ignoring return value of `write'" warning
32430         * lib/c-stack.c: Include "ignore-value.h".
32431         (die): Explicitly ignore each write return value.
32432         * modules/c-stack (Depends-on): Add ignore-value.
32433
32434 2009-11-21  Bruno Haible  <bruno@clisp.org>
32435
32436         diffseq: reduce scope of variable 'best'.
32437         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
32438         variable, earlier used for two different purposes.
32439
32440 2009-11-21  Jim Meyering  <meyering@redhat.com>
32441
32442         diffseq: remove useless assignment to "best"
32443         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
32444         assignment.  At that point "best" is already guaranteed to be zero.
32445
32446 2009-11-20  Eric Blake  <ebb9@byu.net>
32447
32448         build: mention ftp redirector in release announcements
32449         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
32450         values that used to come from cfg.mk; mention FTP redirect URL.
32451         * build-aux/announce-gen: Mention the mirror list.
32452         Suggested by Karl Berry.
32453
32454         nanosleep: improve port to mingw
32455         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
32456         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
32457         LIB_NANOSLEEP, but only when needed.
32458         * modules/select (Link): Document LIBSOCKET.
32459         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
32460         enough.
32461
32462         nanosleep: work around cygwin bug
32463         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
32464         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
32465         bug.
32466         (getnow): Delete, not needed.
32467         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
32468         LIB_CLOCK_GETTIME.
32469         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
32470         clock-time, gettime.
32471         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
32472         bug.
32473         * modules/nanosleep-tests: New test.
32474         * tests/test-nanosleep.c: New file.
32475
32476         sleep: work around cygwin bug
32477         * lib/sleep.c (rpl_sleep): Work around the bug.
32478         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
32479         (gl_PREREQ_SLEEP): Delete unused macro.
32480         * modules/sleep (Depends-on): Add verify.
32481         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
32482         * modules/unistd (Makefile.am): Substitute witness.
32483         * lib/unistd.in.h (sleep): Update prototype.
32484         * doc/posix-functions/sleep.texi (sleep): Document the bug.
32485         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
32486         * modules/sleep-tests (Depends-on): Check for alarm.
32487
32488 2009-11-20  Jim Meyering  <meyering@redhat.com>
32489
32490         maint.mk: improve sc_prohibit_magic_number_exit
32491         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
32492         so it does not match uses like System.exit(1).
32493         Add comments showing how to correct all offenders.
32494
32495 2009-11-19  Eric Blake  <ebb9@byu.net>
32496
32497         xalloc-die-tests: add missing library
32498         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
32499
32500         test-xvasprintf: silence compiler warnings
32501         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
32502         empty string from gcc.
32503
32504 2009-11-19  Jim Meyering  <meyering@redhat.com>
32505
32506         xfreopen: new module, from coreutils
32507         * modules/xfreopen: New module.
32508         * lib/xfreopen.c: New file.
32509         * lib/xfreopen.h: New file.
32510         * MODULES.html.sh (File stream based Input/Output"): Add it.
32511
32512 2009-11-19  Eric Blake  <ebb9@byu.net>
32513
32514         manywarnings: depend on warnings
32515         * modules/manywarnings (Depends-on): Add warnings.
32516
32517         build: avoid compiler warnings
32518         * lib/select.c (rpl_select): Delete unused variable.
32519         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
32520
32521 2009-11-18  Eric Blake  <ebb9@byu.net>
32522
32523         tests: avoid false negative with --with-packager
32524         * tests/test-version-etc.sh: Discard packager information.
32525         * tests/test-argp-version-etc-1.sh: Likewise.
32526         Reported by Mike Frysinger.
32527
32528         utimens: fix regression on Solaris
32529         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
32530         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
32531         can only change fd timestamps via futimesat.  Instead, use an
32532         additional witness macro to avoid BSD bug.
32533         Reported by Jim Meyering.
32534
32535 2009-11-17  Eric Blake  <ebb9@byu.net>
32536
32537         usleep: use it to simplify tests
32538         * modules/stat-time-tests (Depends-on): Add usleep.
32539         (configure.ac): Drop usleep check.
32540         * modules/chown-tests (Depends-on, configure.ac): Likewise.
32541         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
32542         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
32543         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
32544         * modules/openat-tests (Depends-on, configure.ac): Likewise.
32545         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
32546         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
32547         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
32548         Likewise.
32549         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
32550         * tests/test-lchown.h (nap): Likewise.
32551         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
32552         * tests/test-stat-time.c (nap): Likewise.
32553         * tests/test-utimens-common.h (nap): Update comments.
32554
32555         usleep: new module
32556         * modules/usleep: New file.
32557         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
32558         * lib/usleep.c (usleep): Likewise.
32559         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
32560         * modules/unistd (Makefile.am): Substitute witnesses.
32561         * lib/unistd.in.h (usleep): Add declaration.
32562         * doc/pastposix-functions/usleep.texi (usleep): Document this.
32563         * MODULES.html.sh (Date and time): Likewise.
32564         * modules/usleep-tests (Depends-on): New test.
32565         * tests/test-usleep.c: New file.
32566
32567         chown: work around OpenBSD bug
32568         * lib/chown.c (rpl_chown): Work around the bug.
32569         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
32570         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
32571         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
32572         * modules/chown (Depends-on): Add stdbool.
32573         * modules/lchown (Depends-on): Likewise.
32574         * doc/posix-functions/chown.texi (chown): Document the bug.
32575         * doc/posix-functions/lchown.texi (lchown): Likewise.
32576         * tests/test-lchown.h (test_chown): Relax test.
32577
32578         mkstemp: avoid conflict with C++ keyword template
32579         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
32580         * lib/mkostemp.c (mkostemp): Likewise.
32581         * lib/mkostemps.c (mkostemps): Likewise.
32582         * lib/mkstemp.c (mkstemp): Likewise.
32583         * lib/mkstemps.c (mkstemps): Likewise.
32584
32585         xalloc-die-tests: optimize
32586         * tests/test-xalloc-die.sh: Reduce number of processes.
32587
32588 2009-11-17  Simon Josefsson  <simon@josefsson.org>
32589
32590         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
32591         patch from ludo@gnu.org (Ludovic Courtès).
32592
32593 2009-11-17  Jim Meyering  <meyering@redhat.com>
32594
32595         version-etc: use proper license string
32596         * modules/version-etc (License): Use LGPL, not LGPLv3+.
32597         * modules/version-etc-fsf: Likewise.
32598
32599 2009-11-17  Simon Josefsson  <simon@josefsson.org>
32600
32601         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
32602         printed to stdout.  Deal with EOL differences.
32603
32604 2009-11-17  Eric Blake  <ebb9@byu.net>
32605
32606         unsetenv: work around Solaris bug
32607         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
32608         * lib/unsetenv.c (rpl_unsetenv): Work around it.
32609         Reported by Jim Meyering.
32610
32611         vasnprintf: avoid compiler warnings
32612         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
32613         variables.
32614         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
32615
32616 2009-11-17  Simon Josefsson  <simon@josefsson.org>
32617
32618         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
32619         settings since xalloc-die is no longer the self test,
32620         xalloc-die.sh is.
32621
32622 2009-11-17  Jim Meyering  <meyering@redhat.com>
32623
32624         test-xalloc-die.sh: make the code agree with the commit log
32625         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
32626         at the end, just in case you happen to have a test-xalloc-die
32627         program in some other PATH directory.
32628
32629         test-xalloc-die.sh: fix a portability bug
32630         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
32631         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
32632         Otherwise, argv[0] (as often seen in diagnostics) would be too
32633         system-dependent, sometimes with, and sometimes without the leading "./".
32634
32635         version-etc-fsf: relax license to LGPLv3+
32636         * modules/version-etc-fsf (License): Relax license.
32637
32638 2009-11-16  Eric Blake  <ebb9@byu.net>
32639
32640         xalloc-die-tests: avoid printing null pointer
32641         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
32642         shell script.
32643         * tests/test-xalloc-die.c (program_name): Declare.
32644         * tests/test-xalloc-die.sh (tmpfiles): New file.
32645
32646         setenv, unsetenv: work around various bugs
32647         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
32648         (setenv) [HAVE_SETENV]: Work around bugs.
32649         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
32650         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
32651         for bugs.
32652         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
32653         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
32654         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
32655         * modules/stdlib (Makefile.am): Update substitutions.
32656         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
32657         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
32658         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
32659         * modules/setenv-tests: New test.
32660         * modules/unsetenv-tests: Likewise.
32661         * tests/test-setenv.c: New file.
32662         * tests/test-unsetenv.c: Likewise.
32663
32664 2009-11-16  Jim Meyering  <meyering@redhat.com>
32665
32666         version-etc: relax license to LGPLv3+
32667         * modules/version-etc (License): Relax license.
32668
32669         better AC_REQUIRE expanded-before-required-warning avoidance
32670         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
32671         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
32672         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
32673         which is no longer needed.
32674
32675 2009-11-16  Eric Blake  <ebb9@byu.net>
32676
32677         test-freading: clean up temporary file
32678         * tests/test-freading.c (main): Remove file on success, and use
32679         ASSERT more liberally.
32680         Reported by Jim Meyering.
32681
32682 2009-11-16  Jim Meyering  <meyering@redhat.com>
32683
32684         avoid new AC_REQUIRE expanded-before-required warnings
32685         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
32686         merely using it.
32687         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
32688         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
32689
32690 2009-11-15  Simon Josefsson  <simon@josefsson.org>
32691
32692         * tests/test-xalloc-die.c: New file.
32693         * modules/xalloc-die-tests: New file.
32694         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
32695         XFAIL_TESTS so it can be appended by modules.
32696
32697 2009-11-15  Simon Josefsson  <simon@josefsson.org>
32698
32699         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
32700         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
32701
32702 2009-11-14  Eric Blake  <ebb9@byu.net>
32703
32704         fnmatch: avoid compiler warning
32705         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
32706         to silence compiler warning about mismatch signedness in ?:.
32707         Reported by Robert Millan.
32708
32709         intprops: add double-inclusion guard
32710         * lib/intprops.h: Allow idempotent includes.
32711         Suggested by Bruce Korb.
32712
32713         openat: detect Solaris fchownat bug
32714         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
32715         penalizing glibc chownat when only lchownat is broken.
32716         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
32717         trailing slash bugs.
32718         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
32719         * modules/openat-tests (Files): Include more files.
32720         (Depends-on): Add mgetgroups, sleep, stat-time.
32721         (configure.ac): Add additional checks.
32722         (Makefile.am): Build new test.
32723         * tests/test-fchownat.c: New file.
32724
32725         lchown: detect Solaris and FreeBSD bug
32726         * lib/lchown.c (rpl_lchown): Work around bug.
32727         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
32728         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
32729         * modules/unistd (Makefile.am): Populate it.
32730         * lib/unistd.in.h (lchown): Update declaration.
32731         * doc/posix-functions/lchown.texi (lchown): Document the bug.
32732         * modules/lchown-tests: New file.
32733         * tests/test-lchown.h (test_lchown): Likewise.
32734         * tests/test-lchown.c (main): Likewise.
32735
32736         chown: detect Solaris and FreeBSD bug
32737         * lib/chown.c (rpl_chown): Work around bug.
32738         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
32739         (gl_PREREQ_CHOWN): Delete.
32740         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
32741         * modules/unistd (Makefile.am): Populate it.
32742         * lib/unistd.in.h (chown): Update declaration.
32743         * lib/lchown.c (chown): Update client.
32744         * modules/lchown (Depends-on): Add lstat.
32745         * doc/posix-functions/chown.texi (chown): Document the bug.
32746         * doc/posix-functions/getgroups.texi (getgroups): Document
32747         getgroups pitfall.
32748         * modules/chown-tests: New file.
32749         * tests/test-chown.h (test_chown): Likewise.
32750         * tests/test-chown.c (main): Likewise.
32751
32752 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
32753
32754         gnulib-tool: correctly detect absence of m4 directories
32755         * gnulib-tool: Avoid extra newline on data passed to wc -l.
32756
32757 2009-11-14  Jim Meyering  <meyering@redhat.com>
32758
32759         maint.mk: Prohibit inclusion of "xalloc.h" without use.
32760         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
32761
32762 2009-11-14  John W. Eaton  <jwe@gnu.org>
32763
32764         strftime.h: wrap funtion declaration in extern "C" block
32765         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
32766
32767 2009-11-13  Eric Blake  <ebb9@byu.net>
32768
32769         getgroups: avoid compiler warning
32770         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
32771
32772         getgroups: work around FreeBSD bug
32773         * lib/getgroups.c (rpl_getgroups): Work around the bug.
32774         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
32775         * doc/posix-functions/getgroups.texi (getgroups): Document it.
32776         * tests/test-getgroups.c (main): Fix buffer overrun.
32777
32778         getgroups: avoid compilation failure
32779         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
32780         * modules/getgroups (Depends-on): Add stdint.
32781
32782 2009-11-13  Jim Meyering  <meyering@redhat.com>
32783
32784         test-getgroups: avoid compilation failure
32785         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
32786
32787 2009-11-13  Eric Blake  <ebb9@byu.net>
32788
32789         mgetgroups: new module, taken from coreutils
32790         * modules/mgetgroups: New file.
32791         * lib/mgetgroups.h: Likewise.
32792         * lib/mgetgroups.c (mgetgroups): Likewise.
32793         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
32794         * MODULES.html.sh (Users and groups): Mention it.
32795
32796         getgroups: don't expose GETGROUPS_T to user
32797         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
32798         an element at a time if GETGROUPS_T is wrong size.
32799         * lib/getugroups.h (getugroups): Change signature.
32800         * lib/unistd.in.h (getgroups): Likewise.
32801         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
32802         signature needs fixing.
32803         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
32804         AC_TYPE_GETGROUPS.
32805         * modules/group-member (Depends-on): Add getgroups.
32806         * lib/group-member.c (group_info, get_group_info): Use gid_t.
32807         (group_member): Rely on getgroups replacement.
32808         * lib/getugroups.c (getugroups): Use gid_t.
32809         * tests/test-getgroups.c (main): Likewise.
32810         * NEWS: Mention the signature change.
32811         * doc/posix-functions/getgroups.texi (getgroups): Mention the
32812         problem with signature.
32813         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
32814         GETGROUPS_T is still useful for setgroups.
32815
32816         getgroups, getugroups: provide stubs for mingw
32817         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
32818         * lib/getugroups.c (getugroups): Likewise.
32819         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
32820         function.  Modernize replacement scheme.
32821         (gl_PREREQ_GETGROUPS): Delete.
32822         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
32823         * modules/getgroups (configure.ac): Declare witness.
32824         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
32825         * modules/unistd (Depends-on): Substitute witness.
32826         * lib/unistd.in.h (getgroups): Declare replacement.
32827
32828         getgroups: avoid calling exit
32829         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
32830         drop xalloc.
32831         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
32832         dependencies.
32833         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
32834         exiting, in the rare case of malloc failure.
32835
32836         getgroups: fix logic error
32837         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
32838         has more than 20 groups.
32839         * modules/getgroups-tests: New test.
32840         * tests/test-getgroups.c: New file.
32841
32842 2009-11-13  Simon Josefsson  <simon@josefsson.org>
32843
32844         * tests/test-base64.c: Improve.
32845
32846 2009-11-13  Simon Josefsson  <simon@josefsson.org>
32847
32848         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
32849         Blake <ebb9@byu.net>.
32850
32851 2009-11-13  Simon Josefsson  <simon@josefsson.org>
32852
32853         * tests/test-xvasprintf.c: Add %s%s related checks.
32854
32855 2009-11-12  Eric Blake  <ebb9@byu.net>
32856
32857         version-etc: match standards.texi style
32858         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
32859         and use <> only for URLs.
32860
32861 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
32862
32863         fts: do not fail on a submount during traversal
32864         * lib/fts.c (fts_build): Read the stat info again after opening
32865         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
32866         Original report at http://bugzilla.redhat.com/501848.
32867
32868 2009-11-12  Jim Meyering  <meyering@redhat.com>
32869
32870         bootstrap: sync from coreutils
32871         * build-aux/bootstrap (bootstrap_epilogue): New function.
32872         Use git_modules_config in one more place.  This make bootstrap's
32873         --gnulib-srcdir option more useful for testing.
32874
32875         bootstrap: generalize autoheader check
32876         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
32877         AC_CONFIG_HEADERS.
32878
32879 2009-11-11  Eric Blake  <ebb9@byu.net>
32880
32881         mkfifoat: use new modules for Solaris and BSD bugs
32882         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
32883         * lib/mkfifoat.c (mknodat): Split...
32884         * lib/mknodat.c (mknodat): ...into new file.
32885         * modules/mkfifoat (Files): Ship new file.
32886         (Depends-on): Add mkfifo, mknod.
32887         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
32888         (Depends-on): Add symlink.
32889         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
32890         redundant with test_mkfifo.h.
32891         (do_mkfifoat, do_mknodat): New helpers.
32892
32893         mknod: new module
32894         * modules/mknod: New file.
32895         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
32896         * lib/mknod.c (mknod): Likewise.
32897         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
32898         defaults.
32899         * modules/sys_stat (Makefile.am): Substitute them.
32900         * lib/sys_stat.in.h (mknod): Declare replacement.
32901         * MODULES.html.sh (Support for systems lacking POSIX:2008):
32902         Document it.
32903         * doc/posix-functions/mknod.texi (mknod): Likewise.
32904         * modules/mknod-tests: New test.
32905         * tests/test-mknod.c: Likewise.
32906
32907         mkfifo: new module
32908         * modules/mkfifo: New file.
32909         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
32910         * lib/mkfifo.c (mkfifo): Likewise.
32911         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
32912         defaults.
32913         * modules/sys_stat (Makefile.am): Substitute them.
32914         * lib/sys_stat.in.h (mkfifo): Declare replacement.
32915         * MODULES.html.sh (Support for systems lacking POSIX:2008):
32916         Document it.
32917         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
32918         * modules/mkfifo-tests: New test.
32919         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
32920         from test-mkfifoat.c.
32921         * tests/test-mkfifo.c: New file.
32922
32923         readlink: detect FreeBSD bug
32924         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
32925         slash on symlink.
32926         * doc/posix-functions/readlink.texi (readlink): Document the bug.
32927         * tests/test-readlink.h (test_readlink): Enhance test.
32928
32929         symlink: detect FreeBSD bug
32930         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
32931         slash on symlink.
32932         * doc/posix-functions/symlink.texi (symlink): Document the bug.
32933         * tests/test-symlink.h (test_symlink): Enhance test.
32934
32935 2009-11-10  Eric Blake  <ebb9@byu.net>
32936
32937         link: detect FreeBSD bug
32938         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
32939         symlink.
32940         * doc/posix-functions/link.texi (link): Document the bug.
32941         * tests/test-link.h (test_link): Enhance test.
32942         * tests/test-linkat.c (main): Update caller.
32943
32944         unlink, remove: detect FreeBSD bug
32945         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
32946         slash on symlink.
32947         * doc/posix-functions/unlink.texi (unlink): Document the bug.
32948         * doc/posix-functions/remove.texi (remove): Likewise.
32949         * tests/test-unlink.h (test_unlink): Enhance test.
32950         * tests/test-remove.c (main): Likewise.
32951
32952 2009-11-09  Eric Blake  <ebb9@byu.net>
32953
32954         rename: detect FreeBSD bug
32955         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
32956         slash on symlink.
32957         * modules/renameat-tests (Depends-on): Add filenamecat.
32958         * tests/test-rename.h (test_rename): Allow one more errno.
32959         * tests/test-renameat.c (main): Likewise.
32960         * doc/posix-functions/rename.texi (rename): Document the bug.
32961
32962         open: detect FreeBSD bug
32963         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
32964         symlink.
32965         * doc/posix-functions/open.texi (open): Document the bug.
32966         * doc/posix-functions/utimes.texi (utimes): Likewise.
32967         * tests/test-open.h (test_open): Add parameters, and test symlink
32968         handling.
32969         * tests/test-open.c (main): Adjust caller.
32970         * tests/test-fcntl-safer.c (main): Likewise.
32971         * modules/open-tests (Depends-on): Add stdbool, symlink.
32972         * modules/fcntl-safer-tests (Depends-on): Likewise.
32973         * tests/test-openat.c (main): Add test-open tests.
32974
32975         stat: detect FreeBSD bug
32976         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
32977         symlink.
32978         * doc/posix-functions/stat.texi (stat): Document the bug.
32979         * tests/test-stat.h (test_stat_func): Add argument.
32980         * tests/test-stat.c (main): Adjust caller.
32981         * tests/test-fstatat.c (main): Likewise.
32982         * modules/stat-tests (Depends-on): Add stdbool, symlink.
32983         Reported by Jim Meyering.
32984
32985 2009-11-09  James Youngman  <jay@gnu.org>
32986
32987         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
32988         * lib/strftime.c: Correct placement of #include "ignore-value.h".
32989
32990 2009-11-08  Jim Meyering  <meyering@redhat.com>
32991
32992         utimens: remove invalid futimesat call
32993         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
32994         It used the file descriptor of the target file as the DIR_FD
32995         parameter and NULL as the file name.  That caused failure with
32996         errno == EFAULT on FreeBSD-8.0-rc2
32997
32998 2009-11-07  Eric Blake  <ebb9@byu.net>
32999
33000         fflush, freadseek: use fseeko, not fseek
33001         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
33002         (clear_ungetc_buffer): Avoid potential problems on large files.
33003         * lib/freadseek.c (freadseek): Likewise.
33004         * modules/freadseek (Depends-on): Add fseeko.
33005         * modules/fseek (configure.ac): Set a witness.
33006         * tests/test-fflush.c (main): Use fseeko.
33007         * tests/test-fpurge.c (fseek): Disable link warning.
33008         * tests/test-freadable.c (fseek): Likewise.
33009         * tests/test-freading.c (fseek): Likewise.
33010         * tests/test-fseeko.c (fseek): Likewise.
33011         * tests/test-ftell.c (fseek): Likewise.
33012         * tests/test-ftello.c (fseek): Likewise.
33013         * tests/test-fwritable.c (fseek): Likewise.
33014         * tests/test-fwriting.c (fseek): Likewise.
33015
33016 2009-11-06  Simon Josefsson  <simon@josefsson.org>
33017
33018         * modules/memchr (Depends-on): Drop getpagesize dependency.
33019
33020 2009-11-06  Simon Josefsson  <simon@josefsson.org>
33021
33022         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
33023         Reported by Ludovic Courtès.
33024         * build-aux/pmccabe2html: Improve example usage.
33025         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
33026
33027 2009-11-06  Jim Meyering  <meyering@redhat.com>
33028
33029         do-release-commit-and-tag: New module.
33030         Automate the release-commit and tag process.
33031         * build-aux/do-release-commit-and-tag: New script, from coreutils.
33032         * modules/do-release-commit-and-tag: New file.
33033         * MODULES.html.sh (Support for maintaining and releasing): Add it.
33034
33035 2009-11-06  Simon Josefsson  <simon@josefsson.org>
33036
33037         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
33038         because test-select.c uses inet_pton.
33039
33040 2009-11-06  Simon Josefsson  <simon@josefsson.org>
33041
33042         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
33043         GETADDRINFO_LIB.  Bump serial number.
33044         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
33045         Suggested by Eric Blake <ebb9@byu.net>.
33046
33047 2009-11-05  Eric Blake  <ebb9@byu.net>
33048
33049         strtod: detect darwin bug
33050         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
33051         Reported by Leo Davis.
33052
33053         freopen-safer: new module
33054         * modules/freopen-safer: New module.
33055         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
33056         * lib/freopen-safer.c (freopen_safer): New file.
33057         * lib/stdio-safer.h (freopen_safer): New declaration.
33058         * lib/stdio--.h (freopen): New override.
33059         * MODULES.html.sh (File stream based Input/Output): Mention it.
33060         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
33061         freopen-safer module.
33062         * doc/posix-functions/stderr.texi (stderr): Likewise.
33063         * doc/posix-functions/stdin.texi (stdin): Likewise.
33064         * doc/posix-functions/stdout.texi (stdout): Likewise.
33065         * modules/freopen-safer-tests: New test.
33066         * tests/test-reopen-safer.c: New file.
33067
33068 2009-11-05  Jim Meyering  <meyering@redhat.com>
33069
33070         maint.mk: Prohibit inclusion of "close-stream.h" without use.
33071         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
33072
33073 2009-11-05  Simon Josefsson  <simon@josefsson.org>
33074
33075         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
33076
33077 2009-11-05  Simon Josefsson  <simon@josefsson.org>
33078
33079         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
33080
33081 2009-11-05  Simon Josefsson  <simon@josefsson.org>
33082
33083         Fix link error.
33084         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
33085         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
33086
33087 2009-11-05  Simon Josefsson  <simon@josefsson.org>
33088
33089         * tests/test-func.c: Also test value of __func__.
33090
33091 2009-11-05  Simon Josefsson  <simon@josefsson.org>
33092
33093         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
33094         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
33095
33096 2009-11-05  Bruno Haible  <bruno@clisp.org>
33097
33098         Fix link error.
33099         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
33100         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
33101         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
33102
33103 2009-11-05  Bruno Haible  <bruno@clisp.org>
33104
33105         Tests for module 'inet_pton'.
33106         * modules/inet_pton-tests: New file.
33107         * tests/test-inet_pton.c: New file.
33108
33109 2009-11-05  Bruno Haible  <bruno@clisp.org>
33110
33111         Tests for module 'inet_ntop'.
33112         * modules/inet_ntop-tests: New file.
33113         * tests/test-inet_ntop.c: New file.
33114
33115 2009-11-04  Eric Blake  <ebb9@byu.net>
33116
33117         stdlib-safer: wrap all mkstemp variants
33118         * modules/mkostemp (configure.ac): Set witness.
33119         * modules/mkostemps (configure.ac): Likewise.
33120         * modules/mkstemps (configure.ac): Likewise.
33121         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
33122         (mkstemps_safer): Wrap more functions.
33123         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
33124         wrapping.
33125         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
33126         (mkstemps_safer): Implement the wrappers.
33127
33128         mkstemps, mkostemps: new modules
33129         * modules/mkostemps: New module.
33130         * modules/mkstemps: Likewise.
33131         * lib/mkostemps.c (mkostemps): New file.
33132         * lib/mkstemps.c (mkstemps): Likewise.
33133         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
33134         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
33135         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
33136         * modules/stdlib (Makefile.am): Substitute them.
33137         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
33138         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
33139         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
33140         * doc/gnulib.texi (Glibc stdlib.h): Include them.
33141         * MODULES.html.sh (File system functions): Mention them.
33142
33143         tempname: resync from glibc
33144         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
33145         same values for __GT_FILE as glibc.  Abort even when assertions
33146         are disabled.
33147         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
33148         match its value otherwise.  Allow idempotent inclusion.
33149         * lib/mkdtemp.c (mkdtemp): Adjust caller.
33150         * lib/mkostemp.c (mkostemp): Likewise.
33151         * lib/mkstemp.c (mkstemp): Likewise.
33152         * lib/tmpfile.c (tmpfile): Likewise.
33153         * NEWS: Document this.
33154
33155         utimens: fix use of futimens on older Linux
33156         * lib/utimens.c (fdutimens): Use updated, rather than original,
33157         timespec to avoid bug in older Linux kernel.
33158         Reported by Simon Josefsson.
33159
33160 2009-11-04  Bruno Haible  <bruno@clisp.org>
33161
33162         Make num_processors more flexible and consistent.
33163         * lib/nproc.h (enum nproc_query): New type.
33164         (num_processors): Add a 'query' argument.
33165         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
33166         (num_processors): Add a 'query' argument. Test the value of the
33167         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
33168         mingw, count the number of CPUs available for the current process.
33169         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
33170         Check for sched_getaffinity and sched_getaffinity_np.
33171         * modules/nproc (Depends-on): Add c-ctype, extensions.
33172         * NEWS: Mention the change.
33173
33174 2009-11-03  Bruno Haible  <bruno@clisp.org>
33175
33176         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
33177
33178 2009-11-03  Jim Meyering  <meyering@redhat.com>
33179
33180         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
33181         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
33182         if it is defined.
33183
33184 2009-11-02  Eric Blake  <ebb9@byu.net>
33185
33186         mktime, timegm: share common declaration
33187         * lib/mktime-internal.h: New file.
33188         * lib/mktime.c: Use it rather than open-coding a declaration.
33189         * lib/timegm.c: Likewise.
33190         * modules/mktime (Files): Ship it.
33191         * modules/timegm (Files): Likewise.
33192         Suggested by Bruno Haible.
33193
33194         test-update-copyright: update test to match script changes
33195         * tests/test-update-copyright.sh: Avoid hard-coding perl
33196         location.  Don't update *.bak created by earlier runs.
33197
33198 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
33199             Simon Josefsson  <simon@josefsson.org>
33200             Bruno Haible  <bruno@clisp.org>
33201
33202         Fix link error on Solaris 8.
33203         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
33204         also in libnsl. Define also INET_PTON_LIB.
33205         * modules/inet_pton (Link): New section.
33206
33207 2009-11-02  Simon Josefsson  <simon@josefsson.org>
33208             Bruno Haible  <bruno@clisp.org>
33209
33210         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
33211         * modules/inet_ntop (Link): New section.
33212         Reported by Boyan Kasarov <bkasarov@gmail.com>.
33213
33214 2009-11-02  Eric Blake  <ebb9@byu.net>
33215
33216         maint: avoid compiler warnings in m4 macros
33217         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
33218         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
33219
33220 2009-11-02  Simon Josefsson  <simon@josefsson.org>
33221
33222         * m4/pmccabe2html.m4: Remove file.
33223         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
33224         function.  Change maintainer.
33225         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
33226         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
33227         Courtès).
33228
33229 2009-10-31  Eric Blake  <ebb9@byu.net>
33230
33231         fseeko: fix m4 regression
33232         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
33233         regression from 2009-10-27.
33234         Reported by Ralf Wildenhues.
33235
33236 2009-10-31  Jim Meyering  <meyering@redhat.com>
33237
33238         inttostr: aesthetics and improved (compile-time) safety
33239         Define inttype_is_signed rather than inttype_is_unsigned,
33240         since the sole use is via "#if inttype_is_signed".
33241         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
33242         inttype_is_unsigned.
33243         * lib/offtostr.c (inttype_is_signed): Likewise.
33244         * lib/uinttostr.c (inttype_is_signed): Likewise.
33245         * lib/umaxtostr.c (inttype_is_signed): Likewise.
33246         * lib/inttostr.c (inttostr): Use verify to cross-check the
33247         inttype_is_signed value and the signedness of the actual type.
33248         * modules/inttostr (Depends-on): Add verify.
33249
33250 2009-10-30  Eric Blake  <ebb9@byu.net>
33251
33252         build: avoid compiler warnings
33253         * lib/fchmodat.c (lchmod): Mark unused variables.
33254         * lib/getopt.c (_getopt_initialize): Likewise.
33255         * lib/mktime.c (__mktime_internal): Provide prototype.
33256         * lib/inttostr.c (inttostr): Avoid compiler warning even with
33257         older gcc that do not understand #pragma GCC diagnostic.
33258         * lib/uinttostr.c (inttype_is_unsigned): Define.
33259         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
33260
33261 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
33262
33263         stat: fix compilation on AIX
33264         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
33265         only see struct stat64.
33266
33267 2009-10-30  Eric Blake  <ebb9@byu.net>
33268
33269         exclude: make more robust
33270         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
33271         rather than masking a coding bug.
33272         Suggested by Bruno Haible.
33273
33274 2009-10-30  Jim Meyering  <meyering@redhat.com>
33275
33276         perl scripts: remove #!/usr/bin/perl in favor of more portable...
33277         Rather than putting #!/usr/bin/perl on the first line,
33278         start with a variant of what's recommended by "man perlrun" that
33279         invokes the first "perl" program from your shell's search path.
33280         * build-aux/gitlog-to-changelog: Replace #!... as above.
33281         Add a "Local Variables" perl mode setting.
33282         Prompted by a patch from Ludovic Courtès.
33283         Improved by Eric Blake.
33284         * build-aux/useless-if-before-free: Likewise.
33285         * build-aux/announce-gen: Likewise.
33286         * build-aux/update-copyright: Likewise.
33287
33288 2009-10-29  Eric Blake  <ebb9@byu.net>
33289
33290         filenamecat-lgpl: adjust clients
33291         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
33292         filenamecat.
33293         * modules/renameat (Depends-on): Likewise.
33294
33295         filenamecat: split into filenamecat-lgpl
33296         * modules/filenamecat-lgpl: New module.
33297         * modules/filenamecat (Files): Move library-safe files into
33298         filenamecat-lgpl.
33299         (Depends-on): Add filenamecat-lgpl.
33300         (configure.ac): Declare witness.
33301         * lib/filenamecat.h (file_name_concat): Only declare when using
33302         GPL module.
33303         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
33304         Move...
33305         * lib/filenamecat-lgpl.c: ...into new file.
33306         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
33307         (gl_FILE_NAME_CONCAT): Use it.
33308         * MODULES.html.sh (File system functions): Mention new module.
33309
33310         argp: avoid memory leak
33311         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
33312         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
33313         base_name, since the latter malloc()s and can call exit().
33314         Leak introduced 2006-07-03.
33315
33316         dirname-lgpl: adjust clients that don't need full dirname
33317         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
33318         * modules/filenamecat (Depends-on): Likewise.
33319         * modules/linkat (Depends-on): Likewise.
33320         * modules/mkancesdirs (Depends-on): Likewise.
33321         * modules/mkdir (Depends-on): Likewise.
33322         * modules/openat (Depends-on): Likewise.
33323         * modules/savewd (Depends-on): Likewise.
33324         * modules/rename (Depends-on): Likewise.
33325         (License): Relax license.
33326         * modules/mkdir-tests (Depends-on): Drop progname.
33327         (Makefile.am): Delete unneeded LDADD.
33328         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
33329
33330         dirname: split into dirname-lgpl
33331         * modules/dirname-lgpl: New module.
33332         * modules/dirname (Files): Move library-safe files into
33333         dirname-lgpl.
33334         (Depends-on): Add dirname-lgpl.
33335         (configure.ac): Declare witness.
33336         * modules/double-slash-root (License): Relax license.
33337         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
33338         module.
33339         * lib/dirname.c (dir_len, mdir_name): Move...
33340         * lib/dirname-lgpl.c: ...into new file.
33341         * lib/basename.c (last_component, base_len): Move...
33342         * lib/basename-lgpl.c: ...into new file.
33343         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
33344         (gl_DIRNAME): Use it.
33345         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
33346         Mention new module.
33347         * modules/dirname-tests (Depends-on): Add progname.
33348         * tests/test-dirname.c (program_name): Delete.
33349
33350         mkdir: make safe for libraries
33351         * modules/mkdir (Depends-on): Drop xalloc.
33352         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
33353         exit.
33354
33355         tests: avoid some compiler warnings
33356         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
33357         literals.
33358         * tests/test-memchr.c (main): Avoid type mismatch.
33359         * tests/test-arpa_inet.c (main): Avoid unused parameters.
33360         * tests/test-base64.c (main): Likewise.
33361         * tests/test-getdelim.c (main): Likewise.
33362         * tests/test-gethostname.c (main): Likewise.
33363         * tests/test-getline.c (main): Likewise.
33364         * tests/test-netinet_in.c (main): Likewise.
33365         * tests/test-select.c (open_server_socket, main): Likewise.
33366         * tests/test-select-stdin.c (main): Likewise.
33367         * tests/test-sockets.c (main): Likewise.
33368         * tests/test-strsignal.c (main): Likewise.
33369         * tests/test-sys_select.c (main): Likewise.
33370         * tests/test-sys_socket.c (main): Likewise.
33371         * tests/test-u64.c (main): Likewise.
33372         * tests/test-xfprintf-posix.c (main): Likewise.
33373         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
33374
33375         sockets: avoid compiler warning
33376         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
33377
33378         maint: detect usage(1) and other suspicious exits
33379         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
33380
33381 2009-10-29  Jim Meyering  <meyering@redhat.com>
33382
33383         timespec: long-to-int truncation could make timespec_cmp malfunction
33384         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
33385         a multiple of 2^32 nanoseconds as no difference.
33386
33387 2009-10-28  Jim Meyering  <meyering@redhat.com>
33388
33389         fprintftime: wrap macro code argument in "do {...} while(0)"
33390         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
33391         cpy macro must be a statement that can be followed by a semicolon.
33392         Now that the else clause contains a comment and is hence longer
33393         than one line, I require curly braces.  That in turn requires
33394         that we wrap this code block in the standard do...while(0).
33395
33396         fprintftime: remove stray semicolon from previous change
33397         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
33398
33399         fprintftime: avoid a warning about ignored fwrite return value
33400         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
33401         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
33402         that is unsafe.
33403         * modules/fprintftime (Depends-on): Add ignore-value.
33404
33405         exclude: avoid an unwarranted warning
33406         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
33407
33408 2009-10-27  Eric Blake  <ebb9@byu.net>
33409
33410         fseek: avoid compilation failure when fflush is replaced
33411         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
33412         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
33413         module is in use.
33414         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
33415         module is not in use; since REPLACE_FSEEK worked otherwise.
33416         (GNULIB_FTELLO): Likewise for ftell.
33417         Reported by Ian Beckwith and others.
33418
33419 2009-10-27  Bruno Haible  <bruno@clisp.org>
33420
33421         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
33422         Reported by Jim Meyering.
33423
33424 2009-10-27  Jim Meyering  <jim@meyering.net>
33425             Bruno Haible  <bruno@clisp.org>
33426
33427         Avoid warning despite dropping the return value of fwrite.
33428         * lib/unicodeio.c: Include ignore-value.h.
33429         (fwrite_success_callback): Explicitly ignore fwrite's return value.
33430         * modules/unicodeio (Depends-on): Add ignore-value.
33431
33432 2009-10-26  Eric Blake  <ebb9@byu.net>
33433
33434         areadlinkat: fix fallback path
33435         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
33436         pointer and zero.
33437
33438 2009-10-22  Pádraig Brady  <P@draigBrady.com>
33439
33440         Use a better IO block size for modern systems
33441         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
33442         * lib/md2.c: Likewise.
33443         * lib/md4.c: Likewise.
33444         * lib/md5.c: Likewise.
33445         * lib/sha1.c: Likewise.
33446         * lib/sha256.c: Likewise.
33447         * lib/sha512.c: Likewise.
33448
33449 2009-10-22  Eric Blake  <ebb9@byu.net>
33450
33451         tests: avoid several compiler warnings
33452         * tests/test-getcwd.c (main): Avoid buffer underflow.
33453         * tests/test-getdate.c (main): String literals are not safe with
33454         putenv, so use setenv.  Declare unused argument.
33455         * modules/getdate-tests (Depends-on): Add setenv.
33456         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
33457         problems with string literals in char *.
33458         * tests/test-hash.c (main): Avoid shadowing declaration.
33459         (insert_new): Treat string literals as char const *.
33460         * tests/test-getopt.h (test_getopt): Likewise.
33461         (getopt_loop): Alter types to minimize casting elsewhere.
33462         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
33463         (test_getopt_long_posix): Likewise.
33464         (do_getopt_long): Add wrapper to minimize casting.
33465         * tests/test-atexit.c (clear_temp_file): Use void.
33466         * tests/test-areadlink-with-size.c (main): Declare unused
33467         arguments.
33468         * tests/test-areadlink.c (main): Likewise.
33469         * tests/test-areadlinkat-with-size.c (main): Likewise.
33470         * tests/test-areadlinkat.c (main): Likewise.
33471         * tests/test-canonicalize-lgpl.c (main): Likewise.
33472         * tests/test-canonicalize.c (main): Likewise.
33473         * tests/test-dirent-safer.c (main): Likewise.
33474         * tests/test-dirname.c (main): Likewise.
33475         * tests/test-dup2.c (main): Likewise.
33476         * tests/test-fchdir.c (main): Likewise.
33477         * tests/test-fcntl-h.c (main): Likewise.
33478         * tests/test-fcntl-safer.c (main): Likewise.
33479         * tests/test-fdopendir.c (main): Likewise.
33480         * tests/test-fdutimensat.c (main): Likewise.
33481         * tests/test-fflush.c (main): Likewise.
33482         * tests/test-filenamecat.c (main): Likewise.
33483         * tests/test-filevercmp.c (main): Likewise.
33484         * tests/test-fopen-safer.c (main): Likewise.
33485         * tests/test-fopen.c (main): Likewise.
33486         * tests/test-fpending.c (main): Likewise.
33487         * tests/test-fpurge.c (main): Likewise.
33488         * tests/test-freading.c (main): Likewise.
33489         * tests/test-fstatat.c (main): Likewise.
33490         * tests/test-fsync.c (main): Likewise.
33491         * tests/test-futimens.c (main): Likewise.
33492         * tests/test-getndelim2.c (main): Likewise.
33493         * tests/test-gettimeofday.c (main): Likewise.
33494         * tests/test-getopt.c (main): Likewise.
33495         * tests/test-i-ring.c (main): Likewise.
33496         * tests/test-inttypes.c (main): Likewise.
33497         * tests/test-link.c (main): Likewise.
33498         * tests/test-lstat.c (main): Likewise.
33499         * tests/test-math.c (main): Likewise.
33500         * tests/test-md5.c (main): Likewise.
33501         * tests/test-memchr2.c (main): Likewise.
33502         * tests/test-memrchr.c (main): Likewise.
33503         * tests/test-mkdir.c (main): Likewise.
33504         * tests/test-mkdirat.c (main): Likewise.
33505         * tests/test-mkfifoat.c (main): Likewise.
33506         * tests/test-open.c (main): Likewise.
33507         * tests/test-openat-safer.c (main): Likewise.
33508         * tests/test-openat.c (main): Likewise.
33509         * tests/test-quotearg.c (main): Likewise.
33510         * tests/test-rawmemchr.c (main): Likewise.
33511         * tests/test-readlink.c (main): Likewise.
33512         * tests/test-remove.c (main): Likewise.
33513         * tests/test-rename.c (main): Likewise.
33514         * tests/test-renameat.c (main): Likewise.
33515         * tests/test-rmdir.c (main): Likewise.
33516         * tests/test-sha1.c (main): Likewise.
33517         * tests/test-signal.c (main): Likewise.
33518         * tests/test-sigaction.c (main): Likewise.
33519         * tests/test-stat.c (main): Likewise.
33520         * tests/test-stat-time.c (main): Likewise.
33521         * tests/test-stddef.c (main): Likewise.
33522         * tests/test-stdint.c (main): Likewise.
33523         * tests/test-stdio.c (main): Likewise.
33524         * tests/test-stdlib.c (main): Likewise.
33525         * tests/test-strchrnul.c (main): Likewise.
33526         * tests/test-strerror.c (main): Likewise.
33527         * tests/test-string.c (main): Likewise.
33528         * tests/test-strtod.c (main): Likewise.
33529         * tests/test-strverscmp.c (main): Likewise.
33530         * tests/test-symlink.c (main): Likewise.
33531         * tests/test-symlinkat.c (main): Likewise.
33532         * tests/test-sys_stat.c (main): Likewise.
33533         * tests/test-sys_time.c (main): Likewise.
33534         * tests/test-time.c (main): Likewise.
33535         * tests/test-unistd.c (main): Likewise.
33536         * tests/test-unlink.c (main): Likewise.
33537         * tests/test-unlinkat.c (main): Likewise.
33538         * tests/test-utimens.c (main): Likewise.
33539         * tests/test-utimensat.c (main): Likewise.
33540         * tests/test-version-etc.c (main): Likewise.
33541         * tests/test-wchar.c (main): Likewise.
33542         * tests/test-wctype.c (main): Likewise.
33543         * tests/test-xprintf-posix.c (main): Likewise.
33544         * tests/test-posixtm.c (main): Likewise.
33545         (STREQ): Delete unused macro.
33546         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
33547         shadowed variables.
33548         * tests/test-memchr.c (main): Likewise.
33549
33550 2009-10-21  Eric Blake  <ebb9@byu.net>
33551
33552         areadlinkat: avoid failure on older glibc
33553         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
33554         rather than mis-comparing 0 against FUNC_RESULT of char*.
33555
33556 2009-10-21  Bruno Haible  <bruno@clisp.org>
33557
33558         * modules/stpncpy (License): Relicense under LGPLv2+.
33559         Reported by David Lutterkort <lutter@redhat.com>.
33560
33561 2009-10-20  Eric Blake  <ebb9@byu.net>
33562
33563         utimensat: work around Solaris 9 bug
33564         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
33565         has trailing slash bugs.
33566         * tests/test-lutimens.h (test_lutimens): Enhance test.
33567         * tests/test-utimens.h (test_utimens): Likewise.
33568         * doc/posix-functions/utime.texi (utime): Enhance documentation.
33569         * doc/posix-functions/utimes.texi (utimes): Likewise.
33570         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
33571         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
33572         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
33573         * doc/posix-functions/futimens.texi (futimens): Likewise.
33574
33575         fdutimensat: new module
33576         * modules/fdutimensat: New file.
33577         * lib/fdutimensat.c (fdutimensat): Likewise.
33578         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
33579         * MODULES.html.sh (File system functions): Mention module.
33580         * modules/fdutimensat-tests: New test.
33581         * tests/test-fdutimensat.c: Likewise.
33582
33583         doc: regenerate INSTALL
33584         * doc/INSTALL: Reflect recent autoconf update.
33585         * doc/INSTALL.ISO: Likewise.
33586         * doc/INSTALL.UTF-8: Likewise.
33587
33588 2009-10-20  Pádraig Brady  <P@draigBrady.com>
33589
33590         acl: warn if ACL support is not detected
33591         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
33592
33593 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
33594
33595         * lib/nproc.h: Add extern "C" block for C++.
33596
33597 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
33598             Bruno Haible  <bruno@clisp.org>
33599
33600         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
33601         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
33602         * doc/posix-functions/isalpha.texi: Likewise.
33603         * doc/posix-functions/isblank.texi: Likewise.
33604         * doc/posix-functions/iscntrl.texi: Likewise.
33605         * doc/posix-functions/isdigit.texi: Likewise.
33606         * doc/posix-functions/isgraph.texi: Likewise.
33607         * doc/posix-functions/islower.texi: Likewise.
33608         * doc/posix-functions/isprint.texi: Likewise.
33609         * doc/posix-functions/ispunct.texi: Likewise.
33610         * doc/posix-functions/isspace.texi: Likewise.
33611         * doc/posix-functions/isupper.texi: Likewise.
33612         * doc/posix-functions/isxdigit.texi: Likewise.
33613
33614 2009-10-18  Bruno Haible  <bruno@clisp.org>
33615
33616         Tests for module 'isblank'.
33617         * modules/isblank-tests: New file.
33618         * tests/test-isblank.c: New file.
33619
33620         New module 'isblank'.
33621         * lib/isblank.c: New file.
33622         * m4/isblank.m4: New file.
33623         * modules/isblank: New file.
33624         * doc/posix-functions/isblank.texi: Mention the new module.
33625
33626 2009-10-18  Bruno Haible  <bruno@clisp.org>
33627
33628         New module 'ctype'.
33629         * lib/ctype.in.h: New file.
33630         * m4/ctype.m4: New file.
33631         * modules/ctype: New file.
33632         * doc/posix-headers/ctype.texi: Mention the new module.
33633
33634 2009-10-18  Jim Meyering  <meyering@redhat.com>
33635
33636         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
33637         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
33638         right after its initialization, rather than farther down.
33639         Keeping these in close proximity makes it easier to ensure
33640         that each such variable is initialized.  E.g.,
33641
33642             LIB_CLOCK_GETTIME=
33643             AC_SUBST([LIB_CLOCK_GETTIME])
33644
33645         This change also increments these serial numbers.
33646         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
33647         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
33648         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
33649
33650 2009-10-18  Bruno Haible  <bruno@clisp.org>
33651
33652         Don't let environment variables perturb build.
33653         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
33654         (gl_PREREQ_GETHRXTIME): ... not here.
33655
33656 2009-10-18  Bruno Haible  <bruno@clisp.org>
33657
33658         Avoid symlink attack in localcharset module.
33659         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
33660         (O_NOFOLLOW): Define fallback.
33661         (get_charset_aliases): Don't open the file if it is a symbolic link.
33662         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
33663         gl_FCNTL_H.
33664         (gl_FCNTL_H): Require it.
33665         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
33666         * modules/localcharset (Files): Add m4/fcntl_h.m4.
33667         Reported by Fergal Glynn <fglynn@veracode.com>.
33668
33669 2009-10-18  Bruno Haible  <bruno@clisp.org>
33670
33671         Implement nproc for mingw.
33672         * lib/nproc.c: Include <windows.h>
33673         (num_processors): On native Windows platforms, try GetSystemInfo.
33674
33675 2009-10-18  Bruno Haible  <bruno@clisp.org>
33676
33677         Implement nproc for IRIX.
33678         * lib/nproc.c: Include <sys/sysmp.h>.
33679         (num_processors): On IRIX systems, try sysmp.
33680         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
33681
33682 2009-10-18  Bruno Haible  <bruno@clisp.org>
33683
33684         Implement nproc for HP-UX.
33685         * lib/nproc.c: Include <sys/pstat.h>
33686         (num_processors): On HP-UX systems, try pstat_getdynamic.
33687         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
33688         pstat_getdynamic.
33689
33690 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
33691             Bruno Haible  <bruno@clisp.org>
33692
33693         Implement nproc for NetBSD, OpenBSD.
33694         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
33695         (ARRAY_SIZE): New macro.
33696         (num_processors): On BSD systems, try sysctl of HW_NCPU.
33697         * m4/nproc.m4: New file.
33698         * modules/nproc (Files): Add m4/nproc.m4.
33699         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
33700         (Makefile.am): Instead, augment lib_SOURCES.
33701
33702 2009-10-18  Bruno Haible  <bruno@clisp.org>
33703
33704         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
33705         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
33706         sys/param.h.
33707
33708 2009-10-16  Eric Blake  <ebb9@byu.net>
33709
33710         utimensat: new module
33711         * modules/utimensat: New file.
33712         * lib/utimensat.c (utimensat): Likewise.
33713         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
33714         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
33715         so we can work around Linux bugs.
33716         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
33717         * modules/sys_stat (Makefile.am): Substitute them.
33718         * lib/sys_stat.in.h (utimensat): Declare it.
33719         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
33720         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
33721         * modules/utimensat-tests: New test.
33722         * tests/test-utimensat.c: Likewise.
33723
33724         utimens: let lutimens work on non-symlinks
33725         * lib/utimens.c (lutimens): Fall back to utimens rather than
33726         failing with ENOSYS, when file is not a symlink.
33727         (utimens): Reduce redirection.
33728         * tests/test-lutimens.h (test_lutimens): Update test to cover
33729         non-symlinks.
33730         * tests/test-utimens.h (test_utimens): Update test to cover
33731         symlinks.
33732         * tests/test-utimens.c (main): Update caller.
33733
33734         utimens: cache whether utimensat syscall works
33735         * lib/utimens.c (utimensat_works_really): New cache variable.
33736         (fdutimens, lutimens): Use it to avoid failing syscall.
33737
33738         test-stat-time, test-utimens: improve portability
33739         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
33740         ext4 on alpha, and for cygwin.
33741         * tests/test-utimens-common.h: New file.
33742         (nap): Factor delays into single function.
33743         * tests/test-lutimens.h (test_lutimens): Use new header.
33744         * tests/test-futimens.h (test_futimens): Likewise.
33745         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
33746         timestamps to occur from same machine, as was done previously for
33747         test_utimens.
33748         * modules/utimens-tests (Files): Ship new file.
33749         * modules/futimens-tests (Files): Likewise.
33750         Reported in part by Jim Meyering.
33751
33752         sys_stat: sort replacement declarations
33753         * lib/sys_stat.in.h: Sort declarations.
33754         * lib/futimens.c (futimens): Fix typo.
33755
33756 2009-10-15  Jim Meyering  <meyering@redhat.com>
33757
33758         don't let environment settings perturb build
33759         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
33760         could cause a configure-time and/or build-time malfunction.
33761         Typically, a configure-time function-in-library test is performed
33762         via code like this:
33763
33764           LIB_VAR=
33765           AC_SUBST([LIB_VAR])
33766           prefix_saved_LIBS=$LIBS
33767             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
33768                        [test "$ac_cv_search_FUNC" = "none required" ||
33769                         LIB_VAR=$ac_cv_search_FUNC])
33770           LIBS=$prefix_saved_LIBS
33771
33772         However, in each of the files affected by this change, the LIB_VAR=
33773         initialization was omitted.  Thus, when set in the environment, its
33774         value would propagate into generated Makefiles when FUNC is not found
33775         in LIB_NAME.
33776         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
33777         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
33778         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
33779
33780 2009-10-14  Eric Blake  <ebb9@byu.net>
33781
33782         fchdir: avoid infinite recursion in mingw
33783         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
33784         recursing.
33785
33786         test-stat-time: port to mingw
33787         * tests/test-stat-time.c (force_unlink): Return a value.
33788         (test_ctime) [W32]: Fix compilation error.
33789         (nap): Don't call usleep with too large an argument.  Use
33790         force_unlink.
33791         * doc/pastposix-functions/usleep.texi (usleep): Document the
33792         portability issue.
33793
33794 2009-10-13  Jim Meyering  <meyering@redhat.com>
33795
33796         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
33797         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
33798         * modules/pipe-filter-ii: Likewise.
33799         * modules/sys_socket-tests: Likewise.
33800         * modules/tsearch-tests: Likewise.
33801         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
33802         (check): Depend on it.
33803
33804 2009-10-12  Eric Blake  <ebb9@byu.net>
33805
33806         utimens-tests: port to NFS file systems
33807         * tests/test-utimens.h (test_utimens): Refactor utimecmp
33808         comparisons to avoid spurious failures from timestamp drift
33809         between NFS machines.
33810
33811 2009-10-12  Eric Blake  <ebb9@byu.net>
33812
33813         stat-time-tests: minor cleanups
33814         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
33815         * tests/test-stat-time.c (nap): Separate assignment from call.
33816         Suggested by Paolo Bonzini and Bruno Haible.
33817
33818         sys_stat: guarantee struct timespec
33819         * lib/sys_stat.in.h (includes): Always include <time.h>
33820         * modules/sys_stat (Depends-on): Add time.
33821         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
33822         mode_t permission values.
33823         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
33824         get at subsecond timestamps.
33825
33826 2009-10-10  Eric Blake  <ebb9@byu.net>
33827
33828         futimens: new module
33829         * modules/futimens: New file.
33830         * lib/futimens.c (futimens): Likewise.
33831         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
33832         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
33833         we can work around Linux bugs.
33834         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
33835         * modules/sys_stat (Makefile.am): Substitute them.
33836         * lib/sys_stat.in.h (futimens): Declare it.
33837         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
33838         * doc/posix-functions/futimens.texi (futimens): Likewise.
33839         * modules/futimens-tests: New test.
33840         * tests/test-futimens.c: Likewise.
33841
33842         utimens: introduce fdutimens
33843         * lib/utimens.h (fdutimens): New prototype.
33844         * lib/utimens.c (gl_futimens): Move guts...
33845         (fdutimens): ...to new interface.
33846         * tests/test-utimens.c (do_fdutimens): Use it.
33847
33848         utimens: add UTIME_NOW and UTIME_OMIT support
33849         * lib/utimens.c (validate_timespec, update_timespec): New helper
33850         functions.
33851         (gl_futimens, lutimens): Use them.
33852         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
33853         stdbool, sys_stat.
33854         (Link): Mention resulting library dependency.
33855         * modules/utimecmp (Link): Likewise.
33856         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
33857         (Makefile.am): Pick up library dependency.
33858         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
33859         definition.
33860         * tests/test-sys_stat.c: Test the definitions.
33861         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
33862         * NEWS: Document library dependency.
33863
33864         utimecmp: support symlink timestamps
33865         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
33866         hashing when possible.  Use pathconf when available.
33867         (SYSCALL_RESOLUTION): Recognize tighter resolution.
33868         * modules/utimecmp (Depends-on): Add lstat.
33869
33870         utimens: add lutimens interface
33871         * lib/utimens.c (lutimens): New function.
33872         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
33873         * lib/utimens.h (lutimens): Declare new interface.
33874         * tests/test-utimens.c (main): Enhance test.
33875         * tests/test-lutimens.h (test_lutimens): New file.
33876         * modules/utimens-tests (Files): Distribute it.
33877         (Depends-on): Add symlink.
33878         (configure.ac): Check for usleep.
33879
33880         utimens: validate futimens usage
33881         * lib/utimens.c (gl_futimens): Require valid fd up front, using
33882         fewer syscalls on failure later on.  Avoid compiler warning on
33883         mingw.
33884         * modules/utimens (Depends-on): Add dup2.
33885
33886         utimens: add test
33887         * modules/utimens-tests: New test.
33888         * tests/test-utimens.h: New file.
33889         * tests/test-futimens.h: Likewise.
33890         * tests/test-utimens.c: Likewise.
33891
33892         doc: mention timestamp portability issues
33893         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
33894         instead.
33895         * doc/posix-functions/utime.texi (utime): Likewise.
33896         * doc/posix-functions/utimes.texi (utimes): Likewise.
33897         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
33898         instead.
33899         * doc/posix-functions/futimens.texi (futimens): Mention utimens
33900         module.
33901         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
33902         Mention weakness with symlink timestamps.
33903         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
33904         to utimensat/futimens instead.
33905         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
33906
33907         test-dup2: enhance test
33908         * tests/test-dup2.c (main): Also check AT_FDCWD.
33909
33910         test-stat-time: avoid more spurious failures
33911         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
33912         xfs; and avoid race if the two timestamps cross quantization edge.
33913
33914         relocatable: prefer 'file system' over 'filesystem'
33915         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
33916         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
33917         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
33918         * doc/relocatable.texi (Enabling Relocatability): Likewise.
33919         * lib/relocatable.c (compute_curr_prefix): Likewise.
33920
33921 2009-10-10  Jim Meyering  <meyering@redhat.com>
33922
33923         stat-time-tests: check for the usleep function
33924         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
33925
33926 2009-10-10  Bruno Haible  <bruno@clisp.org>
33927
33928         * modules/xnanosleep: Put the Link section after the Include section.
33929
33930 2009-10-09  Eric Blake  <ebb9@byu.net>
33931
33932         dup2: work around FreeBSD 6.1 bug
33933         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
33934         * doc/posix-functions/dup2.texi (dup2): Document it.
33935         Reported by Nelson H. F. Beebe and Jim Meyering.
33936
33937         test-stat-time: port to buggy NFS clients
33938         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
33939         (test_ctime): Also skip test if mtime and ctime are skewed.
33940
33941         maint: prefer 'file system' over 'filesystem'
33942         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
33943         * doc/posix-functions/lstat.texi (lstat): Likewise.
33944         * lib/file-has-acl.c (file_has_acl): Likewise.
33945         * lib/fwriteerror.c [TEST]: Likewise.
33946         * tests/test-areadlink.h (test_areadlink): Likewise.
33947         * tests/test-areadlinkat-with-size.c (main): Likewise.
33948         * tests/test-areadlinkat.c (main): Likewise.
33949         * tests/test-canonicalize-lgpl.c (main): Likewise.
33950         * tests/test-canonicalize.c (main): Likewise.
33951         * tests/test-fstatat.c (main): Likewise.
33952         * tests/test-linkat.c (main): Likewise.
33953         * tests/test-lstat.h (test_lstat_func): Likewise.
33954         * tests/test-mkdir.h (test_mkdir): Likewise.
33955         * tests/test-readlink.h (test_readlink): Likewise.
33956         * tests/test-remove.c (main): Likewise.
33957         * tests/test-rename.h (test_rename): Likewise.
33958         * tests/test-renameat.c (main): Likewise.
33959         * tests/test-rmdir.h (test_rmdir_func): Likewise.
33960         * tests/test-symlink.h (test_symlink): Likewise.
33961         * tests/test-symlinkat.c (main): Likewise.
33962         * tests/test-unlink.h (test_unlink_func): Likewise.
33963         * tests/test-unlinkat.c (main): Likewise.
33964
33965         maint: make realtime library usage explicit
33966         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
33967         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
33968         * modules/settime (Link): Likewise.
33969         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
33970
33971         test-stat-time: speed up execution
33972         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
33973         warning on mingw.
33974         (nap): New helper function.
33975         (prepare_test): Use it to reduce sleep time.
33976         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
33977         execution.
33978         * modules/stat-time-tests (configure.ac): Check for usleep.
33979
33980 2009-10-09  Jim Meyering  <meyering@redhat.com>
33981
33982         selinux-h: always use getfilecon wrappers
33983         * lib/getfilecon.c: New file.
33984         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
33985         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
33986         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
33987         (fgetfilecon): Provide a stub.
33988         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
33989         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
33990         file unconditionally.
33991         When <selinux/selinux.h> is found, arrange to use wrappers.
33992         * modules/selinux-h (Files): Add getfilecon.c.
33993         (Makefile.am): Substitute include-next-related bits
33994         into the now-always-generated selinux/selinux.h file.
33995         * doc/glibc-functions/lgetfilecon.texi: New file.
33996         * doc/glibc-functions/fgetfilecon.texi: New file.
33997         * doc/glibc-functions/getfilecon.texi: New file.
33998         * doc/glibc-functions/getfilecon-desc.texi: New file.
33999         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
34000         which to pull in the new files.
34001         * MODULES.html.sh (Misc): Add selinux-h.
34002
34003 2009-10-08  Jim Meyering  <meyering@redhat.com>
34004
34005         unistd: fix comment typo
34006         * lib/unistd.in.h (euidaccess): Fix a comment typo.
34007
34008 2009-10-08  Eric Blake  <ebb9@byu.net>
34009
34010         areadlink: use SIZE_MAX consistently
34011         * modules/areadlink (Depends-on): Add stdint.
34012         * modules/areadlink-with-size (Depends-on): Likewise.
34013         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
34014         gives NULL; drop sys/types, since unistd gives size_t; and add
34015         stdint for SIZE_MAX.
34016         (SIZE_MAX): Rely on headers.
34017         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
34018         and add stdint.
34019         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
34020         (SIZE_MAX): Likewise.
34021         (INITIAL_BUF_SIZE): Turn into enum.
34022         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
34023
34024 2009-10-08  Jim Meyering  <meyering@redhat.com>
34025
34026         areadlinkat: avoid compilation failure
34027         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
34028         Fix typo in comment.
34029
34030 2009-10-07  Eric Blake  <ebb9@byu.net>
34031
34032         areadlinkat-with-size: new module
34033         * modules/areadlinkat-with-size: New module.
34034         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
34035         * lib/areadlink.h (areadlinkat): Declare it.
34036         * MODULES.html.sh (File system functions): Mention it.
34037         * modules/areadlinkat-with-size-tests: New test.
34038         * tests/test-areadlinkat-with-size.c: New file.
34039
34040         xreadlinkat: new module
34041         * modules/xreadlinkat: New module.
34042         * lib/xreadlinkat.c (xreadlinkat): New file.
34043         * lib/xreadlink.h (xreadlinkat): Declare it.
34044         * MODULES.html.sh (File system functions): Mention it.
34045
34046         areadlinkat: new module
34047         * lib/at-func.c (FUNC_FAIL): New define.
34048         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
34049         * modules/areadlinkat: New module.
34050         * lib/linkat.c (areadlinkat): Move...
34051         * lib/areadlinkat.c (areadlinkat): ...to new file.
34052         * lib/areadlink.h (areadlinkat): Declare it.
34053         * modules/linkat (Depends-on): Add areadlinkat.
34054         * MODULES.html.sh (File system functions): Mention it.
34055         * modules/areadlinkat-tests: New test.
34056         * tests/test-areadlinkat.c: New file.
34057
34058         areadlink, areadlink-with-size: add tests
34059         * modules/areadlink-tests: New test.
34060         * modules/areadlink-with-size-tests: Likewise.
34061         * tests/test-areadlink.h: New file.
34062         * tests/test-areadlink.c: Likewise.
34063         * tests/test-areadlink-with-size.c: Likewise.
34064
34065         maint: minor cleanups
34066         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
34067         _UNUSED_PARAMETER_ instead.
34068         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
34069         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
34070         * modules/linkat-tests (Files): Distribute test-link.h.
34071
34072         openat, utimens: whitespace cleanup
34073         * lib/openat.c: Prefer space throughout, rather than mix of 8
34074         spaces vs. tabs.
34075         * lib/at-func.c: Likewise.
34076         * lib/utimens.c: Likewise.
34077
34078         openat: avoid using wrong fd
34079         * lib/openat.c (openat_permissive): Reject user's fd if saving the
34080         working directory chooses same fd.
34081         * lib/at-func.c (AT_FUNC_NAME): Likewise.
34082
34083         mkdir, mkdirat: fix cygwin 1.5.x bug
34084         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
34085         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
34086         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
34087         bug.
34088         (gl_PREREQ_MKDIR): Delete unused macro.
34089         * modules/mkdir (Files): Track file rename.
34090         (configure.ac): Update macro name.
34091         * modules/openat (Depends-on): Add mkdir.
34092         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
34093
34094         mkdir, mkdirat: add tests
34095         * modules/mkdir-tests: New test.
34096         * tests/test-mkdir.h: New file.
34097         * tests/test-mkdir.c: Likewise.
34098         * tests/test-mkdirat.c: Likewise.
34099         * modules/openat-tests (Files): Add new files.
34100         (Makefile.am): Run new test.
34101
34102 2009-10-06  Eric Blake  <ebb9@byu.net>
34103
34104         doc: tweak *at function documentation
34105         * doc/posix-functions/faccessat.texi (faccessat): Mention
34106         known issue with replacement.
34107         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
34108         * doc/posix-functions/linkat.texi (linkat): Likewise.
34109         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
34110         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
34111         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
34112         * doc/posix-functions/renameat.texi (renameat): Likewise.
34113         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
34114
34115         openat: fix GNU/Hurd bug in unlinkat
34116         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
34117         broken.
34118         * doc/posix-functions/unlink.texi (unlink): Document this.
34119         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
34120
34121         fdopendir: fix GNU/Hurd bug
34122         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
34123         allowing non-directory fds.
34124         * lib/fdopendir.c (rpl_fdopendir): Work around it.
34125         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
34126         * modules/dirent (Makefile.am): Substitute it.
34127         * lib/dirent.in.h (fdopendir): Declare replacement.
34128         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
34129         * tests/test-fdopendir.c (main): Test something other than
34130         /dev/null, since on Hurd that behaves like a directory.
34131
34132         test-symlink: port to GNU/Hurd
34133         * tests/test-symlink.h (test_symlink): Relax expected errno.
34134
34135         doc: tweak more cygwin information
34136         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
34137         now compatible with glibc.
34138         * doc/posix-functions/getopt.texi (getopt): Likewise.
34139
34140         getopt-gnu: add another test
34141         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
34142         guarantee behavior relied on by m4.
34143         * tests/test-getopt.c (main): Use it.
34144         * modules/getopt-posix-tests (Depends-on): Add setenv.
34145         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
34146
34147         getopt: fix compilation on darwin
34148         * lib/getopt.in.h (includes): Leave breadcrumbs during system
34149         include.
34150         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
34151         Reported by Ludovic Courtès.
34152
34153 2009-10-06  Bruno Haible  <bruno@clisp.org>
34154
34155         * modules/size_max (Description): Discourage its use.
34156         Reported by Simon Josefsson.
34157
34158 2009-10-06  Jim Meyering  <meyering@redhat.com>
34159
34160         linkat: avoid compilation failure
34161         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
34162
34163 2009-10-05  Eric Blake  <ebb9@byu.net>
34164
34165         linkat: support Linux 2.6.17
34166         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
34167         linkat on Linux, but allow cache variable override.
34168         * lib/linkat.c (rpl_linkat): Define override.
34169         * modules/linkat (Depends-on): Add symlinkat.
34170         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
34171         * modules/unistd (Makefile.am): Substitute it.
34172         * lib/unistd.in.h (linkat): Declare replacement.
34173         Reported by Pádraig Brady.
34174
34175         quotearg: port test to systems with C.UTF-8 locale
34176         * tests/test-quotearg.c (struct result_strings): Add another
34177         member, differentiating between C.ASCII and C.UTF-8 handling.
34178         (compare_strings): Add parameter.
34179         (main): Adjust all callers.
34180
34181         getopt: avoid clash with FreeBSD _getopt_internal
34182         * lib/getopt.in.h (_getopt_internal): Override the name.
34183         * lib/getopt_int.h (includes): Pick up any overrides.
34184         Reported by Reuben Thomas.
34185
34186         hash: allow C89 compilation
34187         * lib/hash.c (check_tuning): Move declaration before statement.
34188         Reported by Reuben Thomas.
34189
34190 2009-10-05  Karl Berry  <karl@gnu.org>
34191
34192         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
34193
34194 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
34195             Bruno Haible  <bruno@clisp.org>
34196
34197         * lib/uname.c (uname): Use a table-driven algorithm to compute
34198         Windows NT versions.
34199
34200 2009-10-04  Bruno Haible  <bruno@clisp.org>
34201
34202         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
34203         program_invocation_short_name.
34204         * modules/progname (configure.ac): Test for presence of
34205         program_invocation_short_name.
34206         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
34207
34208 2009-10-04  Bruno Haible  <bruno@clisp.org>
34209
34210         * lib/progname.c (set_program_name): Fix comment.
34211         Reported by Jim Meyering.
34212
34213 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
34214             Bruno Haible  <bruno@clisp.org>
34215
34216         * lib/uname.c: Include <string.h>.
34217         (uname): Do only one call to GetVersionEx in the common case.
34218
34219 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
34220             Bruno Haible  <bruno@clisp.org>
34221
34222         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
34223         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
34224         (uname): Add support for Windows CE and various non-x86 CPU types.
34225
34226 2009-10-03  Bruno Haible  <bruno@clisp.org>
34227
34228         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
34229         invocation to tests/configure.ac.
34230         Reported by Ian Beckwith <ianb@erislabs.net>.
34231
34232 2009-10-02  Eric Blake  <ebb9@byu.net>
34233
34234         fchdir: avoid compiler warning
34235         * lib/fchdir.c (canonicalize_file_name)
34236         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
34237
34238         test-open: support mingw errno values
34239         * tests/test-open.h (test_open): Relax test.
34240         * tests/test-fopen.h (test_fopen): Likewise.
34241         * tests/test-openat-safer.c (main): Likewise.
34242
34243         open: fix opening directory on mingw
34244         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
34245
34246         test-open: on GNU/Hurd, /dev/null is a directory
34247         * tests/test-fopen.h (main): Rename...
34248         (test_fopen): ...to this.  Use a guaranteed non-directory when
34249         confirming open behavior on trailing slash.
34250         * tests/test-openat-safer.c (main): Likewise.
34251         * tests/test-open.h (main): Likewise....
34252         (test_open): ...to this.
34253         * tests/test-fopen.c (main): Adjust caller.
34254         * tests/test-fopen-safer.c (main): Likewise.
34255         * tests/test-open.c (main): Likewise.
34256         * tests/test-fcntl-safer.c (main): Likewise.
34257         Reported by Samuel Thibault.
34258
34259         rename, fchdir: don't ignore chdir failure
34260         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
34261         * lib/rename.c (rpl_rename) [W32]: Likewise.
34262         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
34263         an empty destination directory if source cannot be renamed,
34264         although there is still possibility for failure.
34265         * doc/posix-functions/rename.texi (rename): Document the race.
34266         Reported by Jim Meyering.
34267
34268         maint: cleanup whitespace in recent commits
34269         * lib/rename.c (rpl_rename): Remove tabs.
34270         * tests/test-link.h (test_link): Likewise.
34271         * lib/fchdir.c (get_name): Likewise.
34272         Reported by Jim Meyering.
34273
34274 2009-10-02  Ben Pfaff  <blp@gnu.org>
34275
34276         relocatable-prog-wrapper: Add missing dependency on
34277         double-slash-root.
34278         * modules/relocatable-prog-wrapper: Add dependency.
34279         Reported by Ian Beckwith <ianb@erislabs.net>.
34280
34281 2009-10-02  Eric Blake  <ebb9@byu.net>
34282
34283         renameat: fix Solaris bugs
34284         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
34285         needed fixing.
34286         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
34287         * modules/stdio (Makefile.am): Substitute it.
34288         * lib/stdio.in.h (renameat): Declare replacement.
34289         * lib/renameat.c (rpl_renameat): Implement fix.
34290
34291         renameat: new module
34292         * modules/renameat: New file.
34293         * lib/renameat.c (renameat): Likewise.
34294         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
34295         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
34296         * modules/stdio (Makefile.am): Substitute them.
34297         * lib/stdio.in.h (renameat): Declare it.
34298         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34299         * doc/posix-functions/renameat.texi (renameat): Likewise.
34300         * modules/renameat-tests: New test.
34301         * tests/test-renameat.c: Likewise.
34302
34303         rename: fix mingw bugs
34304         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
34305         directory overwrite bugs.
34306
34307         rename: fix another cygwin 1.5 bug
34308         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
34309         checks.
34310         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
34311         unnecessary cygwin workarounds.  Also work around bug with moving
34312         full directory onto an empty one.
34313         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
34314
34315         rename-dest-slash: merge into rename module
34316         * modules/rename-dest-slash (Status): Mark obsolete.
34317         (Depends-on): Add rename.
34318         (Files): Let rename do it all.
34319         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
34320         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
34321         * m4/rename-dest-slash.m4: ...so this file can be deleted.
34322         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
34323         * lib/rename.c (rpl_rename): Update comments.
34324
34325         rename: fix cygwin 1.5.x bugs
34326         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
34327         * lib/rename.c (rpl_rename): Work around them.
34328         * modules/rename (Depends-on): Add same-inode.
34329
34330         rename: fix Solaris 10 bug
34331         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
34332         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
34333         was the only bug.
34334
34335         rename: fix Solaris 9 bug
34336         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
34337         on non-directory.  Avoid calling exit.
34338         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
34339         strdup.
34340         * modules/rename-tests (Depends-on): Drop lstat.
34341         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
34342         (gl_PREREQ_RENAME): Delete unused macro.
34343
34344         rename-dest-slash: fix NetBSD bug
34345         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
34346         links.
34347         * modules/rename-dest-slash (Depends-on): Add same-inode.
34348
34349         rename-tests: new test, exposes several platform bugs
34350         * modules/rename-tests: New file.
34351         * tests/test-rename.h: Likewise.
34352         * tests/test-rename.c: Likewise.
34353         * doc/posix-functions/rename.texi (rename): Improve documentation,
34354         including bugs that will eventually be fixed in gnulib.
34355
34356 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
34357
34358         * lib/uname.c: Include <stdlib.h>
34359         (uname): Assume version info is available.
34360
34361 2009-10-02  Jim Meyering  <meyering@redhat.com>
34362
34363         gnu-web-doc-update: correct --help output
34364         * build-aux/gnu-web-doc-update: Make --help output relevant.
34365
34366         gnu-web-doc-update: add standard options
34367         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
34368
34369         gnu-web-doc-update: New module.
34370         Use this script to automatically update the on-line web documentation
34371         for your GNU project at http://www.gnu.org/software/$pkg/manual/
34372         * modules/gnu-web-doc-update: New file, from coreutils.
34373         * build-aux/gnu-web-doc-update: New script.
34374
34375 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
34376
34377         link: LoadLibrary is not needed.
34378         * lib/link.c: Use GetModuleHandle.
34379
34380 2009-10-01  Eric Blake  <ebb9@byu.net>
34381
34382         getopt: bump serial number
34383         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
34384         change.
34385
34386         tests: tighten link, rmdir, and remove tests
34387         * tests/test-link.h (includes): No need to use <config.h> here.
34388         Clean up if directory hard link was created, otherwise test for
34389         trailing '.'.
34390         * tests/test-linkat.c (main): Simplify.
34391         * tests/test-remove.c (main): Enhance test for trailing '.'.
34392         * tests/test-rmdir.h (test_rmdir_func): Likewise.
34393
34394 2009-10-01  Jim Meyering  <meyering@redhat.com>
34395
34396         maint.mk: requiring "make major" was annoying, for a "minor" release.
34397         What is intended is "stable", to contrast with alpha and beta,
34398         so require "make stable", not "make major".
34399         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
34400         (get_tool_versions): Likewise.
34401         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
34402
34403 2009-09-30  Ben Pfaff  <blp@gnu.org>
34404
34405         Fix broken build of replacement for Windows tmpfile().
34406         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
34407         flags argument added along with the 'mkostemp' module.
34408
34409 2009-09-28  Bruno Haible  <bruno@clisp.org>
34410
34411         Avoid identifier clash with POSIX function 'remove' defined as a macro.
34412         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
34413         to 'remove_elt'.
34414         (gl_list_remove): Update.
34415         * lib/gl_list.c (gl_list_remove): Update.
34416         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
34417         to 'remove_elt'.
34418         (gl_oset_remove): Update.
34419         * lib/gl_list.c (gl_oset_remove): Update.
34420         Reported by Eric Blake.
34421
34422 2009-09-28  Eric Blake  <ebb9@byu.net>
34423
34424         doc: mention yet more cygwin 1.7 status
34425         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
34426         cygwin.
34427         * doc/glibc-functions/execvpe.texi (execvpe): New file.
34428         * doc/gnulib.texi (Glibc unistd.h): Mention it.
34429
34430         argp: fix test failure
34431         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
34432         that are not upper-case.  Pass correct range to tolower.
34433
34434 2009-09-27  Jim Meyering  <meyering@redhat.com>
34435
34436         test-yesno: work around sparc-dash here-document infelicity
34437         Without this change, the literal \177 byte in a here document
34438         would make dash 0.5.5.1-3 access uninitialized memory.
34439         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
34440         Instead, use a marker, "@", and filter through tr to create the desired
34441         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
34442
34443 2009-09-27  Bruno Haible  <bruno@clisp.org>
34444
34445         Disable untested support for new flavours of ACLs on AIX.
34446         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
34447         progress.
34448         * lib/set-mode-acl.c (qset_acl): Likewise.
34449
34450 2008-12-07  Bruno Haible  <bruno@clisp.org>
34451
34452         Add support for new flavours of ACLs on AIX. (Untested.)
34453         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
34454         (file_has_acl): Add support for newer AIX.
34455         * lib/set-mode-acl.c (qset_acl): Likewise.
34456         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
34457         Rainer Tammer <tammer@tammer.net>.
34458
34459 2009-09-26  Eric Blake  <ebb9@byu.net>
34460
34461         argp: fix compilation of getopt
34462         * lib/getopt.in.h (includes): Use different guard than glibc.
34463         Reported by Sergey Poznyakoff.
34464
34465         doc: mention more cygwin 1.7 status
34466         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
34467         bug.
34468         * doc/posix-functions/execl.texi (execl): Likewise.
34469         * doc/posix-functions/execle.texi (execle): Likewise.
34470         * doc/posix-functions/execlp.texi (execlp): Likewise.
34471         * doc/posix-functions/execv.texi (execv): Likewise.
34472         * doc/posix-functions/execve.texi (execve): Likewise.
34473         * doc/posix-functions/execvp.texi (execvp): Likewise.
34474         * doc/glibc-functions/canonicalize_file_name.texi
34475         (canonicalize_file_name): Cygwin 1.7 now provides this.
34476         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
34477         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
34478         on AT_SYMLINK_NOFOLLOW.
34479
34480 2009-09-24  Eric Blake  <ebb9@byu.net>
34481
34482         test-linkat: make test more robust
34483         * tests/test-linkat.c (main): Avoid collision with EEXIST.
34484
34485         getopt: fix inclusion guards for cygwin
34486         * modules/getopt-posix (Depends-on): Add include-next.
34487         (Makefile.am): Substitute more items in replacement header.
34488         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
34489         <getopt.h>.
34490         * lib/getopt.in.h (includes): Use split inclusion guard, and
34491         prefer <getopt.h> over include <unistd.h> when one is present.
34492         (option): Also override name of 'struct option'.
34493
34494         same-inode: revert prior change; it is not yet ready
34495         * NEWS: Undo mention of this change.
34496         * lib/same-inode.h (same-inode.h): Undo tri-state change.
34497         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
34498         * lib/cycle-check.c (cycle_check): Likewise.
34499         * lib/same.c (same_name): Likewise.
34500         * lib/at-func2.c (at_func2): Likewise.
34501
34502 2009-09-23  Eric Blake  <ebb9@byu.net>
34503
34504         linkat: new module
34505         * modules/linkat: New file.
34506         * lib/at-func2.c (at_func2): Likewise.
34507         * lib/linkat.c (linkat): Likewise.
34508         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
34509         * lib/openat-priv.h (at_func2): Add declaration.
34510         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
34511         * modules/unistd (Makefile.am): Substitute them.
34512         * lib/unistd.in.h (linkat): Declare it.
34513         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34514         * doc/posix-functions/linkat.texi (linkat): Likewise.
34515         * doc/posix-functions/link.texi (link): Tweak wording.
34516         * tests/test-link.c (main): Move guts...
34517         * tests/test-link.h (test_link): ...into new file.
34518         * modules/linkat-tests: New test.
34519         * tests/test-linkat.c: Likewise.
34520         * modules/link-tests (Files): Ship new file.
34521         (Depends-on): Add stdbool.
34522
34523         dirname: add library-safe mdir_name
34524         * lib/dirname.h (mdir_name): New prototype.
34525         * lib/dirname.c (dir_name): Move guts...
34526         (mdir_name): ...to new function that avoids xalloc_die.
34527
34528         fchdir: another mingw fix
34529         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
34530         * lib/fchdir.c (get_name): New helper method; skips canonicalize
34531         on mingw (where it has not yet been ported), and make it optional
34532         elsewhere.
34533         (_gl_register_fd): Use it.
34534
34535         same-inode: make SAME_INODE tri-state, to port to mingw
34536         * NEWS: Mention this change.
34537         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
34538         st_ino always being 0.
34539         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
34540         * lib/cycle-check.c (cycle_check): Likewise.
34541         * lib/same.c (same_name): Likewise.
34542
34543         lstat: avoid mingw compilation error
34544         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
34545         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
34546         lstat ourselves.
34547         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
34548         was adequate.
34549         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
34550         the checks for lstat.
34551         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
34552
34553         link: fix test failure on Solaris 9
34554         * lib/link.c (rpl_link): Don't assume link will catch bogus
34555         trailing slash on source.
34556
34557         test-symlinkat: enhance test
34558         * tests/test-readlink.c (main): Move guts...
34559         * tests/test-readlink.h (test_readlink): ...into new file.
34560         * tests/test-symlink.c (main): Move guts...
34561         * tests/test-symlink.h (test_symlink): ...into new file.
34562         * tests/test-symlinkat.c (main): Use new files for further
34563         coverage.
34564         (do_symlink, do_readlink): New helper functions.
34565         * modules/symlink-tests (Files): Ship new file.
34566         (Depends-on): Add stdbool.
34567         * modules/readlink-tests (Files): Ship new file.
34568         (Depends-on): Add stdbool.
34569         * modules/symlinkat-tests (Files): Use new files.
34570
34571 2009-09-23  Eric Blake  <ebb9@byu.net>
34572
34573         readlink: document portability issue with symlink length
34574         * doc/posix-functions/lstat.texi (lstat): Mention that some file
34575         systems have bogus st_size on symlinks, and mention the
34576         areadlink-with-size module.
34577         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
34578         * doc/posix-functions/readlink.texi (readlink): Mention the
34579         areadlink module, and ERANGE failure.
34580         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
34581         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
34582
34583         readlink: fix Solaris 9 bug with trailing slash
34584         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
34585         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
34586         * doc/posix-functions/readlink.texi (readlink): Document this.
34587         * modules/readlink-tests: New test.
34588         * tests/test-readlink.c: Likewise.
34589
34590         readlink: fix cygwin 1.5.x bug with return type
34591         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
34592         * lib/unistd.in.h (readlink): Use ssize_t.
34593         * lib/readlink.c (readlink): Likewise.
34594         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
34595         * modules/unistd (Makefile.am): Substitute it.
34596         * lib/unistd.in.h (readlink): Declare replacement.
34597         * doc/posix-functions/readlink.texi (readlink): Document this.
34598
34599         symlink: use throughout gnulib
34600         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
34601         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
34602         symlink is not used.
34603         * modules/symlinkat (Depends-on): Add symlink.
34604         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
34605         * modules/canonicalize-tests (Depends-on): Likewise.
34606         * modules/lstat-tests (Depends-on): Likewise.
34607         * modules/openat-tests (Depends-on): Likewise.
34608         * modules/remove-tests (Depends-on): Likewise.
34609         * modules/rmdir-tests (Depends-on): Likewise.
34610         * modules/unlink-tests (Depends-on): Likewise.
34611         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
34612         * tests/test-canonicalize.c (symlink): Likewise.
34613         * tests/test-fstatat.c (symlink): Likewise.
34614         * tests/test-lstat.c (symlink): Likewise.
34615         * tests/test-remove.c (symlink): Likewise.
34616         * tests/test-rmdir.c (symlink): Likewise.
34617         * tests/test-unlink.c (symlink): Likewise.
34618         * tests/test-unlinkat.c (symlink): Likewise.
34619
34620         symlink: new module, for Solaris 9 bug
34621         * modules/symlink: New file.
34622         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
34623         * lib/symlink.c: Likewise.
34624         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
34625         * modules/unistd (Makefile.am): Substitute them.
34626         * lib/unistd.in.h (symlink): Declare replacement.
34627         * MODULES.html.sh (File system functions): Mention it.
34628         * doc/posix-functions/symlink.texi (symlink): Likewise.
34629         * modules/symlink-tests: New test.
34630         * tests/test-symlink.c: Likewise.
34631
34632 2009-09-23  Bruno Haible  <bruno@clisp.org>
34633
34634         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
34635         when needed.
34636         Test case: gnulib-tool --import --with-tests atexit inttypes.
34637         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
34638
34639 2009-09-23  Bruno Haible  <bruno@clisp.org>
34640
34641         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
34642         subcommand, not in a subshell.
34643
34644 2009-09-22  Eric Blake  <ebb9@byu.net>
34645
34646         unistd: sort replacement declarations
34647         * lib/unistd.in.h: Sort declarations.
34648
34649         open, openat: minor optimization
34650         * lib/open.c (open): If open succeeded, len is non-zero.
34651         * lib/openat.c (rpl_openat): Likewise.
34652
34653         link-follow: ensure correct result
34654         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
34655         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
34656         distinguish between possible failures.
34657
34658 2009-09-21  Eric Blake  <ebb9@byu.net>
34659
34660         fts: avoid compiler warning
34661         * lib/fts.c (dirent_inode_sort_may_be_useful)
34662         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
34663
34664 2009-09-19  Bruno Haible  <bruno@clisp.org>
34665
34666         * lib/progreloc.c (canonicalize_file_name): New declaration.
34667
34668 2009-09-19  Eric Blake  <ebb9@byu.net>
34669
34670         link: fix quoting
34671         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
34672
34673         openat: fix openat bugs on Solaris 9
34674         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
34675         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
34676         * modules/openat (Depends-on): Add open.
34677         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
34678         * modules/fcntl-h (Makefile.am): Substitute it.
34679         * lib/fcntl.in.h (openat): Declare replacement.
34680         * doc/posix-functions/openat.texi (openat): Document this.
34681
34682         openat: move fstatat and unlinkat into correct files
34683         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
34684         compiled.
34685         * lib/openat.c (fstatat, unlinkat): Move...
34686         * lib/fstatat.c (fstatat): ...into correct files.
34687         * lib/unlinkat.c (unlinkat): Likewise.
34688
34689         openat: fix unlinkat bugs on Solaris 9
34690         * lib/unlinkat.c (unlinkat): New file.
34691         * modules/openat (Depends-on): Add unlink.
34692         (Files): Distribute it.
34693         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
34694         trailing slash behavior is broken.
34695         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
34696         * modules/unistd (Makefile.am): Substitute it.
34697         * lib/unistd.in.h (unlinkat): Declare replacement.
34698         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
34699
34700         openat: fix fstatat bugs on Solaris 9
34701         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
34702         stat.
34703         * doc/posix-functions/fstatat.texi (fstatat): Document this.
34704
34705         test-unlinkat: enhance test, to expose Solaris 9 bug
34706         * tests/test-unlink.c (main): Factor guts...
34707         * tests/test-unlink.h (test_rmdir_func): ...into new file.
34708         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
34709         * tests/test-rmdir.c (main): Adjust caller.
34710         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
34711         (unlinker): New helper function.
34712         (rmdirat): Enhance check.
34713         * modules/rmdir-tests (Depends-on): Add stdbool.
34714         * modules/unlink-tests (Depends-on): Likewise.
34715         (Files): Add test-unlink.h.
34716         * modules/openat-tests (Files): Likewise.
34717         (Depends-on): Add unlinkdir.
34718
34719         test-fstatat: new test, to expose Solaris 9 bugs
34720         * tests/test-stat.c (main): Factor guts...
34721         * tests/test-stat.h (test_stat_func): ...into new file.
34722         * tests/test-lstat.c (main): Factor guts...
34723         * tests/test-lstat.h (test_lstat_func): ...into new file.
34724         * tests/test-fstatat.c: New file.
34725         * modules/stat-tests (Files): Add test-stat.h.
34726         * modules/lstat-tests (Files): Add test-lstat.h.
34727         (Depends-on): Add stdbool.
34728         * modules/openat-tests (Depends-on): Add pathmax.
34729         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
34730         (Makefile.am): Run new test.
34731
34732         remove: new module, for mingw and Solaris 9 bugs
34733         * modules/remove: New file.
34734         * lib/remove.c: Likewise.
34735         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
34736         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
34737         * modules/stdio (Makefile.am): Use them.
34738         * lib/stdio.in.h (remove): Declare replacement.
34739         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34740         * doc/posix-functions/remove.texi (remove): Likewise.
34741         * modules/remove-tests: New test.
34742         * tests/test-remove.c: Likewise.
34743
34744         unlink: new module, for Solaris 9 bug
34745         * modules/unlink: New file.
34746         * lib/unlink.c: Likewise.
34747         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
34748         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
34749         * modules/unistd (Makefile.am): Use them.
34750         * lib/unistd.in.h (stat): Declare replacement.
34751         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34752         * doc/posix-functions/unlink.texi (unlink): Likewise.
34753         * modules/unlink-tests: New test.
34754         * tests/test-unlink.c: Likewise.
34755
34756         lstat: fix Solaris 9 bug
34757         * lib/lstat.c (lstat): Also check for trailing slash on
34758         non-symlink, non-directories.  Use stat module to simplify logic.
34759         * doc/posix-functions/lstat.texi (lstat): Document it.
34760         * modules/lstat-tests (Depends-on): Add errno, same-inode.
34761         (configure.ac): Check for symlink.
34762         * tests/test-lstat.c (main): Add more tests.
34763
34764         stat: add as dependency to other modules
34765         * modules/chown (Depends-on): Add stat.
34766         * modules/euidaccess (Depends-on): Likewise.
34767         * modules/fchdir (Depends-on): Likewise.
34768         * modules/isdir (Depends-on): Likewise.
34769         * modules/link (Depends-on): Likewise.
34770         * modules/lstat (Depends-on): Likewise.
34771         * modules/mkdir-p (Depends-on): Likewise.
34772         * modules/modechange (Depends-on): Likewise.
34773         * modules/open (Depends-on): Likewise.
34774         * modules/readlink (Depends-on): Likewise.
34775         * modules/same (Depends-on): Likewise.
34776
34777         stat: fix Solaris 9 bug
34778         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
34779         slash.
34780         * lib/stat.c (rpl_stat): Work around it.
34781         * doc/posix-functions/stat.texi (stat): Update documentation.
34782
34783         stat: new module, for mingw bug
34784         * modules/stat: New file.
34785         * lib/stat.c: Likewise.
34786         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
34787         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
34788         * modules/sys_stat (Makefile.am): Use them.
34789         * lib/sys_stat.in.h (stat): Declare replacement.
34790         * lib/openat.c (fstatat): Deal with lstat and stat being function
34791         macros.
34792         * modules/openat (Depends-on): Add inline.
34793         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34794         * doc/posix-functions/stat.texi (stat): Likewise.
34795         * modules/stat-tests: New test.
34796         * tests/test-stat.c: Likewise.
34797
34798 2009-09-19  Jim Meyering  <meyering@redhat.com>
34799
34800         syntax-check: detect unnecessary inclusion of canonicalize.h
34801         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
34802
34803 2009-09-19  Eric Blake  <ebb9@byu.net>
34804
34805         canonicalize-lgpl: adjust clients to use correct header
34806         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
34807         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
34808         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
34809         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
34810         * lib/progreloc.c (includes): Likewise.
34811
34812 2009-09-19  Jim Meyering  <meyering@redhat.com>
34813
34814         test-posixtm.c: correct a comment
34815         * tests/test-posixtm.c: Correct first-line comment.
34816         Spotted by Eric Blake.
34817
34818 2009-09-16  Jim Meyering  <meyering@redhat.com>
34819
34820         posixtm-tests: make T const-correct; add a test case
34821         * tests/test-posixtm.c (T): Declare const.
34822         Add a test for -(2^31+1).
34823         Remove useless can-succeed-only-in-2002 test.
34824
34825         posixtm-tests: adjust the sole failing test
34826         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
34827         expected output matches what mktime now produces.  Cross-checked via
34828         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
34829
34830         posixtm: move #ifdef'd tests into a new module
34831         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
34832         * tests/test-posixtm.c: ... this new file.
34833         * modules/posixtm-tests: New module.
34834
34835 2009-09-19  Eric Blake  <ebb9@byu.net>
34836
34837         openat: simplify use of at-func.c
34838         * lib/at-func.c (includes): Include prerequisites here, to
34839         simplify requirements on client files.
34840         * lib/openat-priv.h: Add double-inclusion guard.
34841         * lib/faccessat.c (includes): Simplify.
34842         * lib/fchmodat.c (includes): Likewise.
34843         * lib/fchownat.c (includes): Likewise.
34844         * lib/mkdirat.c (includes): Likewise.
34845         * lib/mkfifoat.c (includes): Likewise.
34846         * lib/symlinkat.c (includes): Likewise.
34847
34848         openat: allow return of fd 0
34849         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
34850         * modules/save-cwd (Depends-on): Replace fcntl-safer with
34851         unistd-safer.
34852         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
34853         <fcntl.h>; this module does not leak fds.
34854         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
34855         must be allowed to return 0, leaving openat_safer to add the
34856         safety.
34857         (openat_permissive): Avoid writing to just-opened fd 2 if
34858         restoring the current directory fails.
34859         * lib/openat-die.c (openat_restore_fail): Add comment.
34860         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
34861         (save_cwd): Guarantee safe fd, but without use of open_safer.
34862         * tests/test-openat.c: New test.
34863         * modules/openat-tests (Files, Makefile.am): Distribute and build
34864         new file.
34865
34866         relocatable-prog-wrapper: fix build
34867         * modules/relocatable-prog-wrapper (Files): Update name of
34868         canonicalize m4 file, broken on 2009-09-17.
34869         Reported by emad hajjar <aleppos@hotmail.com>.
34870
34871 2009-09-19  Bruno Haible  <bruno@clisp.org>
34872
34873         * lib/safe-alloc.h: Use the standard header with GPL copyright.
34874         * lib/safe-alloc.c: Likewise.
34875         Reported by Ian Beckwith <ianb@erislabs.net>.
34876
34877 2009-09-18  Bruno Haible  <bruno@clisp.org>
34878
34879         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
34880         Reported by <erobles@sensacd.com.mx>.
34881
34882 2009-09-17  Eric Blake  <ebb9@byu.net>
34883
34884         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
34885         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
34886         slashes when checking if last component is missing.
34887         * tests/test-canonicalize.c (main): Test this.
34888
34889         canonicalize, canonicalize-lgpl: honor // if distinct from /
34890         * modules/canonicalize (Files): Add double-slash-root.m4.
34891         * modules/canonicalize-lgpl (Files): Likewise.
34892         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
34893         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
34894         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
34895         fallback definition.
34896         (canonicalize_filename_mode): Use it to protect //.
34897         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
34898         (__realpath): Likewise.
34899         * tests/test-canonicalize.c (main): Test this.
34900         * tests/test-canonicalize-lgpl.c (main): Likewise.
34901         * modules/canonicalize-tests (Depends-on): Add same-inode.
34902         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
34903
34904         canonicalize-lgpl: fix glibc bug with trailing slash
34905         * m4/canonicalize-lgpl.m4: Move contents...
34906         * m4/canonicalize.m4: ...here.
34907         (gl_CANONICALIZE_LGPL): Factor realpath check...
34908         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
34909         glibc 2.3.5 bug, fixed 2005-04-27.
34910         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
34911         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
34912         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
34913         * modules/canonicalize-lgpl (Files): Manage file rename.
34914         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
34915         * modules/stdlib (Makefile.am): Substitute witness.
34916         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
34917         is needed.
34918         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
34919         replacement is required.
34920         * lib/canonicalize.c (canonicalize_file_name): Likewise.
34921         * doc/glibc-functions/canonicalize_file_name.texi
34922         (canonicalize_file_name): Document this.
34923         * doc/posix-functions/realpath.texi (realpath): Likewise.
34924
34925         canonicalize-lgpl: reject non-directory with trailing slash
34926         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
34927         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
34928         catches failures in glibc 2.3.5.
34929         * tests/test-canonicalize.c (main): Likewise.
34930
34931         canonicalize-lgpl: use native realpath if it works
34932         * lib/canonicalize-lgpl.c (realpath): Guard with
34933         FUNC_REALPATH_WORKS.
34934         * lib/stdlib.in.h (realpath): Make declaration optional based on
34935         HAVE_REALPATH.
34936         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
34937         native realpath works.
34938         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
34939         * modules/stdlib (Makefile.am): Substitute witness.
34940
34941         canonicalize, canonicalize-lgpl: use <stdlib.h>
34942         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
34943         (Include): Mention <stdlib.h>.
34944         (configure.ac): Mention functions we provide.
34945         * modules/canonicalize (configure.ac): Likewise.
34946         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
34947         realpath if canonicalize_file_name is missing.
34948         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
34949         * modules/stdlib (Makefile.am): Substitute witnesses.
34950         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
34951         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
34952         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
34953         * NEWS: Document this.
34954         * doc/glibc-functions/canonicalize_file_name.texi
34955         (canonicalize_file_name): Likewise.
34956         * doc/posix-functions/realpath.texi (realpath): Likewise.
34957         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
34958
34959         test-canonicalize: consolidate into single C program
34960         * tests/test-canonicalize.sh: Delete; move setup into...
34961         * tests/test-canonicalize.c (main): ...the program, making it
34962         easier to run in debugger.  Add some tests.
34963         * modules/canonicalize-tests (Files): Remove unused file.
34964         (Depends-on): Add progname.
34965         (configure.ac, Makefile.am): Simplify.
34966
34967         test-canonicalize-lgpl: consolidate into single C program
34968         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
34969         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
34970         easier to run in debugger.  Add some tests.
34971         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
34972         (configure.ac, Makefile.am): Simplify.
34973
34974         canonicalize: avoid resolvepath
34975         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
34976         unnecessary checks.
34977         * lib/canonicalize.c (includes): Simplify.
34978         (canonicalize_file_name): Drop resolvepath implementation.
34979         * modules/canonicalize (Depends-on): Drop filenamecat.
34980
34981         canonicalize: don't lose errno
34982         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
34983         over calls to free.
34984
34985         canonicalize: simplify errno handling
34986         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
34987         assignment.
34988
34989         canonicalize, canonicalize-lgpl: update module dependencies
34990         * modules/canonicalize (Depends-on): Add extensions, lstat,
34991         pathmax, stdlib.
34992         (Files): Drop pathmax.h.
34993         (configure.ac): Adjust macro name.
34994         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
34995         lstat, stdlib, sys_stat.
34996         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
34997         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
34998         extensions.
34999         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
35000         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
35001         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
35002         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
35003         declaration, if available.
35004         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
35005         we can rely on the readlink module.
35006         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
35007         (includes): Use <unistd.h> unconditionally.
35008
35009 2009-09-17  Eric Blake  <ebb9@byu.net>
35010
35011         maint: make Include sections of modules consistent
35012         * modules/alloca: Use only header name; no need to list #include.
35013         * modules/alloca-opt: Likewise.
35014         * modules/arpa_inet: Likewise.
35015         * modules/canon-host: Likewise.
35016         * modules/configmake: Likewise.
35017         * modules/dirent: Likewise.
35018         * modules/eealloc: Likewise.
35019         * modules/environ: Likewise.
35020         * modules/fchdir: Likewise.
35021         * modules/fcntl: Likewise.
35022         * modules/fcntl-h: Likewise.
35023         * modules/gethrxtime: Likewise.
35024         * modules/gettime: Likewise.
35025         * modules/ignore-value: Likewise.
35026         * modules/inet_ntop: Likewise.
35027         * modules/inet_pton: Likewise.
35028         * modules/inttypes: Likewise.
35029         * modules/isnand-nolibm: Likewise.
35030         * modules/isnanf-nolibm: Likewise.
35031         * modules/mbchar: Likewise.
35032         * modules/mbfile: Likewise.
35033         * modules/mbiter: Likewise.
35034         * modules/mbuiter: Likewise.
35035         * modules/netdb: Likewise.
35036         * modules/netinet_in: Likewise.
35037         * modules/nproc: Likewise.
35038         * modules/pagealign_alloc: Likewise.
35039         * modules/poll: Likewise.
35040         * modules/printf-frexp: Likewise.
35041         * modules/pthread: Likewise.
35042         * modules/putenv: Likewise.
35043         * modules/random_r: Likewise.
35044         * modules/relocatable-prog: Likewise.
35045         * modules/search: Likewise.
35046         * modules/select: Likewise.
35047         * modules/selinux-h: Likewise.
35048         * modules/settime: Likewise.
35049         * modules/signal: Likewise.
35050         * modules/size_max: Likewise.
35051         * modules/socklen: Likewise.
35052         * modules/ssize_t: Likewise.
35053         * modules/stdarg: Likewise.
35054         * modules/stdbool: Likewise.
35055         * modules/stddef: Likewise.
35056         * modules/stdint: Likewise.
35057         * modules/stdio: Likewise.
35058         * modules/stdlib: Likewise.
35059         * modules/string: Likewise.
35060         * modules/strings: Likewise.
35061         * modules/sys_file: Likewise.
35062         * modules/sys_ioctl: Likewise.
35063         * modules/sys_select: Likewise.
35064         * modules/sys_socket: Likewise.
35065         * modules/sys_stat: Likewise.
35066         * modules/sys_time: Likewise.
35067         * modules/sys_times: Likewise.
35068         * modules/sys_utsname: Likewise.
35069         * modules/sys_wait: Likewise.
35070         * modules/sysexits: Likewise.
35071         * modules/time: Likewise.
35072         * modules/times: Likewise.
35073         * modules/tmpfile: Likewise.
35074         * modules/trim: Likewise.
35075         * modules/unistd: Likewise.
35076         * modules/wchar: Likewise.
35077         * modules/wctype: Likewise.
35078
35079 2009-09-17  Bruno Haible  <bruno@clisp.org>
35080
35081         Make getdate.y compile on QNX and NetBSD 5 / i386.
35082         * m4/getdate.m4 (gl_GETDATE): Conditionally define
35083         TIME_T_FITS_IN_LONG_INT.
35084         * lib/getdate.y (long_time_t): New type.
35085         (relative_time): Change type of 'seconds' field to long_time_t.
35086         (get_date): Update types of local variables. Check against overflow
35087         during conversion from long_time_t to time_t.
35088         Reported by Matt Kraai <kraai@ftbfs.org>
35089         and Hasso Tepper <hasso@netbsd.org>.
35090
35091 2009-09-17  Bruno Haible  <bruno@clisp.org>
35092
35093         * modules/COPYING: Update copyright years.
35094         * modules/README: Likeiwse.
35095         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
35096         Reported by Ian Beckwith <ianb@erislabs.net>.
35097
35098 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
35099
35100         * users.txt: Update references for gnuit package.
35101
35102 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
35103
35104         * m4/getdelim.m4: Fix typo in copyright line.
35105
35106 2009-09-17  Bruno Haible  <bruno@clisp.org>
35107
35108         * lib/atoll.c: Use the standard header with GPL copyright.
35109         * lib/argz.in.h: Likewise.
35110         * lib/glob.c: Likewise.
35111         * lib/glob-libc.h: Likewise.
35112         * lib/random_r.c: Likewise.
35113         * lib/siglist.h: Likewise.
35114         * lib/strsignal.c: Likewise.
35115         Reported by Ian Beckwith <ianb@erislabs.net>.
35116
35117 2009-09-17  Eric Blake  <ebb9@byu.net>
35118
35119         rmdir: ensure correct dependency order
35120         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
35121
35122 2009-09-17  Bruno Haible  <bruno@clisp.org>
35123
35124         Disable assertion that fails on NetBSD 5 / i386.
35125         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
35126         Reported by Sam Steingold <sds@gnu.org>
35127         and Hasso Tepper <hasso@netbsd.org>.
35128
35129 2009-09-16  Eric Blake  <ebb9@byu.net>
35130
35131         unlinkdir: port to mingw
35132         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
35133         on which no one can unlink a directory.
35134
35135         stdlib: sort witness names
35136         * modules/stdlib (Makefile.am): Sort replacements.
35137         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
35138         * lib/stdlib.in.h: Likewise.
35139
35140         parse-duration-tests: avoid link failure
35141         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
35142         LIBINTL.
35143         Reported by Tom G. Christensen.
35144
35145         openat-tests: ensure unlinkat behaves like rmdir
35146         * tests/test-rmdir.c (main): Factor guts...
35147         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
35148         * modules/rmdir-tests (Files): Ship new file.
35149         * modules/openat-tests: New test.
35150         * tests/test-unlinkat.c: Likewise.
35151
35152         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
35153         * modules/rmdir-errno (Status, Notice): Now obsolete.
35154
35155         rmdir: work around cygwin 1.5.x and mingw bugs
35156         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
35157         * lib/rmdir.c (rmdir): Work around it.
35158         * modules/rmdir (Status, Notice): No longer obsolete.
35159         (Files): Add dos.m4.
35160         (Depends-on): Add unistd.
35161         (configure.ac): Set witnesses.
35162         (License): Relax to LGPLv2+.
35163         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
35164         * modules/unistd (Makefile.am): Substitute witnesses.
35165         * lib/unistd.in.h (rmdir): Declare replacement.
35166         * doc/posix-functions/rmdir.texi (rmdir): Document this.
35167         * modules/rmdir-tests: New tests.
35168         * tests/test-rmdir.c: Likewise.
35169
35170 2009-09-15  Eric Blake  <ebb9@byu.net>
35171
35172         fchdir: improve use of replacement functions
35173         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
35174         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
35175         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
35176         REPLACE_CLOSEDIR.
35177         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
35178         * modules/sys_stat (Makefile.am): Substitute correct witness.
35179         * modules/dirent (Makefile.am): Likewise.
35180         * modules/unistd (Makefile.am): Likewise.
35181         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
35182         * lib/unistd.in.h (dup): Likewise.
35183         * lib/sys_stat.in.h (fstat): Likewise.
35184
35185         maint: ignore gnulib-tool temp files
35186         * .gitignore: Ignore files created during gnulib-tool --test.
35187
35188 2009-09-13  Jim Meyering  <meyering@redhat.com>
35189
35190         posixtm: don't reject a time that specify "60" as the number of seconds
35191         * lib/posixtm.c (posixtime): The code to reject invalid dates
35192         would also reject a time specified with the .60 suffix.
35193         But POSIX allows that, in order to accommodate leap seconds.
35194         So don't reject it.
35195         (main): Adjust tests accordingly.
35196         * modules/posixtm (Depends-on): Add stpcpy.
35197
35198 2009-09-11  Jim Meyering  <meyering@redhat.com>
35199
35200         announce-gen: include [$release_type] in emitted Subject:
35201         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
35202         e.g., [stable] in the emitted Subject: line.
35203
35204 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35205
35206         Remove obsolete macros from several modules.
35207         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
35208         obsolete Autoconf macros with their modern counterparts.
35209         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
35210         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
35211         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
35212         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
35213         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
35214         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
35215         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
35216         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
35217         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
35218         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
35219         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
35220         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
35221         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
35222         * m4/sockets.m4 (gl_SOCKETS): Likewise.
35223         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
35224         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
35225         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
35226         * m4/time_r.m4 (gl_TIME_R): Likewise.
35227         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
35228         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
35229         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
35230
35231         Fix copyright header in build-aux scripts.
35232         * build-aux/git-version-gen: Fix copyright header to match GPLv3
35233         recommendation.
35234         * build-aux/ncftpput-ftp: Likewise.
35235         * build-aux/update-copyright: Likewise.
35236
35237 2009-09-09  Eric Blake  <ebb9@byu.net>
35238
35239         test-link: allow Linux choice of errno
35240         * tests/test-link.c (main): Relax test for alternate error.
35241
35242         strndup: fix improper m4 caching
35243         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
35244         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
35245         (gl_PREREQ_STRNDUP): Delete.
35246         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
35247         * modules/string (Makefile.am): Substitute it.
35248         * lib/string.in.h (strndup): Modernize prototype.
35249
35250         getcwd: port to mingw
35251         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
35252         different from the POSIX assumptions made throughout the getcwd
35253         module; fortunately, the mingw getcwd does not need replacement.
35254         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
35255         * modules/getcwd-tests: New test.
35256         * tests/test-getcwd.c: Likewise.
35257
35258         link: fix platform bugs
35259         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
35260         * lib/link.c (link): Work around them.  Fix related mingw bug.
35261         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
35262         * modules/unistd (Makefile.am): Substitute it.
35263         * lib/unistd.in.h (link): Declare replacement.
35264         * doc/posix-functions/link.texi (link): Document this.
35265         * modules/link (Depends-on): Add strdup-posix, sys_stat.
35266
35267         test-link: consolidate into single C program, test more cases
35268         * tests/test-link.sh: Delete.
35269         * tests/test-link.c: Test more error conditions.  Exposes bugs on
35270         at least Cygwin and Solaris.
35271         * modules/link-tests (Files): Remove unused file.
35272         (Depends-on): Add errno, sys_stat.
35273         (Makefile.am): Simplify.
35274
35275 2009-09-08  Bruno Haible  <bruno@clisp.org>
35276
35277         Work around towlower, towupper bug on mingw.
35278         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
35279         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
35280         * doc/posix-functions/towlower.texi: Mention the mingw bug.
35281         * doc/posix-functions/towupper.texi: Likewise.
35282         Reported by Eric Blake.
35283
35284 2009-09-08  Jim Meyering  <meyering@redhat.com>
35285
35286         build: don't try to run autoheader if we don't use it
35287         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
35288         is not used in configure.ac.
35289
35290 2009-09-08  Eric Blake  <ebb9@byu.net>
35291
35292         euidaccess: fix compilation error
35293         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
35294
35295         rawmemchr: relax license
35296         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
35297         okay.
35298         Reported by Jim Meyering.
35299
35300         mkfifoat: new module
35301         * modules/mkfifoat: New file.
35302         * lib/mkfifoat.c: Likewise.
35303         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
35304         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
35305         * modules/sys_stat (Makefile.am): Use them.
35306         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
35307         * MODULES.html.sh (File system functions): Mention module.
35308         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
35309         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
35310         * modules/mkfifoat-tests: New test.
35311         * tests/test-mkfifoat.c: Likewise.
35312
35313         strchrnul: relax license
35314         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
35315         okay.
35316         Reported by Jim Meyering.
35317
35318 2009-09-08  Eric Blake  <ebb9@byu.net>
35319
35320         fstatat: fix compilation on Solaris
35321         * lib/fstatat.c (includes): Add fcntl.h.
35322         Reported by Pádraig Brady.
35323
35324 2009-09-07  Eric Blake  <ebb9@byu.net>
35325
35326         rename: modernize replacement
35327         * modules/rename (Depends-on): Add stdio.
35328         (configure.ac): Declare witness.
35329         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
35330         stdio take care of replacement.
35331         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
35332         * modules/stdio (Makefile.am): Substitute them.
35333         * lib/stdio.in.h (rename): Declare replacement.
35334         * lib/rename.c (includes): Allow cross-compilation to non-windows
35335         machines.
35336         * doc/posix-functions/rename.texi (rename): Improve
35337         documentation.
35338
35339         stdio: sort witness names
35340         * modules/stdio (Makefile.am): Sort replacements.
35341         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
35342         * lib/stdio.in.h: Likewise.
35343
35344         getcwd: minor cleanups
35345         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
35346         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
35347
35348         openat: provide more convenience names
35349         * modules/faccessat (configure.ac): Add C witness.
35350         * lib/unistd.in.h (readlinkat): Fix typo.
35351         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
35352         convenience wrappers.
35353         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
35354         wrappers in syntax checks.
35355
35356 2009-09-06  Eric Blake  <ebb9@byu.net>
35357
35358         doc: fix comments in recent patches
35359         * lib/faccessat.c: Mention correct function.
35360         * lib/fchmodat.c: Likewise.
35361         * lib/fchownat.c: Likewise.
35362         * lib/symlinkat.c: Likewise.
35363         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
35364         constants.
35365
35366         faccessat, symlinkat: continue cleanup of previous patch
35367         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
35368         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
35369         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
35370         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
35371         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
35372         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
35373         set.
35374
35375 2009-09-06  Bruno Haible  <bruno@clisp.org>
35376
35377         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
35378         (fstatat): Declare if GNULIB_FSTATAT is set.
35379         (mkdirat): Declare if GNULIB_MKDIRAT is set.
35380         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
35381         (unlinkat): Declare if GNULIB_UNLINKAT is set.
35382         * modules/fcntl-h (Files): Remove m4/openat.m4.
35383         * modules/sys_stat (Files): Remove m4/openat.m4.
35384         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
35385         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
35386         * modules/unistd (Files): Remove m4/openat.m4.
35387         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
35388         GNULIB_OPENAT.
35389         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
35390         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
35391         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
35392         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
35393         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
35394         gl_OPENAT_DEFAULTS.
35395         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
35396         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
35397         Don't require gl_OPENAT_DEFAULTS.
35398         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
35399         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
35400         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
35401         (gl_OPENAT_DEFAULTS): Remove macro.
35402
35403 2009-09-06  Bruno Haible  <bruno@clisp.org>
35404
35405         * modules/openat (configure.ac): Remove unneeded witness.
35406
35407 2009-09-06  Bruno Haible  <bruno@clisp.org>
35408
35409         Set errno to ENOSYS when a function is entirely unsupported.
35410         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
35411         EOPNOTSUPP.
35412         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
35413         * modules/chown (Depends-on): Remove errno.
35414
35415 2009-09-06  Bruno Haible  <bruno@clisp.org>
35416
35417         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
35418
35419 2009-09-06  Bruno Haible  <bruno@clisp.org>
35420
35421         * lib/sys_stat.in.h: Fix preprocessor command indentation.
35422
35423 2009-09-06  Ben Pfaff  <blp@gnu.org>
35424             Bruno Haible  <bruno@clisp.org>
35425
35426         Work around a glibc bug in strtok_r.
35427         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
35428         Undefine if UNDEFINE_STRTOK_R is set.
35429         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
35430         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
35431         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
35432         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
35433         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
35434         UNDEFINE_STRTOK_R.
35435         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
35436
35437 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
35438
35439         exclude: minor fix
35440         * lib/exclude.c: Include wctype.h
35441
35442 2009-09-06  Akim Demaille  <demaille@gostai.com>
35443
35444         bootstrap: improve error message
35445         * build-aux/bootstrap (find_tool): Upon failure, report the list
35446         of candidates.
35447         Honor the initial value of the envvar.
35448
35449 2009-09-05  Eric Blake  <ebb9@byu.net>
35450
35451         symlinkat: new module
35452         * modules/symlinkat: New file.
35453         * lib/symlinkat.c: Likewise.
35454         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
35455         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
35456         * modules/unistd (Makefile.am): Use them.
35457         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
35458         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
35459         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
35460         * MODULES.html.sh (File system functions): Mention module.
35461         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
35462         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
35463         * modules/symlinkat-tests: New test.
35464         * tests/test-symlinkat.c: Likewise.
35465
35466         test-openat-safer: add more checks
35467         * tests/test-openat-safer.c (main): Check more code paths.
35468
35469 2009-09-05  Jim Meyering  <meyering@redhat.com>
35470
35471         syntax-check: detect unnecessary inclusion of openat.h
35472         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
35473
35474 2009-09-05  Bruno Haible  <bruno@clisp.org>
35475
35476         Support towlower, towupper.
35477         * doc/posix-functions/towlower.texi: Mention module wctype.
35478         * doc/posix-functions/towupper.texi: Likewise.
35479         * lib/wctype.in.h (towlower, towupper): New functions.
35480         * tests/test-wctype.c: Include stdio.h, stdlib.h.
35481         (ASSERT): New macro.
35482         (e): New variable.
35483         (main): Test also towlower, towupper. Test WEOF argument.
35484         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
35485
35486 2009-09-05  Bruno Haible  <bruno@clisp.org>
35487
35488         Fix conversion behaviour when the input is invalid.
35489         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
35490         mark occurring in first pass of indirect conversion.
35491         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
35492         input.
35493         Found by clang's static analyzer.
35494
35495 2009-09-05  Bruno Haible  <bruno@clisp.org>
35496
35497         * tests/test-striconveh.c (main): Test indirect conversion on platforms
35498         where direct conversion is possible.
35499
35500 2009-09-04  Eric Blake  <ebb9@byu.net>
35501
35502         openat: fail with ENOENT on empty name
35503         * lib/openat-proc.c (openat_proc_name): Special-case the empty
35504         buffer.
35505
35506         link-follow: fix logic bug in prior patch
35507         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
35508         reversed sense of yes and no in prior patch.  Avoid confusing
35509         compilation failure with desired semantics.
35510
35511         link-follow: accomodate mingw and cross-compilation
35512         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
35513         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
35514         cross-compilation results to -1, to make linkat easier to
35515         implement when cross-compiling.  Trivially support mingw.
35516         * modules/link-follow (configure.ac): Call new name.
35517         * NEWS: Mention this.
35518
35519 2009-09-03  Eric Blake  <ebb9@byu.net>
35520
35521         faccessat: compile replacement
35522         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
35523         needed.
35524
35525         fts: fix compilation error
35526         * lib/fts.c (includes): Re-add "openat.h", for
35527         openat_needs_fchdir.
35528
35529         faccessat: new module
35530         * modules/faccessat: New file.
35531         * lib/faccessat.c: Likewise.
35532         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
35533         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
35534         * modules/unistd (Makefile.am): Use it.
35535         * lib/unistd.in.h (faccessat): Declare it.
35536         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
35537         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
35538         * MODULES.html.sh (File system functions): Mention it.
35539         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
35540         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
35541
35542         euidaccess: prefer POSIX over non-standard implementation
35543         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
35544         * lib/euidaccess.c (euidaccess): Use it if available.
35545
35546         openat: make template easier to use
35547         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
35548         AT_FUNC_F2 to be undefined.
35549         (VALIDATE_FLAG): New macro; use it to reject bad flags.
35550         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
35551         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
35552         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
35553         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
35554         Likewise.
35555         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
35556         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
35557         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
35558         Likewise.
35559
35560         openat: declare in POSIX headers
35561         * NEWS: Mention this.
35562         * modules/openat (configure.ac): Declare witnesses.
35563         (Depends-on): Add fcntl-h, sys_stat, unistd.
35564         (Include): Mention correct headers.
35565         * modules/fcntl-h (Depends-on): Add link-warning.
35566         (Files): Add openat.m4.
35567         (Makefile.am): Substitute witnesses.
35568         * modules/sys_stat (Files, Makefile.am): Likewise.
35569         * modules/unistd (Files, Makefile.am): Likewise.
35570         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
35571         (gl_OPENAT_DEFAULTS): New macro.
35572         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
35573         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
35574         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
35575         (SYS_STAT_H): Remove unused variable.
35576         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
35577         * lib/fcntl--.h (includes): Remove unneeded header.
35578         * lib/openat-safer.c (includes): Likewise.
35579         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
35580         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
35581         appropriate headers.
35582         (__OPENAT_PREFIX): Delete.
35583         * lib/fcntl.in.h (openat): Provide declaration.
35584         (AT_FDCWD): Fix Solaris bug.
35585         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
35586         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
35587         * lib/fchmodat.c (includes):  Adjust to find declaration.
35588         * lib/fchownat.c (includes): Likewise.
35589         * lib/mkdirat.c (includes): Likewise.
35590         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
35591         still visible.
35592
35593 2009-09-02  Eric Blake  <ebb9@byu.net>
35594
35595         errno: use consistently
35596         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
35597         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
35598         * lib/canonicalize.c (ELOOP): Likewise.
35599         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
35600         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
35601         * lib/lchown.c (EOPNOTSUPP): Likewise.
35602         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
35603         * lib/savewd.c (ESTALE): Likewise.
35604         * lib/settime.c (ENOSYS): Likewise.
35605         * lib/utimens.c (ENOSYS): Likewise.
35606         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
35607         * lib/chdir-safer.c (ELOOP): Likewise.
35608         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
35609         * modules/c-stack (Depends-on): Add errno.
35610         * modules/canonicalize (Depends-on): Likewise.
35611         * modules/chdir-safer (Depends-on): Likewise.
35612         * modules/fdopendir (Depends-on): Likewise.
35613         * modules/inet_ntop (Depends-on): Likewise.
35614         * modules/inet_pton (Depends-on): Likewise.
35615         * modules/lchown (Depends-on): Likewise.
35616         * modules/openat (Depends-on): Likewise.
35617         * modules/savewd (Depends-on): Likewise.
35618         * modules/settime (Depends-on): Likewise.
35619         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
35620
35621         fts: avoid leaking fds
35622         * modules/fts (Depends-on): Add cloexec.
35623         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
35624         flag.
35625
35626         fts: make directory fds more robust
35627         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
35628         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
35629
35630         backupfile, chdir-long, fts, savedir: make safer
35631         * lib/backupfile.c (includes): Use "dirent--.h", since
35632         numbered_backup can write to stderr during readdir.
35633         * lib/savedir.c (includes): Likewise.
35634         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
35635         emulation can write to stderr on failure.
35636         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
35637         * lib/getcwd.c: Document why opendir_safer is unused.
35638         * lib/glob.c: Likewise.
35639         * lib/scandir.c: Likewise.
35640         * lib/openat-proc.c: Likewise, for open_safer.
35641         * modules/backupfile (Depends-on): Add dirent-safer.
35642         * modules/savedir (Depends-on): Likewise.
35643         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
35644         * modules/chdir-long (Depends-on): Add openat-safer.
35645
35646         openat-safer: new module
35647         * modules/openat-safer: New file.
35648         * lib/openat-safer.c: Likewise.
35649         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
35650         * lib/fcntl-safer.h (openat_safer): Declare.
35651         * lib/fcntl--.h (openat): Override.
35652         * MODULES.html.sh (File descriptor based I/O): Mention it.
35653         * lib/openat.h: Add double-inclusion guards.
35654         * lib/openat.c (includes): Only include "fcntl-safer.h", not
35655         "fcntl--.h", so we can implement openat.
35656         * modules/openat-safer-tests: New test.
35657         * tests/test-openat-safer.c: New file.
35658
35659         dirent-safer: new module
35660         * modules/dirent-safer: New file.
35661         * lib/dirent--.h: Likewise.
35662         * lib/dirent-safer.h: Likewise.
35663         * lib/opendir-safer.c: Likewise.
35664         * m4/dirent-safer.m4: Likewise.
35665         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
35666         * modules/dirent-safer-tests: New test.
35667         * tests/test-dirent-safer.c: New file.
35668         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
35669
35670         fdopendir: optimize on mingw
35671         * lib/unistd.in.h (_gl_directory_name): New prototype.
35672         * lib/fchdir.c (_gl_directory_name): Implement it.
35673         (fchdir): Use it to simplify implementation.
35674         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
35675         fchdir, when available, to avoid calling [f]chdir().
35676
35677         fdopendir: split into its own module
35678         * lib/openat.c (fdopendir): Move...
35679         * lib/fdopendir.c: ...into new file.
35680         * modules/fdopendir: New module.
35681         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
35682         * modules/openat (Depends-on): Add fdopendir.
35683         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
35684         fdopendir here.
35685         * modules/savedir (Depends-on): Only need fdopendir, not full
35686         openat.
35687         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
35688         * lib/openat.h (fdopendir): Drop prototype.
35689         * lib/dirent.in.h (fdopendir): Provide prototype.
35690         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
35691         * modules/dirent (Makefile.am): Substitute them.
35692         * MODULES.html.sh (File system functions): Mention it.
35693         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
35694         * modules/fdopendir-tests: New file.
35695         * tests/test-fdopendir.c: Likewise.
35696
35697         fchdir: use more consistent macro convention
35698         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
35699         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
35700         REPLACE_FCHDIR, rather than relying on config.h macros.
35701         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
35702         inside a single make-time REPLACE_FCHDIR block, rather than using
35703         the config.h FCHDIR_REPLACEMENT.
35704         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
35705         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
35706         Manage fstat replacement.
35707         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
35708         REPLACE_FCHDIR.
35709         * modules/sys_stat (Files): Add m4/unistd_h.m4.
35710         (Makefile.am): Substitute REPLACE_FCHDIR.
35711         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
35712         FCHDIR_REPLACEMENT.
35713         * lib/dup-safer.c (dup_safer): Likewise.
35714         * lib/dup2.c (rpl_dup2): Likewise.
35715         * lib/dup3.c (rpl_dup3): Likewise.
35716         * lib/open.c (rpl_open): Likewise.
35717
35718         fchdir: simplify error handling, and support dup3
35719         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
35720         stdbool, malloc-posix, realloc-posix.
35721         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
35722         (ensure_dirs_slot): Return false on allocation failure.
35723         (rpl_dup2): Delete.
35724         (_gl_register_dup): New function.
35725         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
35726         (_gl_register_fd): Close fd on allocation failure.
35727         * lib/fcntl.in.h (_gl_register_fd): Update signature.
35728         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
35729         prototype.
35730         (rpl_dup2_fchdir): Delete prototype.
35731         * lib/open.c (open): Update caller.
35732         * lib/dup2.c (dup2): Track fchdir metadata.
35733         * lib/dup3.c (dup3): Likewise.
35734         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
35735         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
35736
35737 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35738
35739         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
35740         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
35741         don't pass arguments to AC_OUTPUT.
35742
35743 2009-09-02  Bruno Haible  <bruno@clisp.org>
35744
35745         * modules/mkdtemp (License): Relicense under LGPLv2+.
35746         Reported by Paolo Bonzini.
35747
35748 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35749
35750         Replace uses of obsolete autoconf macros in Jim's modules.
35751         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
35752         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
35753         can evoke a warning from autoconf when run with -Wobsolete
35754         enabled.  They were declared obsolete for good reasons (see
35755         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
35756         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
35757         should not continue using the deprecated macros.
35758         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
35759         obsolete Autoconf macros with modern counterparts.
35760         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
35761         * m4/dos.m4 (gl_AC_DOS): Likewise.
35762         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
35763         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
35764         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
35765         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
35766         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
35767         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
35768         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
35769         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
35770         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
35771         Likewise.
35772         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
35773         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
35774         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
35775         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
35776         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
35777         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
35778
35779 2009-09-01  Eric Blake  <ebb9@byu.net>
35780
35781         fchdir: fix off-by-one bug in previous patch
35782         * lib/fchdir.c (rpl_fstat): Use correct bounds.
35783         (_gl_unregister_fd): Delete useless if.
35784
35785 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
35786
35787         maint.mk: sort the list of syntax-check rules
35788         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
35789         easier to get a sense of progress when the rules are run sequentially
35790         and take a long time.
35791
35792 2009-09-01  Simon Josefsson  <simon@josefsson.org>
35793
35794         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
35795         * modules/netinet_in: Likewise.
35796         * modules/sys_file: Likewise.
35797         * modules/sys_ioctl: Likewise.
35798         * modules/sys_select: Likewise.
35799         * modules/sys_socket: Likewise.
35800         * modules/sys_stat: Likewise.
35801         * modules/sys_time: Likewise.
35802         * modules/sys_times: Likewise.
35803         * modules/sys_utsname: Likewise.
35804         * modules/sys_wait: Likewise.
35805
35806 2009-09-01  Jim Meyering  <meyering@redhat.com>
35807
35808         fts: help ensure that return values are not ignored
35809         * lib/fts_.h (__GNUC_PREREQ): Define.
35810         (__attribute_warn_unused_result__): Define.
35811         (fts_children, fts_close, fts_open, fts_read): Declare with
35812         __attribute_warn_unused_result__.
35813
35814         fts: fts_close now fails also when closing a dir file descriptor fails
35815         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
35816         and propagate to caller, along with errno.
35817
35818         announce-gen: correct formatting in --help output
35819         * build-aux/announce-gen (usage): Move the one-line description in
35820         --help output "up", to where it belongs, just after Usage:.
35821
35822 2009-08-31  Eric Blake  <ebb9@byu.net>
35823
35824         fchdir: port to mingw
35825         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
35826         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
35827         opened, then use a substitute.
35828         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
35829         replacement.
35830         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
35831         (_gl_register_fd): No need to check stat if open already filters
35832         all directories.
35833         (fchdir): Fix error condition to match POSIX.
35834         * modules/fchdir (Depends-on): Add sys_stat.
35835         * doc/posix-functions/open.texi (open): Document the limitation.
35836         * modules/fchdir-tests: New file.
35837         * tests/test-fchdir.c: Likewise.
35838
35839         canonicalize: allow cross-testing from cygwin to mingw
35840         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
35841         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
35842         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
35843         Likewise.
35844         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
35845         target does not support symlinks.
35846         * tests/test-canonicalize-lgpl.sh: Likewise.
35847
35848         chown: avoid compilation warning on mingw
35849         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
35850         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
35851         mingw.
35852         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
35853         * modules/chown (Depends-on): Add errno.
35854
35855 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
35856
35857         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
35858         command.
35859
35860 2009-08-31  Jim Meyering  <meyering@redhat.com>
35861
35862         canonicalize: remove useless initialization
35863         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
35864         initialization of local, "end".
35865
35866 2009-08-30  Bruno Haible  <bruno@clisp.org>
35867
35868         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
35869         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
35870         ENOSYS.
35871
35872 2009-08-30  Bruno Haible  <bruno@clisp.org>
35873
35874         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
35875         /usr/xpg4/bin/tr when it exists.
35876         * tests/test-pipe-filter-gi1.sh: Likewise.
35877
35878 2009-08-30  Bruno Haible  <bruno@clisp.org>
35879
35880         Work around deficient /usr/bin/id program on Solaris.
35881         * tests/test-file-has-acl.sh (ID): New variable.
35882         * tests/test-set-mode-acl.sh (ID): Likewise.
35883         * tests/test-copy-acl.sh (ID): Likewise.
35884         * tests/test-copy-file.sh (ID): Likewise.
35885
35886 2009-08-30  Bruno Haible  <bruno@clisp.org>
35887
35888         New module 'xstriconveh'.
35889         * lib/xstriconveh.h: New file.
35890         * lib/xstriconveh.c: New file.
35891         * modules/xstriconveh: New file.
35892
35893 2009-08-30  Bruno Haible  <bruno@clisp.org>
35894
35895         Make it easier to use mem_cd_iconveh.
35896         * lib/striconveh.h (iconveh_t): New type.
35897         (iconveh_open, iconveh_close): New declarations.
35898         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
35899         with a single 'const iconveh_t *' argument.
35900         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
35901         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
35902         with a single 'const iconveh_t *' argument.
35903         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
35904         * tests/test-striconveh.c (main): Update.
35905         * NEWS: Mention the change.
35906
35907 2009-08-30  Bruno Haible  <bruno@clisp.org>
35908
35909         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
35910         problem.
35911
35912 2009-08-30  Bruno Haible  <bruno@clisp.org>
35913
35914         Work around iconv_open problem on Solaris.
35915         * lib/iconv_open-solaris.gperf: New file.
35916         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
35917         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
35918         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
35919         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
35920         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
35921         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
35922
35923 2009-08-29  Jim Meyering  <meyering@redhat.com>
35924
35925         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
35926         * top/maint.mk (cvs-check): Remove target; it was just an alias
35927         to the better-named vc-diff-check.
35928         (maintainer-distcheck): Remove rule.  It was used only from
35929         the (alpha/beta/major) target, and all of its commands but one
35930         were coreutils-specific.
35931         (vc-dist): Remove rule.
35932         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
35933         Run vc-diff-check, not vc-dist.
35934         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
35935
35936 2009-08-27  Bruno Haible  <bruno@clisp.org>
35937
35938         * tests/test-bitrotate.c (main): Remove test that uses a shift count
35939         of 0.
35940
35941 2009-08-27  Bruno Haible  <bruno@clisp.org>
35942
35943         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
35944         compilers.
35945         * doc/func.texi: Document the SunPRO C bug.
35946
35947 2009-08-27  Bruno Haible  <bruno@clisp.org>
35948
35949         Fix link error on Solaris.
35950         * tests/test-parse-duration.c (xstrdup): Remove function.
35951
35952 2009-08-26  Pádraig Brady  <P@draigbrady.com>
35953
35954         ignore-value: handle pointer types, too
35955         * lib/ignore-value.h (__attribute__): Remove definition.
35956         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
35957         of a more concise and more-often effective "(void) i" statement.
35958         (ignore_ptr): New function to suppress warnings from functions that
35959         return pointers, and to make it explicit that one function doesn't
35960         handle all cases.
35961
35962 2009-08-25  Bruno Haible  <bruno@clisp.org>
35963
35964         dup2: work around a Linux bug.
35965         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
35966         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
35967         * doc/posix-functions/dup2.texi: Mention the Linux bug.
35968         Reported by Simon Josefsson.
35969
35970 2009-08-25  Jim Meyering  <meyering@redhat.com>
35971
35972         libguestfs uses gnulib
35973         * users.txt: Add libguestfs.
35974
35975 2009-08-24  Eric Blake  <ebb9@byu.net>
35976
35977         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
35978         * lib/pipe2.c (includes): Add binary-io.h.
35979         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
35980
35981 2009-08-24  Bruno Haible  <bruno@clisp.org>
35982
35983         Tolerate declared but missing accept4 syscall.
35984         * lib/accept4.c (accept4): Invoke original accept4 function first, if
35985         available.
35986         * lib/sys_socket.in.h (accept4): If the function is already present,
35987         override it.
35988         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
35989         * modules/accept4 (Makefile.am): Compile accept4.c always.
35990         Reported by Paolo Bonzini and Eric Blake.
35991
35992 2009-08-23  Bruno Haible  <bruno@clisp.org>
35993
35994         New module 'accept4'.
35995         * lib/sys_socket.in.h (accept4): New declaration.
35996         * lib/accept4.c: New file.
35997         * m4/accept4.m4: New file.
35998         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
35999         GNULIB_ACCEPT4, HAVE_ACCEPT4.
36000         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
36001         HAVE_ACCEPT4.
36002         * modules/accept4: New file.
36003         * doc/glibc-functions/accept4.texi: Mention the new module.
36004
36005 2009-08-24  Jim Meyering  <meyering@redhat.com>
36006
36007         progname: also set global program_invocation_name, when possible
36008         Before this change, a libtool-enabled program that calls glibc's
36009         error function would report the program name as
36010         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
36011         * modules/progname (configure.ac): Check for a declaration of
36012         program_invocation_name.
36013         * lib/progname.c:  Include <errno.h>.
36014         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
36015         Set program_invocation_name.
36016
36017 2009-08-23  Bruno Haible  <bruno@clisp.org>
36018
36019         * lib/dup3.c: Include <string.h>.
36020
36021 2009-08-23  Bruno Haible  <bruno@clisp.org>
36022
36023         * lib/dup3.c (dup3): Test only once whether the system actually exists.
36024         * lib/pipe2.c (pipe2): Likewise.
36025         Suggested by Eric Blake.
36026
36027 2009-08-23  Bruno Haible  <bruno@clisp.org>
36028
36029         Tolerate declared but missing dup3 syscall.
36030         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
36031         * lib/unistd.in.h (dup3): If the function is already present,
36032         override it.
36033         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
36034         * modules/dup3 (Makefile.am): Compile dup3.c always.
36035         Reported by Paolo Bonzini.
36036
36037 2009-08-23  Bruno Haible  <bruno@clisp.org>
36038
36039         Tolerate declared but missing pipe2 syscall.
36040         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
36041         available.
36042         * lib/unistd.in.h (pipe2): If the function is already present,
36043         override it.
36044         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
36045         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
36046         Reported by Paolo Bonzini.
36047
36048 2009-08-23  Bruno Haible  <bruno@clisp.org>
36049
36050         * lib/pipe2.c (pipe2): Move #ifs inside function.
36051
36052 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
36053
36054         quotearg: document limitations of quote_these_too
36055         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
36056         those limitations are created.
36057         * lib/quotearg.h (set_char_quoting): Document that digits and
36058         letters that are special after backslash are not permitted.
36059         (quotearg_char): Cross-reference set_char_quoting documentation.
36060
36061 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
36062
36063         quotearg: implement custom_quoting_style
36064         * lib/quotearg.c: (struct quoting_options): Add left_quote and
36065         right_quote fields.
36066         (set_custom_quoting): New public function.
36067         (quotearg_buffer_restyled): Add left_quote and right_quote
36068         arguments, handle them very much like locale quoting, and update
36069         all uses.
36070         (quotearg_n_custom): New public function.
36071         (quotearg_n_custom_mem): New public function.
36072         (quotearg_custom): New public function.
36073         (quotearg_custom_mem): New public function.
36074         * lib/quotearg.h: Prototype and document new public functions.
36075         (enum quoting_style): For escape_quoting_style and
36076         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
36077         ignored even though they're otherwise like c_quoting_style.
36078         Add custom_quoting_style member and document with comparison to
36079         clocale_quoting_style.
36080         * tests/test-quotearg.c (custom_quotes): New array.
36081         (custom_results): New array.
36082         (main): Extend to test custom quoting.
36083
36084 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
36085
36086         quotearg: fix right quote escaping when it's in quote_these_too
36087         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
36088         quote, be sure to prepend only one backslash.
36089         * tests/test-quotearg.c (use_quote_double_quotes): New function.
36090         (main): Test it.
36091
36092 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
36093
36094         quotearg-tests: test escaping of embedded locale quotes
36095         * tests/test-quotearg.c (struct result_strings): Add member for
36096         new input.
36097         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
36098         (inputs): Add new input.
36099         (results_g): Add expected results.
36100         (flag_results): Likewise.
36101         (locale_results): Likewise.
36102         (compare_strings): Check those.
36103
36104 2009-08-23  Bruno Haible  <bruno@clisp.org>
36105
36106         Tests for module 'dup3'.
36107         * modules/dup3-tests: New file.
36108         * tests/test-dup3.c: New file.
36109
36110         New module 'dup3'.
36111         * lib/unistd.in.h (dup3): New declaration.
36112         * lib/dup3.c: New file.
36113         * m4/dup3.m4: New file.
36114         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
36115         HAVE_DUP3.
36116         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
36117         * modules/dup3: New file.
36118         * doc/glibc-functions/dup3.texi: Mention the new module.
36119
36120 2009-08-23  Bruno Haible  <bruno@clisp.org>
36121
36122         Tweak the dup2 test.
36123         * tests/test-dup2.c (main): Create the test file empty. Verify that an
36124         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
36125         the test file is still empty. Fix argument order of lseek.
36126
36127 2009-08-23  Bruno Haible  <bruno@clisp.org>
36128
36129         Avoid test link errors when the modules getopt-gnu, gettext are used.
36130         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
36131         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
36132
36133 2009-08-23  Bruno Haible  <bruno@clisp.org>
36134
36135         Fix getdtablesize() on mingw.
36136         * lib/getdtablesize.c (getdtablesize): Implement differently.
36137         * lib/unistd.in.h (getdtablesize): Improve comment.
36138
36139 2009-08-23  Bruno Haible  <bruno@clisp.org>
36140
36141         New module 'mkostemp'.
36142         Based on Ulrich Drepper's 2007-08-10 change in glibc.
36143         * lib/stdlib.in.h (mksotemp): New declaration.
36144         * lib/mkostemp.c: New file, from glibc with modifications.
36145         * lib/tempname.h (GT_FILE): Remove outdated comment.
36146         (gen_tempname): Add flags argument.
36147         * lib/tempname.c (__GT_BIGFILE): Remove macro.
36148         (__GT_FILE): Map to 1.
36149         (small_open, large_open): Remove macros.
36150         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
36151         * lib/mkstemp.c (mkstemp): Update.
36152         * lib/mkdtemp.c (mkdtemp): Likewise.
36153         * m4/mkostemp.m4: New file.
36154         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
36155         HAVE_MKOSTEMP.
36156         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
36157         HAVE_MKOSTEMP.
36158         * modules/mkostemp: New file, based on modules/mkstemp.
36159         * doc/glibc-functions/mkostemp.texi: Mention the new module.
36160         * NEWS: Mention the change.
36161
36162 2009-08-23  Bruno Haible  <bruno@clisp.org>
36163
36164         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
36165         Reported by Eric Blake.
36166
36167 2009-08-23  Bruno Haible  <bruno@clisp.org>
36168
36169         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
36170         Reported by Eric Blake.
36171
36172 2009-08-23  Bruno Haible  <bruno@clisp.org>
36173
36174         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
36175         * modules/pipe2 (Depends-on): Likewise.
36176
36177 2009-08-23  Eric Blake  <ebb9@byu.net>
36178
36179         fcntl-h: add O_TTY_INIT support
36180         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
36181         * tests/test-fcntl-h.c (o): Test it.
36182         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
36183
36184         fcntl-h: rename from fcntl, in preparation for fcntl(2)
36185         * modules/fcntl: Move <fcntl.h> header replacement...
36186         * modules/fcntl-h: ...to new name, so as not to collide with
36187         like-named function.
36188         * tests/test-fcntl.c: Rename...
36189         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
36190         * modules/fcntl-tests: Rename...
36191         * modules/fcntl-h-tests: ...to this.  Update test file name.
36192         * modules/chdir-long (Depends-on): Update clients.
36193         * modules/chdir-safer (Depends-on): Likewise.
36194         * modules/fcntl-safer (Depends-on): Likewise.
36195         * modules/fts (Depends-on): Likewise.
36196         * modules/mkancesdirs (Depends-on): Likewise.
36197         * modules/mkdir-p (Depends-on): Likewise.
36198         * modules/open (Depends-on): Likewise.
36199         * modules/savewd (Depends-on): Likewise.
36200         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
36201         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
36202
36203 2009-08-22  Bruno Haible  <bruno@clisp.org>
36204
36205         * modules/binary-io (License): Relicense under LGPL.
36206         * modules/pipe2 (License): Likewise.
36207
36208 2009-08-22  Bruno Haible  <bruno@clisp.org>
36209
36210         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
36211         return value.
36212         * lib/pipe-filter-gi.c (filter_init): Likewise.
36213         Reported by Eric Blake.
36214
36215 2009-08-22  Bruno Haible  <bruno@clisp.org>
36216
36217         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
36218         * modules/pipe (Depends-on): Add pipe2.
36219
36220 2009-08-22  Bruno Haible  <bruno@clisp.org>
36221
36222         Tests for module 'pipe2'.
36223         * modules/pipe2-tests: New file.
36224         * tests/test-pipe2.c: New file.
36225
36226         New module 'pipe2'.
36227         * lib/unistd.in.h (pipe2): New declaration.
36228         * lib/pipe2.c: New file.
36229         * m4/pipe2.m4: New file.
36230         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
36231         HAVE_PIPE2.
36232         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
36233         * modules/pipe2: New file.
36234         * doc/glibc-functions/pipe2.texi: Mention the new module.
36235
36236 2009-08-22  Bruno Haible  <bruno@clisp.org>
36237
36238         Reference some new glibc functions.
36239         * doc/glibc-functions/accept4.texi: New file.
36240         * doc/glibc-functions/dup3.texi: New file.
36241         * doc/glibc-functions/mkostemp.texi: New file.
36242         * doc/glibc-functions/pipe2.texi: New file.
36243         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
36244         (Glibc sys/socket.h): Refer to accept4.
36245         (Glibc unistd.h): Refer to dup3, pipe2.
36246         Reported by Eric Blake.
36247
36248 2009-08-22  Jim Meyering  <meyering@redhat.com>
36249             Bruno Haible  <bruno@clisp.org>
36250
36251         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
36252         This makes it so packages using automake-1.11's silent-rules option
36253         can print e.g., a single "GEN    configmake.h" line, rather than
36254         the 30+ statements that perform the job.  If you want to see the
36255         actual commands, you can still run "make V=1".
36256         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
36257         so that make output is abbreviated when those variables are defined
36258         appropriately.
36259         * modules/argz: Likewise.
36260         * modules/arpa_inet: Likewise.
36261         * modules/byteswap: Likewise.
36262         * modules/configmake: Likewise.
36263         * modules/dirent: Likewise.
36264         * modules/errno: Likewise.
36265         * modules/fcntl: Likewise.
36266         * modules/float: Likewise.
36267         * modules/fnmatch: Likewise.
36268         * modules/getopt-posix: Likewise.
36269         * modules/glob: Likewise.
36270         * modules/iconv_open: Likewise.
36271         * modules/inttypes: Likewise.
36272         * modules/localcharset: Likewise.
36273         * modules/locale: Likewise.
36274         * modules/math: Likewise.
36275         * modules/netdb: Likewise.
36276         * modules/netinet_in: Likewise.
36277         * modules/poll: Likewise.
36278         * modules/posix_spawnp-tests: Likewise.
36279         * modules/sched: Likewise.
36280         * modules/search: Likewise.
36281         * modules/selinux-h: Likewise.
36282         * modules/signal: Likewise.
36283         * modules/spawn: Likewise.
36284         * modules/stdarg: Likewise.
36285         * modules/stdbool: Likewise.
36286         * modules/stddef: Likewise.
36287         * modules/stdint: Likewise.
36288         * modules/stdio: Likewise.
36289         * modules/stdlib: Likewise.
36290         * modules/string: Likewise.
36291         * modules/strings: Likewise.
36292         * modules/sys_file: Likewise.
36293         * modules/sys_ioctl: Likewise.
36294         * modules/sys_select: Likewise.
36295         * modules/sys_socket: Likewise.
36296         * modules/sys_stat: Likewise.
36297         * modules/sys_time: Likewise.
36298         * modules/sys_times: Likewise.
36299         * modules/sys_utsname: Likewise.
36300         * modules/sys_wait: Likewise.
36301         * modules/sysexits: Likewise.
36302         * modules/time: Likewise.
36303         * modules/unistd: Likewise.
36304         * modules/wchar: Likewise.
36305         * modules/wctype: Likewise.
36306
36307 2009-08-22  Jim Meyering  <meyering@redhat.com>
36308
36309         announce-gen: detect write failure
36310         * build-aux/announce-gen: Add Coda at end.
36311         Remove equivalent-but-more-verbose block at top.
36312
36313 2009-08-19  Akim Demaille  <demaille@gostai.com>
36314
36315         bootstrap: --help to stdout.
36316         * bootstrap (usage): Don't send --help to stderr.
36317         Use a here doc instead of a long string.
36318
36319 2009-08-21  Eric Blake  <ebb9@byu.net>
36320
36321         test-popen-safer: split from test-popen
36322         * tests/test-popen.c (main): Move...
36323         * tests/test-popen.h: ...into new file.
36324         * tests/test-popen-safer2.c: New file.
36325         * modules/popen-tests (Files): Add test-popen.h.
36326         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
36327         Suggested by Bruno Haible.
36328
36329         test-fcntl-safer: split from test-open
36330         * tests/test-open.c (main): Move...
36331         * tests/test-open.h: ...into new file.
36332         * tests/test-fcntl-safer.c: New file.
36333         * modules/open-tests (Files): Add test-open.h.
36334         * modules/fcntl-safer-tests: New file.
36335         Suggested by Bruno Haible.
36336
36337         test-fopen-safer: split from test-fopen
36338         * tests/test-fopen.c (main): Move...
36339         * tests/test-fopen.h: ...into new file.
36340         * tests/test-fopen-safer.c: New file.
36341         * modules/fopen-tests (Files): Add test-fopen.h.
36342         * modules/fopen-safer-tests: New file.
36343         Suggested by Bruno Haible.
36344
36345 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
36346
36347         popen-safer: test O_CLOEXEC at run-time.
36348         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
36349
36350 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
36351
36352         fcntl: move more flags to the header
36353         * lib/cloexec.c: Do not define FD_CLOEXEC here.
36354         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
36355         * lib/fcntl.in.h: Do both things here.
36356
36357 2009-08-21  Jim Meyering  <meyering@redhat.com>
36358
36359         consistently remove $@-t before redirecting to it
36360         * modules/argz: Remove $@-t and $@ before redirecting to the former.
36361         * modules/alloca-opt: Likewise.
36362         * modules/byteswap: Likewise.
36363         * modules/fnmatch: Likewise.
36364         * modules/getopt-posix: Likewise.
36365         * modules/glob: Likewise.
36366         * modules/poll: Likewise.
36367         * modules/posix_spawnp-tests: Likewise.
36368         * modules/sys_socket: Likewise.
36369         * modules/sysexits: Likewise.
36370
36371 2009-08-21  Eric Blake  <ebb9@byu.net>
36372
36373         popen: simplify access to original popen
36374         * lib/popen.c (rpl_popen): No need to worry about popen being a
36375         macro.
36376         Reported by Bruno Haible.
36377
36378 2009-08-20  Eric Blake  <ebb9@byu.net>
36379
36380         build: avoid some compiler warnings
36381         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
36382         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
36383         type.
36384         (new_exclude_segment, excluded_file_pattern_p)
36385         (excluded_file_name_p): Reduce scope.
36386         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
36387         old-style declaration.
36388
36389 2009-08-20  Simon Josefsson  <simon@josefsson.org>
36390
36391         * tests/test-exclude1.sh: Handle Windows EOL.
36392         * tests/test-exclude2.sh: Likewise.
36393         * tests/test-exclude3.sh: Likewise.
36394         * tests/test-exclude4.sh: Likewise.
36395         * tests/test-exclude5.sh: Likewise.
36396         * tests/test-exclude6.sh: Likewise.
36397         * tests/test-exclude7.sh: Likewise.
36398
36399 2009-08-19  Akim Demaille  <demaille@gostai.com>
36400
36401         bootstrap: find sha1sum when named gsha1sum.
36402         * bootstrap (find_tool): New.
36403         ($SHA1SUM): New.
36404         Use it.
36405
36406 2009-08-20  Jim Meyering  <meyering@redhat.com>
36407
36408         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
36409         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
36410         expression that converts "." in a file name to "\." in the resulting
36411         regexp.  Start with a dummy statement, so that prior shell variable
36412         definitions are expanded portably.  Reported by Simon Josefsson.
36413
36414 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
36415
36416         Fix polling for writeability of a screen buffer.
36417         * lib/poll.c: Distinguish input and screen buffers for the
36418         Win32 implementation.
36419         * lib/select.c: Likewise.
36420
36421 2009-08-19  Eric Blake  <ebb9@byu.net>
36422
36423         popen-safer: prevent popen from clobbering std descriptors
36424         * modules/popen-safer: New file.
36425         * lib/popen-safer.c: Likewise.
36426         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
36427         * lib/stdio--.h (popen): Provide override.
36428         * lib/stdio-safer.h (popen_safer): Provide declaration.
36429         * tests/test-popen.c (includes): Partially test this.
36430         * modules/popen-safer-tests: New file, for more tests.
36431         * tests/test-popen-safer.c: Likewise.
36432         * MODULES.html.sh (file stream based Input/Output): Mention it.
36433
36434         tests: test some of the *-safer modules
36435         * modules/fopen-safer (Depends-on): Add fopen.
36436         * modules/fcntl-safer (Depends-on): Add fcntl.
36437         * modules/stdlib-safer (Depends-on): Add stdlib.
36438         (configure.ac): Set indicator.
36439         * modules/unistd-safer (configure.ac): Likewise.
36440         * modules/tmpfile-safer (configure.ac): Likewise.
36441         (Depends-on): Add tmpfile.
36442         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
36443         active.
36444         * tests/test-fopen.c (includes): Test safer versions when they are
36445         in use.
36446         * tests/test-open.c (includes): Likewise.
36447
36448         popen: fix cygwin 1.5 bug when stdin closed
36449         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
36450         * modules/popen: New file.
36451         * modules/popen-tests: Likewise.
36452         * tests/test-popen.c: Likewise.
36453         * m4/popen.m4: Likewise.
36454         * lib/popen.c: Likewise.
36455         * lib/stdio.in.h (popen): New declaration.
36456         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
36457         * modules/stdio (Makefile.am): Likewise.
36458         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
36459
36460 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
36461
36462         maint.mk: give full control over update-copyright exclusions
36463         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
36464         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
36465         (update-copyright): Don't force inclusion of top-level
36466         ChangeLog.  Don't force exclusion of all COPYING files, but make
36467         them the default exclusion instead.
36468
36469 2009-08-16  Bruno Haible  <bruno@clisp.org>
36470
36471         Fix test failures on Solaris 10.
36472         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
36473         tests when Solaris iconv() is used.
36474         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
36475         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
36476         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
36477         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
36478         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
36479
36480 2009-08-16  Bruno Haible  <bruno@clisp.org>
36481
36482         Fix test failures on Solaris 10.
36483         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
36484         'tr' program and pass it as first argument.
36485         * tests/test-pipe-filter-gi1.sh: Likewise.
36486         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
36487         program as first argument.
36488         * tests/test-pipe-filter-gi1.c (main): Likewise.
36489
36490 2009-08-16  Eric Blake  <ebb9@byu.net>
36491
36492         fpurge: fix previous commits
36493         * modules/fpurge (Makefile.am): Make replacement conditional,
36494         partially reverting 2007-04-29 change; missed in previous
36495         attempt.
36496         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
36497         is missing.
36498
36499 2009-08-16  Bruno Haible  <bruno@clisp.org>
36500
36501         Clarify fpurge's effect on the file position.
36502         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
36503         * tests/test-fpurge.c (main): Make a second pass for checking the file
36504         position.
36505
36506 2009-08-16  Bruno Haible  <bruno@clisp.org>
36507
36508         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
36509         declaration of fpurge is missing.
36510         * tests/test-fpurge.c (main): Check that the file has not more contents
36511         than expected. Close the file before removing it.
36512
36513 2009-08-15  Eric Blake  <ebb9@byu.net>
36514
36515         fpurge: don't wrap working cygwin implementation
36516         * lib/fpurge.c (fpurge): Fix comment typo.
36517         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
36518         1.7 to avoid replacement.
36519         * tests/test-fpurge.c (main): Enhance test.
36520
36521 2009-08-15  Eric Blake  <ebb9@byu.net>
36522         and Jim Meyering  <meyering@redhat.com>
36523
36524         test-update-copyright: skip if perl is insufficient
36525         * tests/test-update-copyright.sh: Failure to run maintainer tool
36526         should not cause testsuite failure on cygwin 1.5.
36527
36528 2009-08-14  Eric Blake  <ebb9@byu.net>
36529
36530         doc: mention more functions added in cygwin 1.7.0
36531         * doc/posix-headers/limits.texi (limits.h): Update for recent
36532         cygwin additions.
36533         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
36534         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
36535         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
36536         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
36537         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
36538
36539 2009-08-14  Eric Blake  <ebb9@byu.net>
36540
36541         maint.mk: simplify update-copyright rule
36542         * top/maint.mk (update-copyright-local): Delete, and document how
36543         to do it in cfg.mk instead.
36544         (update-copyright-exclude-regexp): Delete, and document how to do
36545         it in .x-update-copyright instead.
36546         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
36547         exclude ChangeLog.
36548
36549 2009-08-14  Bruno Haible  <bruno@clisp.org>
36550
36551         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
36552
36553 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
36554
36555         maint.mk: support update-copyright-env
36556         * top/maint.mk (update-copyright-env): Define place-holder.
36557         (update-copyright): Expand $(update-copyright-env) before
36558         invoking update-copyright.
36559
36560 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
36561
36562         update-copyright: implement forced reformatting
36563         * build-aux/update-copyright: Implement and document
36564         UPDATE_COPYRIGHT_FORCE.
36565         * tests/test-update-copyright.sh: Test it.
36566
36567 2009-08-14  Eric Blake  <ebb9@byu.net>
36568         and Bruno Haible  <bruno@clisp.org>
36569
36570         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
36571         * tests/test-locale.c: Revert previous patch related to NULL.
36572         * tests/test-stdio.c: Likewise.
36573         * tests/test-stdlib.c: Likewise.
36574         * tests/test-string.c: Likewise.
36575         * tests/test-unistd.c: Likewise.
36576         * modules/time-tests (Depends-on): Add verify.
36577         * modules/wchar-tests (Depends-on): Likewise.
36578         * tests/test-time.c: Test for NULL compliance.
36579         * tests/test-wchar.c: Likewise.
36580         * modules/locale (Depends-on): Add stddef.
36581         * modules/stdio (Depends-on): Likewise.
36582         * modules/stdlib (Depends-on): Likewise.
36583         * modules/string (Depends-on): Likewise.
36584         * modules/time (Depends-on): Likewise.
36585         * modules/unistd (Depends-on): Likewise.
36586         * modules/wchar (Depends-on): Likewise.
36587         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
36588         * lib/stdlib.in.h (includes): Likewise.
36589         * lib/string.in.h (includes): Likewise.
36590         * lib/time.in.h (includes): Likewise.
36591         * lib/unistd.in.h (includes): Likewise.
36592         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
36593         replaced.
36594         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
36595         * m4/stddef_h.m4: New file.
36596         * modules/stddef: Likewise.
36597         * lib/stddef.in.h: Likewise.
36598         * modules/stddef-tests: Likewise.
36599         * tests/test-stddef.c: Likewise.
36600         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
36601         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
36602         * doc/posix-headers/locale.texi (locale.h): Likewise.
36603         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
36604         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
36605         * doc/posix-headers/string.texi (string.h): Likewise.
36606         * doc/posix-headers/time.texi (time.h): Likewise.
36607         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
36608         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
36609
36610 2009-08-14  Eric Blake  <ebb9@byu.net>
36611
36612         doc: improve git diff of texinfo files
36613         * .gitattributes: Add rule for *.texi files, with hint on how to
36614         use it.
36615         Copied from m4, and based on a report by Bruno Haible.
36616
36617 2009-08-14  Bruno Haible  <bruno@clisp.org>
36618
36619         Disable multithread support by default on Cygwin 1.5.x for real.
36620         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
36621
36622 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
36623
36624         update-copyright: much ado about intervals
36625         * build-aux/update-copyright: Implement and document
36626         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
36627         of copyright year intervals.
36628         Also, document UPDATE_COPYRIGHT_YEAR.
36629         * tests/test-update-copyright.sh: Test it.
36630
36631         update-copyright: convert 2-digit to 4-digit years
36632         * build-aux/update-copyright: Implement and document.
36633         * tests/test-update-copyright.sh: Update.
36634
36635 2009-08-14  Jim Meyering  <meyering@redhat.com>
36636
36637         test-exclude: avoid coreutils "make check" failure
36638         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
36639         just as in test-argmatch.c.
36640
36641 2009-08-13  Eric Blake  <ebb9@byu.net>
36642
36643         test-dup2: fix bad assumption
36644         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
36645         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
36646
36647         test-version-etc: fix CRLF portability issue
36648         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
36649         recognize \r.
36650         * tests/test-argp-version-etc-1.sh: Likewise.
36651
36652         getopt: update client modules
36653         * modules/argp (Depends-on): Use getopt-gnu.
36654         * modules/git-merge-changelog (Depends-on): Likewise.
36655         * modules/long-options (Depends-on): Likewise.
36656         * modules/xstrtol (Depends-on): Likewise.
36657
36658 2009-08-13  Simon Josefsson  <simon@josefsson.org>
36659
36660         * tests/test-version-etc.sh: Don't fail on different
36661         project/version.  Don't fail on CRLF differences.  Rewrite to use
36662         multiple -e instead of multiple sed forks, suggested by Eric Blake
36663         <ebb9@byu.net>.
36664         * tests/test-argp-version-etc-1.sh: Likewise.
36665
36666 2009-08-13  Simon Josefsson  <simon@josefsson.org>
36667
36668         * tests/test-version-etc.sh: Don't fail on different
36669         project/version.
36670
36671 2009-08-12  Bruno Haible  <bruno@clisp.org>
36672
36673         Tests for modules 'getopt-posix', 'getopt-gnu'.
36674         * modules/getopt-posix-tests: New file.
36675         * tests/test-getopt.c: New file.
36676         * tests/test-getopt.h: New file.
36677         * tests/test-getopt_long.h: New file.
36678
36679         New modules 'getopt-posix', 'getopt-gnu'.
36680         * modules/getopt-gnu: New file, renamed from modules/getopt.
36681         * modules/getopt-posix: New file.
36682         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
36683         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
36684         (gl_GETOPT): Remove macro.
36685         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
36686         Disable the test against BSD systems that declare optreset. Test
36687         against mingw bug. Test against lack of support of optional arguments
36688         on many platforms.
36689         * doc/glibc-headers/getopt.texi: Update module name and list of
36690         relevant platforms.
36691         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
36692         'getopt-gnu' and more portability problems.
36693         * NEWS: Mention the changes.
36694
36695 2009-08-12  Bruno Haible  <bruno@clisp.org>
36696
36697         Ensure that optarg etc. get declared by <unistd.h>.
36698         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
36699         AC_USE_SYSTEM_EXTENSIONS.
36700         * modules/getopt (Depends-on): Add 'extensions'.
36701
36702 2009-08-12  Bruno Haible  <bruno@clisp.org>
36703
36704         Avoid test link errors.
36705         * modules/pipe-filter-ii-tests (Makefile.am): Define
36706         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
36707         * modules/pipe-filter-gi-tests (Makefile.am): Define
36708         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
36709         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
36710
36711 2009-08-12  Bruno Haible  <bruno@clisp.org>
36712
36713         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
36714         gl_GETOPT_SUBSTITUTE before.
36715         (gl_GETOPT): Use it.
36716         * m4/argp.m4 (gl_ARGP): Update.
36717         Reported by Sergey Poznyakoff.
36718
36719         * m4/getopt.m4: Reorder macros.
36720         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
36721         (gl_GETOPT_SUBSTITUTE): Remove macro.
36722
36723 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
36724
36725         Minor improvement in gitlog-to-changelog
36726
36727         * build-aux/gitlog-to-changelog: New option `--format' makes
36728         output format string configurable.
36729
36730 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
36731
36732         Optimize exclude: use hash tables for non-wildcard patterns.
36733
36734         * lib/exclude.c: Include hash.h and mbuiter.h
36735         (struct exclude_pattern, exclude_segment): New data types.
36736         (struct exclude): Rewrite.
36737         (fnmatch_pattern_has_wildcards): New function.
36738         (new_exclude_segment, free_exclude_segment): New functions.
36739         (excluded_file_pattern_p, excluded_file_name_p): New functions.
36740         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
36741         * lib/exclude.h (is_fnmatch_pattern): New prototype.
36742         * modules/exclude: Depend on hash and mbuiter.
36743
36744         * modules/exclude-tests: New file.
36745         * tests/test-exclude.c: New file.
36746         * tests/test-exclude1.sh: New file.
36747         * tests/test-exclude2.sh: New file.
36748         * tests/test-exclude3.sh: New file.
36749         * tests/test-exclude4.sh: New file.
36750         * tests/test-exclude5.sh: New file.
36751         * tests/test-exclude6.sh: New file.
36752         * tests/test-exclude7.sh: New file.
36753
36754 2009-08-12  Bruno Haible  <bruno@clisp.org>
36755
36756         Ensure that getopt() gets declared by <unistd.h>.
36757         * lib/unistd.in.h: Conditionally include getopt.h.
36758         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
36759         Set GNULIB_UNISTD_H_GETOPT.
36760         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
36761         GNULIB_UNISTD_H_GETOPT.
36762         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
36763
36764 2009-08-12  Bruno Haible  <bruno@clisp.org>
36765
36766         Clarify logic.
36767         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
36768         gl_replace_getopt instead of GETOPT_H.
36769
36770 2009-08-12  Bruno Haible  <bruno@clisp.org>
36771
36772         * m4/getopt.m4: Add comments.
36773
36774 2009-08-12  Bruno Haible  <bruno@clisp.org>
36775
36776         Disable multithread support by default on Cygwin 1.5.x.
36777         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
36778         set gl_use_threads=no if not specified otherwise.
36779
36780 2009-08-11  Bruno Haible  <bruno@clisp.org>
36781
36782         Avoid compilation error on NetBSD 5.0.
36783         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
36784         * tests/test-stdio.c: Likewise.
36785         * tests/test-stdlib.c: Likewise.
36786         * tests/test-string.c: Likewise.
36787         * tests/test-unistd.c: Likewise.
36788         Reported by Greg Troxel <gdt@ir.bbn.com>
36789         at <https://savannah.gnu.org/support/?106973>.
36790
36791 2009-08-11  Bruno Haible  <bruno@clisp.org>
36792
36793         * modules/dup2-tests (Depends-on): Remove close.
36794
36795         Undo 2009-07-19 commit.
36796         * modules/acl-tests (Depends-on): Remove close.
36797         * modules/binary-io-tests (Depends-on): Likewise.
36798         * modules/closein-tests (Depends-on): Likewise.
36799         * modules/flock-tests (Depends-on): Likewise.
36800         * modules/fsync-tests (Depends-on): Likewise.
36801         * modules/lseek-tests (Depends-on): Likewise.
36802         * modules/pipe-tests (Depends-on): Likewise.
36803         * modules/posix_spawn-tests (Depends-on): Likewise.
36804         * modules/posix_spawnp-tests (Depends-on): Likewise.
36805         * modules/stat-time-tests (Depends-on): Likewise.
36806         * modules/yesno-tests (Depends-on): Likewise.
36807
36808 2009-08-10  Bruno Haible  <bruno@clisp.org>
36809
36810         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
36811
36812 2009-08-10  Bruno Haible  <bruno@clisp.org>
36813
36814         Fix a gcc warning.
36815         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
36816
36817 2009-08-10  Bruno Haible  <bruno@clisp.org>
36818
36819         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
36820         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
36821         not only the first time.
36822         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
36823         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
36824         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
36825         is 1, not only the the first time.
36826
36827 2009-08-10  Bruno Haible  <bruno@clisp.org>
36828
36829         Make it possible to use module 'gethostname' without module 'close'.
36830         * lib/unistd.in.h (close): Evoke a link error only if
36831         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
36832         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
36833         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
36834         * modules/unistd (Makefile.am): Substitute
36835         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
36836         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
36837         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
36838         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
36839         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
36840         * modules/sys_ioctl (Makefile.am): Substitute
36841         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
36842         * modules/socket (configure.ac): On native Windows, set
36843         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
36844         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
36845         Reported by Sam Steingold <sds@gnu.org>.
36846
36847 2009-08-10  Bruno Haible  <bruno@clisp.org>
36848
36849         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
36850         * modules/ioctl (configure.ac): Likewise.
36851
36852 2009-08-10  Bruno Haible  <bruno@clisp.org>
36853
36854         Avoid collision between gnulib wrapper and libintl wrapper.
36855         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
36856         already defined in intl/printf.c.
36857         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
36858         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
36859
36860 2009-08-09  Bruno Haible  <bruno@clisp.org>
36861
36862         Make <sys/select.h> really self-contained, also on Solaris 10.
36863         * lib/sys_select.in.h: Include <string.h>.
36864         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
36865         Solaris 10 problem.
36866         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
36867         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
36868         Reported by Jim Meyering.
36869
36870 2009-08-09  Bruno Haible  <bruno@clisp.org>
36871
36872         Avoid warnings from 'aclocal' that are due to a use of macro name
36873         AM_XGETTEXT_OPTION that is not defined in automake.
36874         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
36875         automake.
36876         * modules/error (configure.ac): Likewise.
36877         * modules/propername (configure.ac): Likewise.
36878         * modules/vasprintf (configure.ac): Likewise.
36879         * modules/verror (configure.ac): Likewise.
36880         * modules/xprintf (configure.ac): Likewise.
36881         * modules/xvasprintf (configure.ac): Likewise.
36882
36883 2009-08-08  Bruno Haible  <bruno@clisp.org>
36884
36885         Avoid compilation error in C++ mode.
36886         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
36887         Reported by Sam Steingold <sds@gnu.org>.
36888
36889 2009-08-08  Bruno Haible  <bruno@clisp.org>
36890
36891         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
36892         for the various Unix platforms.
36893         * doc/posix-headers/limits.texi: Update platforms list regarding
36894         HOST_NAME_MAX.
36895         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
36896
36897 2009-08-07  Jim Meyering  <meyering@redhat.com>
36898
36899         selinux-at: fix typo in a comment
36900         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
36901         Spotted by Paolo Bonzini.
36902
36903         selinux-at: remove redundant m4 code, add documentation
36904         * modules/selinux-at (configure.ac): Remove redundant code.
36905         LIB_SELINUX is already set via the dependent module, selinux-h.
36906         (Include): Add quotes around selinux-at.h.
36907         * lib/selinux-at.h: Add documentation.
36908         Reported by Bruno Haible in
36909         http://marc.info/?l=gnulib-bug&m=124958988300749
36910
36911 2009-08-07  Bruno Haible  <bruno@clisp.org>
36912
36913         Avoid link error on MacOS X 10.3 and 10.4.
36914         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
36915         on non-ELF systems.
36916         * lib/argp-pv.c (argp_program_version): Likewise.
36917         Reported by Simon Josefsson.
36918
36919 2009-08-07  Simon Josefsson  <simon@josefsson.org>
36920
36921         * tests/test-version-etc.sh: Use $EXEEXT.
36922
36923 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
36924
36925         update-copyright: update documentation to point to maint.mk
36926         * build-aux/update-copyright: Here.
36927
36928 2009-08-06  Jim Meyering  <meyering@redhat.com>
36929
36930         maint.mk: support update-copyright-local
36931         * top/maint.mk (update-copyright-local): Define place-holder.
36932         (update-copyright): Depend on $(update-copyright-local).
36933
36934 2009-08-06  Jim Meyering  <meyering@redhat.com>
36935
36936         selinux-at: new module
36937         Initially written for coreutils, this module will soon be
36938         used by findutils, too.
36939         * MODULES.html.sh [Misc]: Add selinux-at.
36940         * lib/selinux-at.h: New file, from coreutils.
36941         * lib/selinux-at.c: Likewise.
36942         * modules/selinux-at: Likewise.
36943         (License): Change from LGPL to GPL, since it depends
36944         on the GPL'd openat module.
36945
36946         doc: update README
36947         * README: Remove references to cogito.
36948         Remove cvs-repo-updating instructions from 2007.
36949         Don't imply that CVS is better if you have limited disk space.
36950
36951 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
36952
36953         update-copyright: support C-style comments
36954         * build-aux/update-copyright: Implement and document.
36955         * tests/test-update-copyright.sh: Test.
36956
36957 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
36958
36959         update-copyright: support omitted "(C)"
36960         * build-aux/update-copyright: Implement and document.  Also,
36961         allow variable whitespace before "(C)".
36962         * tests/test-update-copyright.sh: Test.
36963
36964 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
36965
36966         update-copyright: don't trip on non-FSF copyright statements
36967         * build-aux/update-copyright: Fix so that the first correctly
36968         formatted FSF copyright statement is recognized no matter what
36969         appears before it.  Update documentation.
36970         * tests/test-update-copyright.sh: Test that.
36971
36972 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
36973
36974         update-copyright: clean up code a little
36975         * build-aux/update-copyright: Append "_re" to the name of any
36976         variable holding a regular expression.
36977         Replace "old" and "new" with "stmt" in variable names.
36978         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
36979         handled correctly.
36980         Format code more consistently.
36981
36982 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
36983
36984         update-copyright-tests: improve portability
36985         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
36986         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
36987
36988 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
36989
36990         update-copyright: support @copyright{} and &copy;
36991         * build-aux/update-copyright: Implement and document.
36992         * tests/test-update-copyright.sh: Test.
36993
36994 2009-08-04  Jim Meyering  <meyering@redhat.com>
36995
36996         update-copyright-tests: correctly test EOL=\r\n handling
36997         * tests/test-update-copyright.sh: Put \r at the end of some lines
36998         for the dos-eol tests.  Based on a patch by Joel E. Denny.
36999
37000         maint.mk: make update-copyright exclusion list more configurable
37001         * top/maint.mk (update-copyright): Default to excluding COPYING,
37002         but allow an override, in case someone does want to update that file.
37003
37004         maint.mk: don't update copyright date in COPYING
37005         * top/maint.mk (update-copyright): Exclude COPYING.
37006
37007         maint.mk: add a copyright-updating rule
37008         * top/maint.mk (update-copyright): New rule.
37009         Derived from coreutils/Makefile.am.
37010
37011         update-copyright: rename some variables
37012         * build-aux/update-copyright: Rename a few variables for clarity.
37013         Tweak syntax.  List Joel E. Denny as coauthor.
37014
37015 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
37016
37017         update-copyright: fix bug for 2-digit last year and add tests
37018         * build-aux/update-copyright: Fix bug.
37019         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
37020         specified.
37021         * modules/update-copyright-tests: New
37022         * tests/test-update-copyright.sh: New.
37023
37024 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
37025
37026         update-copyright: handle leading tabs in line prefix
37027         * build-aux/update-copyright: Count leading tabs as 8 spaces
37028         when computing margin.  This helps with the formatting of
37029         ChangeLogs, for example.
37030         Fix documentation a little.
37031
37032 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
37033
37034         update-copyright: support EOL=\r\n
37035         * build-aux/update-copyright: Implement that.
37036
37037 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
37038
37039         update-copyright: automatically format copyright statements
37040         * build-aux/update-copyright: Implement that.
37041         Also, be a little more predictable and safer by always failing
37042         when the full copyright format is not perfectly recognized as an
37043         unbroken whole.  Discussed at
37044         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
37045         Rewrite documentation.
37046
37047 2009-08-03  Bruno Haible  <bruno@clisp.org>
37048
37049         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
37050
37051 2009-08-02  Bruno Haible  <bruno@clisp.org>
37052
37053         Tests for module 'uname'.
37054         * modules/uname-tests: New file.
37055         * tests/test-uname.c: New file.
37056
37057         New module 'uname'.
37058         * lib/uname.c: New file.
37059         * m4/uname.m4: New file.
37060         * modules/uname: New file.
37061         * doc/posix-functions/uname.texi: Mention the new module.
37062
37063 2009-08-02  Bruno Haible  <bruno@clisp.org>
37064
37065         Tests for module 'sys_utsname'.
37066         * modules/sys_utsname-tests: New file.
37067         * tests/test-sys_utsname.c: New file.
37068
37069         New module 'sys_utsname'.
37070         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
37071         * m4/sys_utsname_h.m4: New file.
37072         * modules/sys_utsname: New file.
37073         * doc/posix-headers/sys_utsname.texi: Mention the new module.
37074
37075 2009-08-02  Bruno Haible  <bruno@clisp.org>
37076
37077         Implicitly initialize the sockets library.
37078         * lib/gethostname.c: Include sockets.h.
37079         (rpl_gethostname): Invoke gl_sockets_startup.
37080         * lib/socket.c: Include sockets.h.
37081         (rpl_socket): Invoke gl_sockets_startup.
37082         * modules/gethostname (Depends-on): Add sockets.
37083         * modules/socket (Depends-on): Likewise.
37084         * tests/test-poll.c: Don't include sockets.h.
37085         (main): Don't invoke gl_sockets_startup.
37086         * tests/test-select.c: Don't include sockets.h.
37087         (main): Don't invoke gl_sockets_startup.
37088
37089 2009-08-02  Bruno Haible  <bruno@clisp.org>
37090
37091         Allow multiple calls to gl_sockets_startup.
37092         * lib/sockets.c (initialized_sockets_version): New variable.
37093         (gl_sockets_startup): Do nothing if already called for this or a higher
37094         version.
37095         (gl_sockets_cleanup): Reset initialized_sockets_version.
37096
37097 2009-08-03  Simon Josefsson  <simon@josefsson.org>
37098
37099         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
37100         different project/version.
37101
37102 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
37103             Bruno Haible  <bruno@clisp.org>
37104
37105         Tests for module 'pipe-filter-gi'.
37106         * modules/pipe-filter-gi-tests: New file.
37107         * tests/test-pipe-filter-gi1.sh: New file.
37108         * tests/test-pipe-filter-gi1.c: New file.
37109         * tests/test-pipe-filter-gi2.sh: New file.
37110         * tests/test-pipe-filter-gi2-main.c: New file.
37111         * tests/test-pipe-filter-gi2-child.c: New file.
37112
37113         New module 'pipe-filter-gi'.
37114         * lib/pipe-filter-gi.c: New file.
37115         * modules/pipe-filter-gi: New file.
37116
37117 2009-08-02  Bruno Haible  <bruno@clisp.org>
37118             Paolo Bonzini  <bonzini@gnu.org>
37119
37120         Tests for module 'pipe-filter-ii'.
37121         * modules/pipe-filter-ii-tests: New file.
37122         * tests/test-pipe-filter-ii1.sh: New file.
37123         * tests/test-pipe-filter-ii1.c: New file.
37124         * tests/test-pipe-filter-ii2.sh: New file.
37125         * tests/test-pipe-filter-ii2-main.c: New file.
37126         * tests/test-pipe-filter-ii2-child.c: New file.
37127
37128         New module 'pipe-filter-ii'.
37129         * lib/pipe-filter.h: New file.
37130         * lib/pipe-filter-ii.c: New file.
37131         * lib/pipe-filter-aux.h: New file.
37132         * modules/pipe-filter-ii: New file.
37133
37134 2009-08-02  Simon Josefsson  <simon@josefsson.org>
37135
37136         * lib/gc-libgcrypt.c: Change copyright to FSF.
37137         * lib/gc-gnulib.c: Likewise.
37138
37139 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
37140
37141         * lib/gethostname.c: Include limits.h.
37142
37143 2009-08-02  Simon Josefsson  <simon@josefsson.org>
37144             Bruno Haible  <bruno@clisp.org>
37145
37146         Ensure HOST_NAME_MAX as part of the gethostname module.
37147         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
37148         define also HOST_NAME_MAX.
37149         * tests/test-gethostname.c: Include <limits.h>.
37150         (main): Check also HOST_NAME_MAX.
37151         * doc/posix-headers/limits.texi: Document the mingw problem.
37152
37153 2009-08-02  Bruno Haible  <bruno@clisp.org>
37154
37155         * lib/gethostname.c (gethostname): Fix handling of large len argument.
37156         Add comments.
37157
37158 2009-03-31  Simon Josefsson  <simon@josefsson.org>
37159
37160         * lib/gethostname.c: Add Windows wrapper.
37161         * m4/gethostname.m4: Look for gethostname in -lws2_32.
37162         * modules/gethostname: Depend on sys_socket & errno, for also
37163         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
37164         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
37165
37166 2009-07-31  Jim Meyering  <meyering@redhat.com>
37167
37168         getloadavg: fix symbol name in comment
37169         * lib/getloadavg.c: Correct a typo I introduced when adding
37170         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
37171         Matt Kraai spotted the problem.
37172
37173 2009-07-29  Matt Kraai  <mkraai@beckman.com>
37174
37175         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
37176         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
37177         code also if ! defined N_NAME_POINTER.
37178         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
37179         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
37180         but the n_name member is a 12-byte array.
37181
37182 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
37183
37184         update-copyright: generalize comment handling
37185         * build-aux/update-copyright: Handle copyright statements
37186         within more comment styles.
37187         Document usage.
37188         Report any file with an external copyright holder or parse failure.
37189
37190 2009-07-29  Jim Meyering  <meyering@redhat.com>
37191
37192         mktime: correct setting of REPLACE_MKTIME
37193         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
37194
37195         update-copyright: new module
37196         * modules/update-copyright: New file.
37197         * build-aux/update-copyright: New file.
37198         * MODULES.html.sh (maint+release support): Add update-copyright.
37199
37200 2009-07-27  Bruno Haible  <bruno@clisp.org>
37201
37202         Fix compilation error when <ctime> is used and mktime is replaced.
37203         * lib/time.in.h (mktime): New declaration.
37204         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
37205         REPLACE_MKTIME instead of defining mktime in config.h.
37206         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
37207         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
37208         Reported by Ross McFarland <rwmcfa1@neces.com>.
37209
37210 2009-07-27  Bruno Haible  <bruno@clisp.org>
37211
37212         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
37213         Reported by Matt Kraai <mkraai@beckman.com>.
37214
37215 2009-07-25  Jim Meyering  <meyering@redhat.com>
37216
37217         maint.mk: avoid warnings about missing files
37218         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
37219         diagnostic when .prev-version does not exist.
37220         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
37221         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
37222         nonexistent cfg.mk.
37223         Suggestions from Simon Josefsson.
37224
37225 2009-07-25  Bruno Haible  <bruno@clisp.org>
37226
37227         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
37228         defined as macros. Needed on QNX 6.4.1.
37229         Reported by Matt Kraai <mkraai@beckman.com>.
37230
37231 2009-07-23  Jim Meyering  <meyering@redhat.com>
37232
37233         maint.mk: invoke "make dist" with a working value of XZ_OPT
37234         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
37235
37236 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
37237
37238         Make fseeko.c compile on QNX.
37239         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
37240
37241 2009-07-22  Peter Simons  <simons@cryp.to>
37242
37243         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
37244         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
37245         * lib/md4.h: Likewise.
37246         * lib/md5.h: Likewise.
37247         * lib/sha1.h: Likewise.
37248         * lib/sha256.h: Likewise.
37249         * lib/sha512.h: Likewise.
37250
37251         tests-sha1: don't assign literal string to 'char *' variable
37252         * tests/test-sha1.c (main): Declare locals with "const" to match
37253         attributes of the right hand side.
37254
37255 2009-07-21  Eric Blake  <ebb9@byu.net>
37256
37257         dup2: fix more mingw problems
37258         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
37259         fd to itself.
37260         * doc/posix-functions/dup2.texi (dup2): Document the bug.
37261         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
37262         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
37263         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
37264         care of mingw bugs.
37265
37266 2009-07-21  Jim Meyering  <meyering@redhat.com>
37267
37268         vc-list-files: avoid failure when /bin/sh is dash
37269         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
37270         On some Debian based systems, /bin/sh is a symlink to dash, and running
37271         this command would omit the "/" following each 'tests' prefix:
37272           dash -x build-aux/vc-list-files -C . tests
37273         That is because bash and dash work differently:
37274           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
37275           bash ok
37276           dash odd
37277
37278 2009-07-21  Eric Blake  <ebb9@byu.net>
37279
37280         dup2-tests: test previous patch
37281         * modules/dup2-tests: New file.
37282         * tests/test-dup2.c: Likewise.
37283         * tests/test-open.c (main): Avoid unspecified behavior.
37284         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
37285         test.
37286
37287         dup2: work around mingw and cygwin 1.5 bug
37288         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
37289         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
37290         * modules/unistd (Makefile.am): Substitute it.
37291         * lib/unistd.in.h (dup2): Declare the replacement.
37292         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
37293         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
37294         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
37295         * modules/execute (Depends-on): Add dup2.
37296         * modules/fseterr (Depends-on): Likewise.
37297         * modules/pipe (Depends-on): Likewise.
37298         * modules/posix_spawn-internal (Depends-on): Likewise.
37299
37300 2009-07-21  Bruno Haible  <bruno@clisp.org>
37301
37302         * modules/.gitattributes: New file.
37303
37304 2009-07-20  Bruno Haible  <bruno@clisp.org>
37305
37306         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
37307         (main): Use it.
37308
37309 2009-07-20  Eric Blake  <ebb9@byu.net>
37310
37311         test-pipe: make a bit more robust.
37312         * tests/test-pipe.c (myerr): Allow error messages regardless of
37313         what we do to stderr.
37314         (test_pipe): Rearrange to avoid deadlock.
37315         (child_main): Try a larger read, to ensure we avoided deadlock.
37316         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
37317         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
37318         if misused.
37319
37320 2009-07-19  Jim Meyering  <meyering@redhat.com>
37321
37322         fts: avoid false-positive cycle-detection
37323         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
37324         for each new command line argument.
37325
37326 2009-07-19  Bruno Haible  <bruno@clisp.org>
37327
37328         Fix build error on mingw with the modules sys_select and unistd.
37329         * modules/acl-tests (Depends-on): Add close.
37330         * modules/binary-io-tests (Depends-on): Likewise.
37331         * modules/closein-tests (Depends-on): Likewise.
37332         * modules/flock-tests (Depends-on): Likewise.
37333         * modules/fsync-tests (Depends-on): Likewise.
37334         * modules/lseek-tests (Depends-on): Likewise.
37335         * modules/pipe-tests (Depends-on): Likewise.
37336         * modules/posix_spawn-tests (Depends-on): Likewise.
37337         * modules/posix_spawnp-tests (Depends-on): Likewise.
37338         * modules/stat-time-tests (Depends-on): Likewise.
37339         * modules/yesno-tests (Depends-on): Likewise.
37340
37341 2009-07-19  Bruno Haible  <bruno@clisp.org>
37342
37343         Unify conditionals.
37344         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
37345         macros, not at the compiler macros.
37346         * lib/pipe.c: Likewise.
37347         * lib/execute.c: Likewise.
37348         * lib/spawni.c: Likewise.
37349
37350 2009-07-19  Bruno Haible  <bruno@clisp.org>
37351
37352         Fix handling of closed stdin/stdout/stderr on mingw.
37353         * lib/w32spawn.h: Include unistd.h.
37354         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
37355         file descriptor with O_NOINHERIT flag.
37356         (fd_safer_noinherit): New function, based on fd-safer.c.
37357         (dup_safer_noinherit): New function, based on dup-safer.c.
37358         (undup_safer_noinherit): New function.
37359         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
37360         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
37361         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
37362         instead of fd_safer.
37363         * tests/test-pipe.c: Include <windows.h>.
37364         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
37365         result.
37366
37367         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
37368         from main.
37369         (test_pipe): Pass an extra argument for disambiguation.
37370         (main): Invoke parent_main or child_main.
37371
37372         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
37373         consistently.
37374
37375 2009-07-18  Eric Blake  <ebb9@byu.net>
37376
37377         test-pipe: fix mingw build
37378         * tests/test-pipe.c (main): Avoid fcntl on mingw.
37379
37380 2009-07-18  Bruno Haible  <bruno@clisp.org>
37381
37382         * modules/pipe-tests (Makefile.am): Fix typo.
37383
37384 2009-07-18  Eric Blake  <ebb9@byu.net>
37385
37386         error: fix mingw build
37387         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
37388         Reported by Bruno Haible.
37389
37390         error: avoid undefined use of stdout
37391         * lib/error.c (error, error_at_line): Check that fd 1 is open
37392         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
37393         is handling faults and the close_stdout module wants to report the
37394         detection of closed stdout as an error.
37395
37396 2009-07-17  Eric Blake  <ebb9@byu.net>
37397
37398         pipe: be robust in face of closed fds
37399         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
37400         should cause child to misbehave.
37401         * modules/pipe-tests: New module.
37402         * tests/test-pipe.c: New file.
37403         * tests/test-pipe.sh: New file.
37404         Reported by Akim Demaille.
37405
37406 2009-07-14  Bruno Haible  <bruno@clisp.org>
37407
37408         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
37409         Reported by anonymous kc.
37410
37411 2009-07-07  Jim Meyering  <meyering@redhat.com>
37412
37413         maint.mk: don't look for translatable strings in *.m4 or *.mk
37414         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
37415         when searching for translatable strings.
37416
37417 2009-07-05  Jim Meyering  <meyering@redhat.com>
37418
37419         remove superfluous parentheses in STREQ definition
37420         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
37421         * lib/getugroups.c (STREQ): Likewise.
37422         * lib/fnmatch.c (STREQ): Likewise.
37423         Spotted by Bruno Haible.
37424
37425 2009-07-04  Jim Meyering  <meyering@redhat.com>
37426
37427         argv-iter: new module
37428         * MODULES.html.sh: Add argv-iter.
37429         * lib/argv-iter.c, lib/argv-iter.h: New files.
37430         * modules/argv-iter: New file.
37431         * modules/argv-iter-tests: New file.
37432         * tests/test-argv-iter.c: Test it.
37433
37434 2009-07-04  Bruno Haible  <bruno@clisp.org>
37435
37436         Fix assertion.
37437         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
37438         contains more exact copies of a given entry than file2, leave the extra
37439         copies unpaired rather than aborting.
37440         Reported by Eric Blake.
37441
37442 2009-07-02  Bruno Haible  <bruno@clisp.org>
37443
37444         Speedup git-merge-changelog for git cherry-pick.
37445         * lib/git-merge-changelog.c (struct entries_mapping): New type.
37446         (entries_mapping_get): New function, extracted from compute_mapping.
37447         (entries_mapping_reverse_get): New function.
37448         (compute_mapping): Add a 'full' argument. Return the result in a
37449         'struct entries_mapping'.
37450         (main): Update. Access the mappings through entries_mapping_get.
37451         Reported by Eric Blake.
37452
37453 2009-07-02  Bruno Haible  <bruno@clisp.org>
37454
37455         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
37456         best_i.
37457
37458 2009-07-02  Bruno Haible  <bruno@clisp.org>
37459
37460         Speed up approximate search for matching ChangeLog entries.
37461         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
37462         argument. Call fstrcmp_bounded instead of fstrcmp.
37463         (compute_mapping, try_split_merged_entry, main): Update callers.
37464
37465 2009-07-02  Bruno Haible  <bruno@clisp.org>
37466
37467         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
37468
37469 2009-06-30  Bruno Haible  <bruno@clisp.org>
37470
37471         Reduce the number of uc_is_cased calls.
37472         * lib/unicase.h (casing_suffix_context_t): Add
37473         'first_char_except_ignorable' field.
37474         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
37475         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
37476         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
37477         Update initializer.
37478         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
37479         case-ignorable characters.
37480         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
37481         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
37482         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
37483         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
37484         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
37485
37486 2009-06-30  Bruno Haible  <bruno@clisp.org>
37487
37488         Tests for module 'unicase/ignorable'.
37489         * modules/unicase/ignorable-tests: New file.
37490         * tests/unicase/test-ignorable.c: New file, generated by
37491         gen-uni-tables.
37492
37493         Tests for module 'unicase/cased'.
37494         * modules/unicase/cased-tests: New file.
37495         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
37496         * tests/unicase/test-predicate-part1.h: New file, derived from
37497         tests/unictype/test-predicate-part1.h.
37498         * tests/unicase/test-predicate-part2.h: New file, same as
37499         tests/unictype/test-predicate-part2.h.
37500
37501         Fix evaluation of "Before C" condition of FINAL_SIGMA.
37502         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
37503         (output_casing_properties): New function.
37504         (main): Call it.
37505         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
37506         * lib/unicase/cased.c: Include unictype/bitmap.h.
37507         (uc_is_cased): Define through a bitmap lookup.
37508         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
37509         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
37510         (uc_is_case_ignorable): Define through a bitmap lookup.
37511         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
37512         lib/unictype/bitmap.h.
37513         (Depends-on): Add inline. Clean up.
37514         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
37515         lib/unictype/bitmap.h.
37516         (Depends-on): Add inline. Clean up.
37517         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
37518         recognition.
37519         * tests/unicase/test-u16-tolower.c (main): Likewise.
37520         * tests/unicase/test-u32-tolower.c (main): Likewise.
37521
37522 2009-06-30  Bruno Haible  <bruno@clisp.org>
37523
37524         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
37525         * lib/unicase/u16-casemap.c: Likewise.
37526         * lib/unicase/u32-casemap.c: Likewise.
37527
37528 2009-06-29  Bruno Haible  <bruno@clisp.org>
37529
37530         Define u32_casefold as a wrapper around u32_ct_casefold.
37531         * lib/unicase/u32-casefold.c: Update.
37532         * modules/unicase/u32-casefold (Depends-on): Add
37533         unicase/u32-ct-casefold, unicase/empty-prefix-context,
37534         unicase/empty-suffix-context. Clean up.
37535
37536         Define u16_casefold as a wrapper around u16_ct_casefold.
37537         * lib/unicase/u16-casefold.c: Update.
37538         * modules/unicase/u16-casefold (Depends-on): Add
37539         unicase/u16-ct-casefold, unicase/empty-prefix-context,
37540         unicase/empty-suffix-context. Clean up.
37541
37542         Define u8_casefold as a wrapper around u8_ct_casefold.
37543         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
37544         * lib/unicase/u8-casefold.c: Update.
37545         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
37546         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
37547
37548         Define u32_totitle as a wrapper around u32_ct_totitle.
37549         * lib/unicase/u32-totitle.c: Update.
37550         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
37551         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
37552
37553         Define u16_totitle as a wrapper around u16_ct_totitle.
37554         * lib/unicase/u16-totitle.c: Update.
37555         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
37556         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
37557
37558         Define u8_totitle as a wrapper around u8_ct_totitle.
37559         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
37560         functions.
37561         (FUNC): Delegate to U_CT_TOTITLE.
37562         * lib/unicase/u8-totitle.c: Update.
37563         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
37564         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
37565
37566         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
37567         invocation.
37568         * modules/unicase/u32-tolower (Depends-on): Add
37569         unicase/empty-prefix-context, unicase/empty-suffix-context.
37570
37571         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
37572         invocation.
37573         * modules/unicase/u16-tolower (Depends-on): Add
37574         unicase/empty-prefix-context, unicase/empty-suffix-context.
37575
37576         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
37577         * modules/unicase/u8-tolower (Depends-on): Add
37578         unicase/empty-prefix-context, unicase/empty-suffix-context.
37579
37580         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
37581         invocation.
37582         * modules/unicase/u32-toupper (Depends-on): Add
37583         unicase/empty-prefix-context, unicase/empty-suffix-context.
37584
37585         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
37586         invocation.
37587         * modules/unicase/u16-toupper (Depends-on): Add
37588         unicase/empty-prefix-context, unicase/empty-suffix-context.
37589
37590         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
37591         * modules/unicase/u8-toupper (Depends-on): Add
37592         unicase/empty-prefix-context, unicase/empty-suffix-context.
37593
37594         New module 'unicase/u32-ct-casefold'.
37595         * lib/unicase/u32-ct-casefold.c: New file.
37596         * modules/unicase/u32-ct-casefold: New file.
37597
37598         New module 'unicase/u16-ct-casefold'.
37599         * lib/unicase/u16-ct-casefold.c: New file.
37600         * modules/unicase/u16-ct-casefold: New file.
37601
37602         New module 'unicase/u8-ct-casefold'.
37603         * lib/unicase/u8-ct-casefold.c: New file.
37604         * lib/unicase/u-ct-casefold.h: New file, derived from
37605         lib/unicase/u-casefold.h.
37606         * modules/unicase/u8-ct-casefold: New file.
37607
37608         New module 'unicase/u32-ct-totitle'.
37609         * lib/unicase/u32-ct-totitle.c: New file.
37610         * modules/unicase/u32-ct-totitle: New file.
37611
37612         New module 'unicase/u16-ct-totitle'.
37613         * lib/unicase/u16-ct-totitle.c: New file.
37614         * modules/unicase/u16-ct-totitle: New file.
37615
37616         New module 'unicase/u8-ct-totitle'.
37617         * lib/unicase/u8-ct-totitle.c: New file.
37618         * lib/unicase/u-ct-totitle.h: New file, derived from
37619         lib/unicase/u-totitle.h.
37620         * modules/unicase/u8-ct-totitle: New file.
37621
37622         New module 'unicase/u32-ct-tolower'.
37623         * lib/unicase/u32-ct-tolower.c: New file.
37624         * modules/unicase/u32-ct-tolower: New file.
37625
37626         New module 'unicase/u16-ct-tolower'.
37627         * lib/unicase/u16-ct-tolower.c: New file.
37628         * modules/unicase/u16-ct-tolower: New file.
37629
37630         New module 'unicase/u8-ct-tolower'.
37631         * lib/unicase/u8-ct-tolower.c: New file.
37632         * modules/unicase/u8-ct-tolower: New file.
37633
37634         New module 'unicase/u32-ct-toupper'.
37635         * lib/unicase/u32-ct-toupper.c: New file.
37636         * modules/unicase/u32-ct-toupper: New file.
37637
37638         New module 'unicase/u16-ct-toupper'.
37639         * lib/unicase/u16-ct-toupper.c: New file.
37640         * modules/unicase/u16-ct-toupper: New file.
37641
37642         New module 'unicase/u8-ct-toupper'.
37643         * lib/unicase/u8-ct-toupper.c: New file.
37644         * modules/unicase/u8-ct-toupper: New file.
37645
37646         Add context arguments to u*_casemap functions.
37647         * lib/unicase/unicasemap.h: Include unicase.h.
37648         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
37649         suffix_context arguments.
37650         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
37651         functions.
37652         (FUNC): Add prefix_context and suffix_context arguments. Use
37653         uc_is_cased and uc_is_case_ignorable.
37654         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
37655         * lib/unicase/u16-casemap.c: Likewise.
37656         * lib/unicase/u32-casemap.c: Likewise.
37657         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
37658         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
37659         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
37660         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
37661         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
37662         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
37663
37664         New module 'unicase/u32-suffix-context'.
37665         * lib/unicase/u32-suffix-context.c: New file.
37666         * modules/unicase/u32-suffix-context: New file.
37667
37668         New module 'unicase/u16-suffix-context'.
37669         * lib/unicase/u16-suffix-context.c: New file.
37670         * modules/unicase/u16-suffix-context: New file.
37671
37672         New module 'unicase/u8-suffix-context'.
37673         * lib/unicase/u8-suffix-context.c: New file.
37674         * lib/unicase/u-suffix-context.h: New file.
37675         * modules/unicase/u8-suffix-context: New file.
37676
37677         New module 'unicase/empty-suffix-context'.
37678         * lib/unicase/empty-suffix-context.c: New file.
37679         * modules/unicase/empty-suffix-context: New file.
37680
37681         New module 'unicase/u32-prefix-context'.
37682         * lib/unicase/u32-prefix-context.c: New file.
37683         * modules/unicase/u32-prefix-context: New file.
37684
37685         New module 'unicase/u16-prefix-context'.
37686         * lib/unicase/u16-prefix-context.c: New file.
37687         * modules/unicase/u16-prefix-context: New file.
37688
37689         New module 'unicase/u8-prefix-context'.
37690         * lib/unicase/u8-prefix-context.c: New file.
37691         * lib/unicase/u-prefix-context.h: New file.
37692         * lib/unicase/context.h: New file.
37693         * modules/unicase/u8-prefix-context: New file.
37694
37695         New module 'unicase/empty-prefix-context'.
37696         * lib/unicase/empty-prefix-context.c: New file.
37697         * modules/unicase/empty-prefix-context: New file.
37698
37699         New module 'unicase/ignorable'.
37700         * lib/unicase/ignorable.c: New file.
37701         * modules/unicase/ignorable: New file.
37702
37703         New module 'unicase/cased'.
37704         * lib/unicase/caseprop.h: New file.
37705         * lib/unicase/cased.c: New file.
37706         * modules/unicase/cased: New file.
37707
37708         New functions for case mapping of substrings.
37709         * lib/unicase.h (casing_prefix_context_t): New type.
37710         (unicase_empty_prefix_context): New variable.
37711         (u8_casing_prefix_context, u16_casing_prefix_context,
37712         u32_casing_prefix_context, u8_casing_prefixes_context,
37713         u16_casing_prefixes_context, u32_casing_prefixes_context): New
37714         declarations.
37715         (casing_suffix_context_t): New type.
37716         (unicase_empty_suffix_context): New variable.
37717         (u8_casing_suffix_context, u16_casing_suffix_context,
37718         u32_casing_suffix_context, u8_casing_suffixes_context,
37719         u16_casing_suffixes_context, u32_casing_suffixes_context,
37720         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
37721         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
37722         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
37723         declarations.
37724
37725 2009-06-28  Jim Meyering  <meyering@redhat.com>
37726
37727         boostrap: indent only with spaces
37728         * build-aux/bootstrap: Indent only with spaces, never TABs.
37729
37730         bootstrap: split long lines
37731         * build-aux/bootstrap: Keep line length < 80.
37732
37733         bootstrap: sync from coreutils
37734         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
37735         just as autoreconf does.  Verify a list of prerequisite
37736         package-name,version-number pairs if defined in bootstrap.conf.
37737         Refer to README-prereq, if prerequisites are not satisfied.
37738
37739 2009-06-27  Eric Blake  <ebb9@byu.net>
37740
37741         tests: add test for bogus NULL definition
37742         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
37743         * tests/test-stdlib.c: Likewise.
37744         * tests/test-string.c: Likewise.
37745         * tests/test-locale.c: Likewise.
37746         * tests/test-unistd.c: Likewise.
37747         * modules/stdio-tests (Depends-on): Add verify.
37748         * modules/stdlib-tests (Depends-on): Likewise.
37749         * modules/string-tests (Depends-on): Likewise.
37750         * modules/locale-tests (Depends-on): Likewise.
37751         * modules/unistd-tests (Depends-on): Likewise.
37752
37753 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
37754
37755         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
37756         self-explaining comment.
37757         * m4/selinux-selinux-h: Update serial.
37758         (gl_LIBSELINUX): New macro, adding a warning for missing development
37759         packages to code extracted from...
37760         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
37761         Add warning for missing development packages here, too.
37762
37763 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
37764
37765         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
37766
37767 2009-06-25  Eric Blake  <ebb9@byu.net>
37768
37769         version-etc: fix regression
37770         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
37771         gcc.
37772         (version_etc): Use it, to catch bugs with trailing NULL.
37773         * lib/version-etc.c (version_etc_arn): Delete unused argument.
37774         (version_etc_va): Fix logic bug.
37775         * modules/version-etc-tests: Add test.
37776         * tests/test-version-etc.c: New file.
37777         * tests/test-version-etc.sh: Likewise.
37778
37779 2009-06-25  Sam Steingold  <sds@gnu.org>
37780
37781         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
37782         mbtowc declaration.
37783
37784 2009-06-25  Eric Blake  <ebb9@byu.net>
37785
37786         fpurge: migrate into <stdio.h>
37787         * lib/fpurge.h: Delete...
37788         * lib/stdio.in.h (fpurge): ...and declare here, instead.
37789         * lib/fpurge.c (fpurge): Change declaring header.
37790         * modules/fpurge (Files): Drop deleted file.
37791         (Depends-on): Add stdio.
37792         (configure.ac): Set witness.
37793         * modules/stdio (Makefile.am): Support fpurge macros.
37794         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
37795         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
37796         * lib/fflush.c: Update client.
37797         * tests/test-fpurge.c: Likewise.
37798         * NEWS: Mention the change.
37799
37800 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
37801
37802         * lib/argp-version-etc.c (program_authors): Add const
37803         qualifier.
37804         * lib/version-etc.c: Fix typos in the comments.
37805         * modules/argp-version-etc: Depends on version-etc.
37806
37807 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
37808
37809         argp-version-etc: new module.
37810
37811         * lib/argp-version-etc.c: New file.
37812         * lib/argp-version-etc.h: New file.
37813         * modules/argp-version-etc: New file.
37814         * modules/argp-version-etc-tests: New file.
37815         * tests/test-argp-version-etc.c: New test.
37816         * tests/test-argp-version-etc-1.sh: New test.
37817
37818 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
37819
37820         Provide additional interfaces and documentation for version-etc
37821         module.
37822
37823         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
37824         interfaces.
37825         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
37826         prototypes.
37827
37828 2009-06-24  Bruno Haible  <bruno@clisp.org>
37829
37830         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
37831         HAVE_LIB${NAME} macro.
37832         Reported by Sam Steingold <sds@gnu.org>.
37833
37834 2009-06-23  Simon Josefsson  <simon@josefsson.org>
37835
37836         * modules/hash-tests (test_hash_LDADD): Link to libintl when
37837         needed.
37838
37839 2009-06-21  Bruno Haible  <bruno@clisp.org>
37840
37841         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
37842         work.
37843         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
37844         together with LIB${NAME}, LTLIB${NAME}.
37845         Reported by Sam Steingold <sds@gnu.org>.
37846
37847 2009-06-20  Jim Meyering  <meyering@redhat.com>
37848
37849         tests: make sc_require_test_exit_idiom more generic
37850         * top/maint.mk (Exit_witness_file): New overridable variable.
37851         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
37852         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
37853
37854 2009-06-19  Jim Meyering  <meyering@redhat.com>
37855
37856         hash: reverse order of src/dst parameters in an internal interface
37857         * lib/hash.c (transfer_entries): Reverse order of parameters to
37858         put DST before SRC.  Adjust callers.
37859
37860         tests: test-hash: avoid wholesale duplication
37861         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
37862         Instead, use a loop and add a single conditional.
37863
37864         tests: test-hash: allow seed selection via a command line argument
37865         * tests/test-hash.c (get_seed): New function.
37866         (main): Use it.
37867
37868 2009-06-19  Eric Blake  <ebb9@byu.net>
37869
37870         hash: avoid memory leak on allocation failure
37871         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
37872         failure.  Factor repeated algorithm...
37873         (transfer_entries): ...into new helper routine.
37874         (hash_delete): React to hash_rehash return value.
37875
37876         hash: reduce memory pressure in hash_rehash no-op case
37877         * lib/hash.c (next_prime): Avoid overflow.
37878         (hash_initialize): Factor bucket size computation...
37879         (compute_bucket_size): ...into new helper function.
37880         (hash_rehash): Use new function and open coding to reduce memory
37881         pressure, and avoid a memory leak in USE_OBSTACK code.
37882         Reported by Jim Meyering.
37883
37884 2009-06-18  Eric Blake  <ebb9@byu.net>
37885
37886         hash: make rotation more obvious
37887         * modules/hash (Depends-on): Add bitrotate and stdint.
37888         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
37889         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
37890         (SIZE_MAX): Rely on headers for definition.
37891         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
37892         (raw_hasher): Use rotr_sz.
37893         Suggested by Jim Meyering.
37894
37895         hash: fix memory leak in last patch
37896         * lib/hash.c (hash_rehash): Avoid memory leak.
37897
37898         hash: avoid no-op rehashing
37899         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
37900
37901         hash: provide default callback functions
37902         * lib/hash.c (raw_hasher, raw_comparator): New functions.
37903         (hash_initialize): Use them as defaults.
37904         * tests/test-hash.c (main): Test this.
37905
37906         hash: minor optimization
37907         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
37908         when possible.
37909         (hash_initialize): Document this promise.
37910         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
37911         * tests/test-hash.c (hash_compare_strings): Test this.
37912
37913 2009-06-18  Bruno Haible  <bruno@clisp.org>
37914
37915         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
37916         going to be replaced anyway.
37917
37918 2009-06-18  Bruno Haible  <bruno@clisp.org>
37919
37920         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
37921         in one place.
37922         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
37923         be replaced anyway.
37924
37925 2009-06-18  Eric Blake  <ebb9@byu.net>
37926
37927         hash: check for resize before insertion
37928         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
37929         threshold before insertion, so that a pathological hash_rehash
37930         that fills every bucket can still trigger another rehash.
37931
37932 2009-06-18  Jim Meyering  <meyering@redhat.com>
37933
37934         hash-tests: add a loop around the small tests
37935         * tests/test-hash.c (main): Repeat small tests with selected
37936         small initial table sizes.
37937
37938 2009-06-17  Eric Blake  <ebb9@byu.net>
37939
37940         hash: minor cleanups
37941         * lib/hash.h (hash_entry): Make opaque, by moving...
37942         * lib/hash.c (hash_entry): ...here.
37943         (hash_insert): Clarify restrictions on what can be inserted.
37944         (hash_get_next): Clarify when it is safe to remove an element
37945         during traversal.
37946         (check_tuning): Skip verification when tuning is known safe.
37947         (hash_initialize): Clarify restrictions on tuning.
37948
37949 2009-06-17  Jim Meyering  <jim@meyering.net>
37950         and Eric Blake  <ebb9@byu.net>
37951
37952         hash-tests: new module
37953         * modules/hash-tests: New file.
37954         * tests/test-hash.c: New file.
37955
37956 2009-06-17  Eric Blake  <ebb9@byu.net>
37957
37958         strstr-simple: document new module
37959         * MODULES.html.sh: Document new module.
37960
37961         strstr, strcasestr: replace on platforms with broken memchr
37962         * modules/strstr: Split into...
37963         * modules/strstr-simple: ...new module that does not care about
37964         performance, but does care about glibc bug.
37965         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
37966         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
37967         if platform memchr is broken, per Debian bug 521737.
37968         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
37969         memchr.
37970         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
37971         * doc/posix-functions/strstr.texi (strstr): Document the fix.
37972         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
37973         * modules/mountlist (Depends-on): Add strstr-simple.
37974         * modules/gen-uni-tables (Depends-on): Likewise.
37975         * modules/argz (Depends-on): Add strstr.
37976
37977 2009-06-17  Bruno Haible  <bruno@clisp.org>
37978
37979         * modules/posix_spawn-internal (Depends-on): Add errno.
37980
37981 2009-06-17  Bruno Haible  <bruno@clisp.org>
37982
37983         Define missing ESTALE on Interix 3.5.
37984         * lib/errno.in.h (ESTALE): Assign a value if missing.
37985         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
37986         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
37987         missing.
37988         * doc/posix-headers/errno.texi: Mention the Interix bug.
37989         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
37990
37991 2009-06-15  Eric Blake  <ebb9@byu.net>
37992
37993         memchr, memchr2: add valgrind exception
37994         * lib/memchr.valgrind: New file.
37995         * lib/memchr2.valgrind: New file.
37996         * modules/memchr (Files): Distribute valgrind file.
37997         * modules/memchr2 (Files): Likewise.
37998
37999         docs: memchr is no longer obsolete
38000         * MODULES.html.sh: Move memchr from obsolete to string.h section.
38001         * lib/string.in.h (memchr): Simplify logic.
38002
38003 2009-06-14  Jim Meyering  <meyering@redhat.com>
38004
38005         link-follow: fix the "checking..." message to not mention trailing slash
38006         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
38007         never considered trailing slashes.
38008
38009 2009-06-14  Bruno Haible  <bruno@clisp.org>
38010
38011         * m4/memchr.m4: Mention also the bug on IA-64.
38012         * doc/posix-functions/memchr.texi: Likewise.
38013
38014 2009-06-12  Eric Blake  <ebb9@byu.net>
38015
38016         memchr: detect broken x86_64 and alpha implementations
38017         * modules/memchr-tests (Depends-on): Move mmap detection...
38018         * modules/memchr (Depends-on): ...here.
38019         (configure.ac): Set indicator.
38020         * lib/string.in.h (memchr): Declare replacement.
38021         * modules/string (Makefile.am): Trigger replacement.
38022         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
38023         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
38024         bugs.
38025         * doc/posix-functions/memchr.texi (memchr): Document the bug.
38026         * modules/getpagesize (License): Relax license.
38027
38028 2009-06-11  Bruno Haible  <bruno@clisp.org>
38029
38030         * lib/idpriv.h: Add more references.
38031
38032 2009-06-08  Bruno Haible  <bruno@clisp.org>
38033
38034         Tests for module 'idpriv-droptemp'.
38035         * modules/idpriv-droptemp-tests: New file.
38036         * tests/test-idpriv-droptemp.sh: New file.
38037         * tests/test-idpriv-droptemp.su.sh: New file.
38038         * tests/test-idpriv-droptemp.c: New file.
38039
38040         New module 'idpriv-droptemp'.
38041         * lib/idpriv-droptemp.c: New file.
38042         * modules/idpriv-droptemp: New file.
38043
38044 2009-06-08  Bruno Haible  <bruno@clisp.org>
38045
38046         Tests for module 'idpriv-drop'.
38047         * modules/idpriv-drop-tests: New file.
38048         * tests/test-idpriv-drop.sh: New file.
38049         * tests/test-idpriv-drop.su.sh: New file.
38050         * tests/test-idpriv-drop.c: New file.
38051
38052         New module 'idpriv-drop'.
38053         * lib/idpriv.h: New file.
38054         * lib-idpriv-drop.c: New file.
38055         * m4/idpriv.m4: New file.
38056         * modules/idpriv-drop: New file.
38057
38058 2009-06-08  Bruno Haible  <bruno@clisp.org>
38059
38060         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
38061         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
38062         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
38063         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
38064         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
38065         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
38066         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
38067
38068 2009-06-08  Eric Blake  <ebb9@byu.net>
38069
38070         test-strstr: use memory fence, when possible
38071         * tests/test-strstr.c (main): Use memory fence, in order to be
38072         more likely to trigger Debian bug 521737.
38073         * modules/strstr-tests (Files): Pull in additional files.
38074
38075         memchr: no longer obsolete, for wider field testing
38076         * modules/memchr (Status, Notice): Delete, this module is no
38077         longer obsolete.
38078         * modules/vasnprintf (Depends-on): Add memchr.
38079
38080 2009-06-07  Jim Meyering  <meyering@redhat.com>
38081
38082         hash: declare some functions with the warn_unused_result attribute
38083         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
38084
38085 2009-06-07  Bruno Haible  <bruno@clisp.org>
38086
38087         * tests/test-alignof.c: Don't test int64_t if it does not exist.
38088         Reported by Eric Blake.
38089
38090 2009-06-06  Eric Blake  <ebb9@byu.net>
38091
38092         test-alignof: fix typo with long double
38093         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
38094         compiler error.
38095
38096 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
38097
38098         Escape non-texinfo { and }s.
38099         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
38100         markup error.
38101
38102 2009-06-04  Jim Meyering  <meyering@redhat.com>
38103
38104         gitlog-to-changelog: don't infloop on an empty commit log
38105         * build-aux/gitlog-to-changelog: Warn about an empty log message.
38106         Reported by Boris Petersen <transacid@centerim.org>.
38107
38108 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
38109
38110         version-etc: extend for packagers
38111         Add three new configure options, intended for packagers:
38112           --with-packager="packager name"
38113           --with-packager-version="packager-specific version"
38114           --with-packager-bug-reports="packager bug reporting"
38115         An example with coreutils:
38116           $ ./configure \
38117             --with-packager=Gentoo \
38118             --with-packager-bug-report=http://bugs.gentoo.org/ \
38119             --with-packager-version="patchset 1.6"
38120           $ ./src/ls --version | head -n2
38121           ls (GNU coreutils) 7.1-dirty
38122           Packaged by Gentoo (patchset 1.6)
38123         Note that the bug reporting info via --help doesn't show up because
38124         coreutils uses its own custom emit_bug_reporting_address() implementation
38125         in src/system.h.  If it didn't, it'd look like:
38126           $ ./src/ls --help | tail -n4
38127           Report bugs to <bug-coreutils@gnu.org>.
38128           Report Gentoo bugs to <http://bugs.gentoo.org/>.
38129           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
38130           General help using GNU software: <http://www.gnu.org/gethelp/>.
38131         * lib/version-etc.c: Print new information, if provided.
38132         * m4/version-etc.m4: New file.
38133         * modules/version-etc (Files): Add m4/version-etc.m4.
38134         (configure.ac): Add gl_VERSION_ETC.
38135
38136 2009-05-31  Bruno Haible  <bruno@clisp.org>
38137
38138         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
38139         and 'int64_t'.
38140         * modules/alignof-tests (Dependencies): Add stdint.
38141         Reported by Eric Blake.
38142
38143 2009-05-31  Bruno Haible  <bruno@clisp.org>
38144
38145         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
38146         restriction due to compiler bugs.
38147         Reported by Eric Blake.
38148
38149 2009-05-31  Simon Josefsson  <simon@josefsson.org>
38150             Bruno Haible  <bruno@clisp.org>
38151
38152         Fix test-alignof failure.
38153         * lib/alignof.h (alignof_slot): New macro.
38154         (alignof_type): New macro, with the same semantics as the previous
38155         'alignof'.
38156         (alignof): Alias to alignof_slot.
38157         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
38158         check that the results are usable as constant expressions.
38159
38160 2009-05-31  Bruno Haible  <bruno@clisp.org>
38161
38162         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
38163         * tests/test-memchr.c (main): Check that memchr does not read past the
38164         first occurrence of the byte.
38165         * tests/test-strstr.c (main): Update comment.
38166         Suggested by Eric Blake.
38167
38168 2009-05-30  Bruno Haible  <bruno@clisp.org>
38169
38170         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
38171         detail how to use dumpbin.
38172         Reported by David Byron <dbyron@dbyron.com>.
38173
38174 2009-06-02  Simon Josefsson  <simon@josefsson.org>
38175
38176         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
38177
38178 2009-06-02  Simon Josefsson  <simon@josefsson.org>
38179
38180         * m4/manywarnings.m4: Add GCC 4.4 warnings.
38181
38182 2009-05-28  Bruno Haible  <bruno@clisp.org>
38183
38184         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
38185         build-aux/ files.
38186
38187 2009-05-28  Simon Josefsson  <simon@josefsson.org>
38188
38189         * gnulib-tool (func_import): Transform license on build-aux/ files too.
38190
38191 2009-05-27  Simon Josefsson  <simon@josefsson.org>
38192
38193         * gnulib-tool (sed_transform_main_lib_file)
38194         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
38195         regexps.
38196
38197 2009-05-26  Simon Josefsson  <simon@josefsson.org>
38198
38199         * tests/test-strstr.c: Add another self-test.
38200         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
38201         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
38202
38203 2009-05-23  Bruno Haible  <bruno@clisp.org>
38204
38205         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
38206         change.
38207
38208 2009-05-21  Bruno Haible  <bruno@clisp.org>
38209
38210         Simplify use of mode_t varargs.
38211         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
38212         uses 'mode_t' or 'int'.
38213         * lib/openat.c (openat): Likewise.
38214         * lib/open-safer.c (open_safer): Likewise.
38215         * m4/mode_t.m4: New file.
38216         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
38217         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
38218         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
38219         * modules/open (Files): Add m4/mode_t.m4.
38220         * modules/openat (Files): Likewise.
38221         * modules/fcntl-safer (Files): Likewise.
38222         Suggested by Eric Blake.
38223
38224 2009-05-21  Pádraig Brady  <P@draigbrady.com>
38225
38226         * doc/glibc-functions/fallocate.texi: New file.
38227         * doc/gnulib.texi: Include it.
38228
38229 2009-05-21  Eric Blake  <ebb9@byu.net>
38230             Bruno Haible  <bruno@clisp.org>
38231
38232         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
38233         invocations.
38234         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
38235
38236 2009-05-21  Eric Blake  <ebb9@byu.net>
38237             Bruno Haible  <bruno@clisp.org>
38238
38239         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
38240         include_next. Fix of 2008-11-20 commit.
38241         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
38242         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
38243         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
38244         NEXT_MATH_H.
38245         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
38246         instead of NEXT_MATH_H.
38247
38248 2009-05-21  Bruno Haible  <bruno@clisp.org>
38249
38250         Avoid redefinition warnings for SIZE_MAX.
38251         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
38252         Reported by Simon Josefsson.
38253
38254 2009-05-21  Bruno Haible  <bruno@clisp.org>
38255
38256         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
38257         AC_CACHE_VAL.
38258
38259 2009-05-20  Bruno Haible  <bruno@clisp.org>
38260
38261         Make zeroptr.h work on mingw.
38262         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
38263         mprotect.
38264         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
38265         * modules/memchr2-tests (configure.ac): Likewise.
38266         * modules/memcmp-tests (configure.ac): Likewise.
38267         * modules/memmem-tests (configure.ac): Likewise.
38268         * modules/memrchr-tests (configure.ac): Likewise.
38269         Reported by Simon Josefsson.
38270
38271 2009-05-20  Simon Josefsson  <simon@josefsson.org>
38272
38273         * tests/test-glob.c: Include string.h for strcmp prototype.
38274
38275 2009-05-20  Simon Josefsson  <simon@josefsson.org>
38276
38277         * modules/getdelim (Depends-on): Add explicit stdint, although it
38278         was implicitly already pulled in via realloc-posix.
38279         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
38280
38281 2009-05-20  Simon Josefsson  <simon@josefsson.org>
38282
38283         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
38284         G. Christensen" <tgc@jupiterrise.com>.
38285         * m4/sys_socket_h.m4: Check for sa_family_t.
38286         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
38287         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
38288         * tests/test-sys_socket.c: Check that sa_family_t works.
38289
38290 2009-05-18  Eric Blake  <ebb9@byu.net>
38291
38292         maint.mk: allow gnulib_dir in VPATH build
38293         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
38294
38295 2009-05-15  Jim Meyering  <meyering@redhat.com>
38296
38297         maint.mk: Give gnulib_dir a default definition.
38298         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
38299         Thus, most packages no longer need to specify this variable in cfg.mk
38300
38301 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
38302
38303         rename.m4: fix typos that would make non-mingw cross-configure fail
38304         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
38305
38306 2009-05-13  Eric Blake  <ebb9@byu.net>
38307
38308         mmap-anon: avoid out-of-order autoconf expansion
38309         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
38310         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
38311         * modules/memchr-tests (Depends-on): Add extensions.
38312         * modules/memchr2-tests (Depends-on): Add extensions.
38313         * modules/memcmp-tests (Depends-on): Add extensions.
38314         * modules/memmem-tests (Depends-on): Add extensions.
38315         * modules/memrchr-tests (Depends-on): Add extensions.
38316
38317 2009-05-13  Bruno Haible  <bruno@clisp.org>
38318
38319         Make some tests ISO C 99 compliant.
38320         * tests/zerosize-ptr.h: New file.
38321         * tests/test-memchr.c: Include zerosize-ptr.h.
38322         (main): Use a zero-size object pointer instead of NULL.
38323         * tests/test-memchr2.c: Include zerosize-ptr.h.
38324         (main): Use a zero-size object pointer instead of NULL.
38325         * tests/test-memcmp.c: Include zerosize-ptr.h.
38326         (main): Use a zero-size object pointer instead of NULL.
38327         * tests/test-memmem.c: Include zerosize-ptr.h.
38328         (main): Use a zero-size object pointer instead of NULL.
38329         * tests/test-memrchr.c: Include zerosize-ptr.h.
38330         (main): Use a zero-size object pointer instead of NULL.
38331         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
38332         m4/mmap-anon.m4.
38333         (Depends-on): Add getpagesize.
38334         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
38335         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
38336         m4/mmap-anon.m4.
38337         (Depends-on): Add getpagesize.
38338         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
38339         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
38340         m4/mmap-anon.m4.
38341         (Depends-on): Add getpagesize.
38342         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
38343         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
38344         m4/mmap-anon.m4.
38345         (Depends-on): Add getpagesize.
38346         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
38347         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
38348         m4/mmap-anon.m4.
38349         (Depends-on): Add getpagesize.
38350         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
38351
38352 2009-05-12  Bruno Haible  <bruno@clisp.org>
38353
38354         Tests for module 'alignof'.
38355         * modules/alignof-tests: New file.
38356         * tests/test-alignof.c: New file.
38357
38358 2009-05-12  Bruno Haible  <bruno@clisp.org>
38359
38360         Fix alignof macro.
38361         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
38362         vendor compilers that are always correct.
38363
38364 2009-05-12  Bruno Haible  <bruno@clisp.org>
38365
38366         Make the MAP_ANONYMOUS detection work on HP-UX 11.
38367         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
38368         not whether its fully works.
38369
38370 2009-05-12  Bruno Haible  <bruno@clisp.org>
38371
38372         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
38373
38374 2009-05-12  Jim Meyering  <meyering@redhat.com>
38375
38376         * top/maint.mk: Adjust backslash alignment.
38377
38378 2009-05-11  Simon Josefsson  <simon@josefsson.org>
38379
38380         * top/maint.mk: Make $(srcdir)/build-aux configurable.
38381
38382 2009-05-11  Eric Blake  <ebb9@byu.net>
38383
38384         argp: avoid undefined behavior
38385         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
38386         macros.
38387
38388 2009-05-08  Simon Josefsson  <simon@josefsson.org>
38389
38390         * tests/test-vc-list-files-git.sh: Do git config of user.email and
38391         user.name to prevent git commit from complaining.
38392
38393 2009-05-10  Bruno Haible  <bruno@clisp.org>
38394
38395         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
38396         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
38397         it rewrites every file name only once.
38398         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
38399
38400 2009-05-08  Bruno Haible  <bruno@clisp.org>
38401
38402         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
38403         instead of 'max'.
38404
38405 2009-05-08  Simon Josefsson  <simon@josefsson.org>
38406
38407         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
38408         sockaddr_storage test.
38409
38410 2009-05-07  Simon Josefsson  <simon@josefsson.org>
38411
38412         * modules/sys_socket (Makefile.am): Substitute
38413         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
38414         * m4/sys_socket_h.m4: Check for sockaddr_storage.
38415         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
38416         * tests/test-sys_socket.c: Check sockaddr_storage.
38417
38418 2009-05-08  Bruno Haible  <bruno@clisp.org>
38419
38420         New module 'alignof'.
38421         * lib/alignof.h: New file.
38422         * modules/alignof: New file.
38423
38424 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
38425             Bruno Haible  <bruno@clisp.org>
38426
38427         Fix test-file-has-acl on FreeBSD.
38428         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
38429         mask is implicitly added.
38430         * tests/test-file-has-acl.c: Include <signal.h>.
38431         (main): Terminate the test after 5 seconds.
38432         * modules/acl-tests (configure.ac): Check for alarm function.
38433
38434 2009-05-04  Bruno Haible  <bruno@clisp.org>
38435
38436         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
38437         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
38438         * modules/errno (configure.ac): Drop AC_REQUIRE.
38439         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
38440         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
38441
38442 2009-05-04  Simon Josefsson  <simon@josefsson.org>
38443
38444         * modules/glob-tests: New module.
38445         * tests/test-glob.c: Add.
38446
38447 2009-05-04  Simon Josefsson  <simon@josefsson.org>
38448
38449         * modules/fnmatch-tests: New module.
38450         * tests/test-fnmatch.c: Add.
38451
38452 2009-05-04  Eric Blake  <ebb9@byu.net>
38453
38454         maint: make the new no-submodule-changes rule VPATH-safe
38455         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
38456
38457 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
38458             Bruno Haible  <bruno@clisp.org>
38459
38460         acl: Fix infinite loop on FreeBSD.
38461         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
38462         of return value from acl_get_entry.
38463         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
38464         Likewise.
38465
38466 2009-05-03  Bruno Haible  <bruno@clisp.org>
38467
38468         * lib/acl-internal.h (acl_entries): Clarify return value.
38469         * lib/acl_entries.c (acl_entries): Likewise.
38470
38471 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
38472
38473         Bug fix in acl module.
38474         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
38475
38476 2009-05-03  Bruno Haible  <bruno@clisp.org>
38477
38478         Create gperf-generated file in the source dir, not in the build dir.
38479         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
38480         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
38481         * modules/unicase/locale-language (unicase/locale-languages.h):
38482         Likewise.
38483         * modules/unicase/special-casing (unicase/special-casing-table.h):
38484         Likewise.
38485         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
38486         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
38487         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
38488         Reported by Ralf Wildenhues.
38489
38490 2009-05-03  Bruno Haible  <bruno@clisp.org>
38491
38492         * modules/fnmatch (Description, configure.ac): Taken from
38493         fnmatch-posix.
38494         * modules/fnmatch-posix: Turn into a symbolic reference to the
38495         'fnmatch' module, and deprecate.
38496         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
38497
38498 2009-05-03  Bruno Haible  <bruno@clisp.org>
38499
38500         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
38501         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
38502         Reported by Ralf Wildenhues.
38503
38504 2009-05-04  Simon Josefsson  <simon@josefsson.org>
38505
38506         * m4/fnmatch.m4: Fix fnmatch re-define.
38507
38508 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
38509
38510         priv-set: new module and tests; adapt write-any-file
38511         * lib/priv-set.c: New file.
38512         * lib/priv-set.h: New file.
38513         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
38514         * lib/write-any-file.c: Simplify by using priv-set module.
38515         * m4/priv-set.m4: New file.
38516         * modules/priv-set: New file.
38517         * modules/unlinkdir: Add dependency on priv-set module.
38518         * modules/write-any-file: Likewise.
38519
38520         Tests for module 'priv-set'.
38521         * modules/priv-set-tests: New file.
38522         * tests/test-priv-set.c: New file.
38523
38524 2009-05-03  Jim Meyering  <meyering@redhat.com>
38525             Bruno Haible  <bruno@clisp.org>
38526
38527         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
38528         use the converted UTF-8 variant of the name instead.
38529
38530 2009-05-03  Jim Meyering  <meyering@redhat.com>
38531
38532         tests: tighten some getdate tests
38533         * tests/test-getdate.c (main): Tighten tests: require equality,
38534         not just greater than.  Set TZ envvar to UTC0.
38535
38536 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
38537
38538         getdate: correctly interpret "next monday" when run on a Monday
38539         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
38540         that e.g., "next tues" (when run on a tuesday) results in a date
38541         that is one week in the future, and not today's date.
38542         I.e., add a week when the wday is the same as the current one.
38543         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
38544         and earlier by Martin Bernreuther and Jan Minář.
38545         * tests/test-getdate.c (main): Check that "next DAY" is always in
38546         the future and that "last DAY" is always in the past.
38547
38548 2009-05-02  Jim Meyering  <meyering@redhat.com>
38549
38550         build: ensure that a release build fails when a submodule is unclean
38551         * top/maint.mk (no-submodule-changes): New rule.
38552         (alpha beta major): Depend on it.
38553
38554 2009-05-02  Bruno Haible  <bruno@clisp.org>
38555
38556         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
38557         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
38558         shell variable gl_fnmatch_required to detect which variant is
38559         requested.
38560         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
38561         gl_FUNC_FNMATCH_POSIX.
38562         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
38563         exclude fnmatch-posix.
38564
38565 2009-05-02  Bruno Haible  <bruno@clisp.org>
38566
38567         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
38568         * modules/mbsrtowcs (License): Change to LGPLv2+.
38569         * modules/strnlen1 (License): Likewise.
38570         Reported by Simon Josefsson.
38571
38572 2009-05-02  Bruno Haible  <bruno@clisp.org>
38573
38574         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
38575         "cross".
38576         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
38577         gnulib-tool was called with option --source-base=lib.
38578
38579 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38580
38581         Use automake *-local hooks without commands, for extensibility.
38582         * modules/localcharset (Makefile.am): Rename install-exec-local
38583         rule to install-exec-localcharset, and make it a prerequisite of
38584         install-exec-local.  Likewise, rename the uninstall-local rule to
38585         uninstall-localcharset, and make it a prerequisite of the former.
38586
38587 2009-05-01  Bruno Haible  <bruno@clisp.org>
38588
38589         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
38590         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
38591         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
38592         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
38593         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
38594         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
38595         m4/locale-zh.m4, m4/codeset.m4.
38596
38597         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
38598         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
38599         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
38600         m4/locale-zh.m4.
38601
38602         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
38603         REPLACE_WCRTOMB if mbstate_t must be replaced.
38604         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
38605         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
38606
38607 2009-05-01  Bruno Haible  <bruno@clisp.org>
38608
38609         Avoid compiler warnings when redefining macros defined by <libintl.h>.
38610         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
38611         dngettext, dcngettext, textdomain, bindtextdomain,
38612         bind_textdomain_codeset): Undefine before redefining.
38613
38614 2009-04-30  Bruno Haible  <bruno@clisp.org>
38615
38616         Fix bug introduced on 2009-04-25.
38617         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
38618         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
38619         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
38620         is defined.
38621         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
38622         is defined.
38623         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
38624         is defined.
38625         Reported by Elbert_Pol <elbert.pol@gmail.com>.
38626
38627 2009-04-28  Bruno Haible  <bruno@clisp.org>
38628
38629         Comment tweaks.
38630         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
38631         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
38632         * lib/unicase.h (u*_casexfrm): Likewise.
38633         Reported by Paolo Bonzini.
38634
38635 2009-04-28  Bruno Haible  <bruno@clisp.org>
38636
38637         Fix a compilation error.
38638         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
38639         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
38640         Reported by Jim Meyering.
38641
38642 2009-04-27  Bruno Haible  <bruno@clisp.org>
38643
38644         New module 'libunistring'.
38645         * modules/libunistring: New file.
38646         * m4/libunistring.m4: New file.
38647         * MODULES.html.sh (Unicode string functions): Add it.
38648
38649 2009-04-27  Eric Blake  <ebb9@byu.net>
38650
38651         maint.mk: allow package-specific header to provide <config.h>
38652         * top/maint.mk (sc_require_config_h): New variable.
38653         (sc_require_config_h, sc_require_config_h_first): Use it.
38654
38655 2009-04-27  Simon Josefsson  <simon@josefsson.org>
38656
38657         * top/maint.mk (sc_avoid_if_before_free): Except
38658         useless-if-before-free script.
38659
38660 2009-04-27  Eric Blake  <ebb9@byu.net>
38661
38662         maintainer-makefile: depend on all required helper scripts
38663         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
38664         useless-if-before-free.
38665         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
38666         version, rather than assuming gnulib checkout is available.
38667         Reported by Simen Josefsson.
38668
38669 2009-04-26  Bruno Haible  <bruno@clisp.org>
38670
38671         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
38672         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
38673         "../" or "..".
38674
38675 2009-04-26  Bruno Haible  <bruno@clisp.org>
38676
38677         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
38678         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
38679         AC_LIB_HAVE_LINKFLAGS.
38680
38681 2009-04-26  Bruno Haible  <bruno@clisp.org>
38682
38683         Simplify calling convention of u*_conv_from_encoding.
38684         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
38685         u32_conv_from_encoding): Expect a resultbuf argument and return the
38686         result directly as a pointer.
38687         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
38688         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
38689         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
38690         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
38691         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
38692         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
38693         Update.
38694         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
38695         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
38696         * lib/vasnprintf.c (VASNPRINTF): Update.
38697         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
38698         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
38699         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
38700         * NEWS: Mention the change.
38701
38702 2009-04-26  Bruno Haible  <bruno@clisp.org>
38703
38704         Simplify calling convention of u*_conv_to_encoding.
38705         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
38706         u32_conv_to_encoding): Expect a resultbuf argument and return the
38707         result directly as a pointer.
38708         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
38709         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
38710         freeing scaled_offsets if mem_iconveha failed.
38711         * lib/unicase/u-casexfrm.h (FUNC): Update.
38712         * lib/uninorm/u-normxfrm.h (FUNC): Update.
38713         * lib/vasnprintf.c (VASNPRINTF): Update.
38714         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
38715         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
38716         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
38717         * NEWS: Mention the change.
38718
38719 2009-04-26  Bruno Haible  <bruno@clisp.org>
38720
38721         Avoid test failures on AIX and OSF/1.
38722         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
38723         malloc(0).
38724         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
38725         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
38726         Likewise.
38727         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
38728         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
38729         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
38730         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
38731         * doc/posix-functions/malloc.texi: Document the portability problem
38732         related to malloc(0).
38733
38734 2009-04-26  Bruno Haible  <bruno@clisp.org>
38735
38736         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
38737         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
38738         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
38739
38740 2009-04-25  Bruno Haible  <bruno@clisp.org>
38741
38742         Avoid link error when creating a namespace clean library.
38743         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
38744         as macro with arguments if already defined as an alias.
38745         * lib/signbitf.c (gl_signbitf): Don't undefine.
38746         * lib/signbitd.c (gl_signbitd): Don't undefine.
38747         * lib/signbitl.c (gl_signbitl): Don't undefine.
38748
38749 2009-04-25  Jim Meyering  <meyering@redhat.com>
38750
38751         vc-list-files: fix another quoting bug
38752         * build-aux/vc-list-files: Avoid sed backslash expansion
38753         of pathological directory names.
38754
38755 2009-04-25  Eric Blake  <ebb9@byu.net>
38756
38757         vc-list-files: fix shell quoting error
38758         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
38759         timestamp.
38760
38761 2009-04-25  Jim Meyering  <meyering@redhat.com>
38762
38763         vc-list-files: restore lost functionality with subdir argument
38764         * build-aux/vc-list-files: When given a non-"." sub-directory
38765         argument, substitute the $dir/ prefix back onto each resulting name.
38766         Otherwise, coreutils' root_tests check would fail.
38767
38768 2009-04-24  Eric Blake  <ebb9@byu.net>
38769
38770         vc-list-files: ignore git symlinks
38771         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
38772         than ls-files, to ignore git symlinks.
38773
38774         maint.mk: import improvements from m4
38775         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
38776         (move_if_change): Delete unused macro.
38777         (news-date-check, vc-diff-check): Support VPATH builds.
38778         (announcement): Likewise.  Split --bootstrap-tools list...
38779         (boostrap-tools): ...into separate list, which can be overridden
38780         in cfg.mk.
38781         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
38782         requiring dependency on useless-if-before-free module.
38783         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
38784         Support VPATH builds.
38785
38786 2009-04-24  Jim Meyering  <meyering@redhat.com>
38787
38788         maint.mk: remove coreutils-specific rules and variables
38789         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
38790         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
38791         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
38792
38793         maint.mk: remove obsolete rule
38794         * top/maint.mk (rel-check): Remove rule.
38795         (WGET, WGETFLAGS): Remove now-unused variables.
38796
38797 2009-04-24  Simon Josefsson  <simon@josefsson.org>
38798
38799         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
38800         consistency.
38801
38802         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
38803         '$(PATH_SEPARATOR)' instead of ':'.
38804
38805 2009-04-24  Simon Josefsson  <simon@josefsson.org>
38806
38807         * lib/getopt1.c (main): Use 'const' for static array.
38808
38809 2009-04-24  Simon Josefsson  <simon@josefsson.org>
38810
38811         * top/maint.mk: Sync with coreutils.
38812         * NEWS: Explain incompatibilities.
38813
38814 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38815             Bruno Haible  <bruno@clisp.org>
38816
38817         Fix cross-compilation results.
38818         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
38819         statement, as third argument of AC_TRY_RUN.
38820         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
38821         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
38822         Likewise.
38823         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
38824         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
38825         Likewise.
38826         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
38827         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
38828         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
38829
38830 2009-04-20  Bruno Haible  <bruno@clisp.org>
38831
38832         Avoid test failure on mingw.
38833         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
38834
38835 2009-04-20  Bruno Haible  <bruno@clisp.org>
38836
38837         Avoid compilation error on mingw.
38838         * modules/localename-tests (Depends-on): Add locale.
38839
38840 2009-04-19  Bruno Haible  <bruno@clisp.org>
38841
38842         Support for building a shared library on Windows platforms.
38843         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
38844         (main): Test the presence of UNINORM_NFC here.
38845         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
38846         (main): Test the presence of UNINORM_NFD here.
38847         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
38848         (main): Test the presence of UNINORM_NFKC here.
38849         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
38850         (main): Test the presence of UNINORM_NFKD here.
38851
38852 2009-04-19  Bruno Haible  <bruno@clisp.org>
38853
38854         Avoid a compiler warning.
38855         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
38856         Change type of variable 'sequence'.
38857
38858 2009-04-19  Bruno Haible  <bruno@clisp.org>
38859
38860         * modules/configmake (Makefile.am): When the contents of configmake.h
38861         does not change, arrange to preserve its modification time.
38862
38863 2009-04-17  Simon Josefsson  <simon@josefsson.org>
38864
38865         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
38866         gettext domain.
38867
38868 2009-04-16  Jim Meyering  <meyering@redhat.com>
38869
38870         useless-if-before-free: improve conversion code
38871         * build-aux/useless-if-before-free: Adjust code-in-comment to match
38872         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
38873
38874 2009-04-14  Bruno Haible  <bruno@clisp.org>
38875
38876         * modules/fcntl (Depends-on): Add extensions.
38877         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
38878
38879 2009-04-12  Ben Pfaff  <blp@gnu.org>
38880
38881         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
38882         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
38883
38884 2009-03-20  Ben Pfaff  <blp@gnu.org>
38885
38886         Make rename replace existing destinations on Windows.
38887         * m4/rename.m4: Add test for Mingw.
38888         * lib/rename.c: Add rename replacement that uses MoveFileEx with
38889         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
38890         * doc/posix-functions/rename.texi: Document.
38891
38892 2009-04-10  Bruno Haible  <bruno@clisp.org>
38893
38894         New include file "iconveh.h".
38895         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
38896         * lib/striconveh.h: Include it.
38897         (enum iconv_ilseq_handler): Remove definition.
38898         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
38899         striconveh.h.
38900         * lib/striconveha.c: Include striconveh.h.
38901         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
38902         * modules/striconveh (Files): Add lib/iconveh.h.
38903         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
38904         lib/striconveh.h.
38905
38906 2009-04-10  Bruno Haible  <bruno@clisp.org>
38907
38908         * lib/uniconv.h: Update comment.
38909
38910 2009-04-10  Bruno Haible  <bruno@clisp.org>
38911
38912         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
38913         always.
38914         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
38915         * lib/unistr/u16-mbtouc-aux.c: Likewise.
38916         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
38917         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
38918         "unistring-notinline.h", so that the function gets defined always.
38919         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
38920         * lib/unistr/u8-uctomb.c: Likewise.
38921         * lib/unistr/u16-mbtouc.c: Likewise.
38922         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
38923         * lib/unistr/u16-uctomb.c: Likewise.
38924         * lib/unistr/u32-mbtouc.c: Likewise.
38925         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
38926         * lib/unistr/u32-uctomb.c: Likewise.
38927
38928 2009-04-10  Bruno Haible  <bruno@clisp.org>
38929
38930         Mark 'utime' obsolete.
38931         * modules/utime (Status, Notice): New sections.
38932         Suggested by Jim Meyering.
38933
38934         Fix cross-compile guess for utime test.
38935         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
38936         autoconf.
38937         * doc/posix-functions/utime.texi: Give more precisions.
38938         Reported by Jan <ipif@ymail.com>.
38939
38940 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
38941
38942         filevercmp: correct today's change
38943         * lib/filevercmp.c: Also handle coreutils' test inputs.
38944         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
38945
38946         Fix regression in 'filevercmp' module. Thanks Sven Joachim
38947         for reporting it.
38948         * lib/filevercmp.c: Special handle for "", "." and "..".
38949         * tests/test-filevercmp.c: Enlarge the set suite.
38950
38951 2009-04-07  Jim Meyering  <meyering@redhat.com>
38952
38953         useless-if-before-free: show how to remove braced useless free, too
38954         * build-aux/useless-if-before-free: still only in a comment, though.
38955
38956 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
38957
38958         maint.mk: import changes to syntax-check macros from coreutils
38959         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
38960         Use them in the relevant macros.
38961
38962 2009-04-06  Bruno Haible  <bruno@clisp.org>
38963
38964         Fix unportable use of bit-fields.
38965         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
38966         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
38967         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
38968
38969 2009-04-06  Bruno Haible  <bruno@clisp.org>
38970
38971         Avoid test failures on AIX and OSF/1.
38972         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
38973         that malloc(0) = NULL.
38974         * tests/unicase/test-u8-tolower.c (check): Likewise.
38975         * tests/unicase/test-u8-totitle.c (check): Likewise.
38976         * tests/unicase/test-u8-toupper.c (check): Likewise.
38977         * tests/unicase/test-u16-casefold.c (check): Likewise.
38978         * tests/unicase/test-u16-tolower.c (check): Likewise.
38979         * tests/unicase/test-u16-totitle.c (check): Likewise.
38980         * tests/unicase/test-u16-toupper.c (check): Likewise.
38981         * tests/unicase/test-u32-casefold.c (check): Likewise.
38982         * tests/unicase/test-u32-tolower.c (check): Likewise.
38983         * tests/unicase/test-u32-totitle.c (check): Likewise.
38984         * tests/unicase/test-u32-toupper.c (check): Likewise.
38985         * tests/uninorm/test-u8-nfc.c (check): Likewise.
38986         * tests/uninorm/test-u8-nfd.c (check): Likewise.
38987         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
38988         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
38989         * tests/uninorm/test-u16-nfc.c (check): Likewise.
38990         * tests/uninorm/test-u16-nfd.c (check): Likewise.
38991         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
38992         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
38993         * tests/uninorm/test-u32-nfc.c (check): Likewise.
38994         * tests/uninorm/test-u32-nfd.c (check): Likewise.
38995         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
38996         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
38997
38998 2009-04-05  Bruno Haible  <bruno@clisp.org>
38999
39000         Work around an autoconf limitation.
39001         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
39002         comment line if it would be longer than 3 KB.
39003
39004 2009-04-05  Bruno Haible  <bruno@clisp.org>
39005
39006         Avoid test failure with libiconv-1.13.
39007         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
39008         of the expected test results.
39009
39010 2009-04-05  Bruno Haible  <bruno@clisp.org>
39011
39012         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
39013         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
39014         that it should be installed.
39015
39016 2009-04-05  Bruno Haible  <bruno@clisp.org>
39017
39018         * gnulib-tool: New option --copy-file.
39019         (func_usage): Document it.
39020         (func_dest_tmpfilename): Moved out of func_import.
39021         (func_add_file, func_update_file): New functions, extracted from
39022         func_import.
39023         (func_import): Update.
39024
39025 2009-04-05  Karl Berry  <karl@gnu.org>
39026
39027         * README: prominently mention gnulib-tool.
39028         Rearrange sections so getting the code is near the top.
39029
39030 2009-04-05  Bruno Haible  <bruno@clisp.org>
39031
39032         * lib/unicase.h: Mention u*_cmp2.
39033         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
39034         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
39035         * lib/unicase/ulc-casecmp.c: Likewise.
39036         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
39037         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
39038         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
39039         unistr/u8-cmp.
39040         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
39041         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
39042         unistr/u16-cmp.
39043         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
39044         unistr/u32-cmp.
39045
39046         * lib/uninorm.h: Mention u*_cmp2.
39047         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
39048         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
39049         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
39050         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
39051         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
39052         unistr/u8-cmp.
39053         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
39054         unistr/u16-cmp.
39055         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
39056         unistr/u32-cmp.
39057
39058         New module 'unistr/u32-cmp2'.
39059         * lib/unistr/u32-cmp2.c: New file.
39060         * modules/unistr/u32-cmp2: New file.
39061
39062         New module 'unistr/u16-cmp2'.
39063         * lib/unistr/u16-cmp2.c: New file.
39064         * modules/unistr/u16-cmp2: New file.
39065
39066         New module 'unistr/u8-cmp2'.
39067         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
39068         * lib/unistr/u8-cmp2.c: New file.
39069         * lib/unistr/u-cmp2.h: New file.
39070         * modules/unistr/u8-cmp2: New file.
39071
39072 2009-04-05  Bruno Haible  <bruno@clisp.org>
39073
39074         * lib/unictype.h (uc_property_is_valid): New macro.
39075         * tests/unictype/test-pr_byname.c (main): Use it.
39076
39077         * lib/unistr.h: Doc fixes.
39078         * lib/uniconv.h: Doc fixes.
39079         * lib/unictype.h: Doc fixes.
39080
39081 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
39082
39083         Port coreutils 7.2 to Solaris 8.
39084
39085         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
39086         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
39087         for Solaris 8.  This is a bit of a hack, as it means it's the
39088         caller's responsibility to add -lnsl if needed, but most likely it
39089         won't be needed since only getaddrinfo uses this and getaddrinfo
39090         isn't needed on Solaris 8.
39091
39092         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
39093         problem to Solaris 8 encountered with coreutils 7.2, which
39094         resulted in a message "fnmatch.c:292: warning: passing argument 4
39095         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
39096         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
39097
39098 2009-04-03  Simon Josefsson  <simon@josefsson.org>
39099
39100         * m4/ld-version-script.m4: Add FIXME comment.
39101
39102 2009-04-02  Simon Josefsson  <simon@josefsson.org>
39103
39104         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
39105         SOVERSION variable.
39106
39107 2009-04-02  Bruno Haible  <bruno@clisp.org>
39108
39109         * Makefile (info, html, dvi, pdf): Combine the rules.
39110         Suggested by Jim Meyering.
39111
39112 2009-04-01  Bruno Haible  <bruno@clisp.org>
39113
39114         * Makefile (info, html, dvi, pdf): New targets.
39115         Reported by Reuben Thomas <rrt@sc3d.org>.
39116
39117 2009-04-01  Bruno Haible  <bruno@clisp.org>
39118
39119         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
39120         can be put into PATH.
39121         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
39122
39123 2009-04-01  Bruno Haible  <bruno@clisp.org>
39124
39125         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
39126
39127 2009-04-01  Bruno Haible  <bruno@clisp.org>
39128
39129         Rename module 'visibility'.
39130         * modules/lib-symbol-visibility: Renamed from modules/visibility.
39131         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
39132         * doc/gnulib.texi: Update.
39133         * MODULES.html.sh (Misc): Update.
39134         * NEWS: Mention the change.
39135
39136 2009-04-01  Simon Josefsson  <simon@josefsson.org>
39137
39138         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
39139         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
39140         Eric Blake <ebb9@byu.net> for review.
39141         * MODULES.html.sh: Add lib-msvc-compat.
39142         * doc/gnulib.texi: Link to new section.
39143         * m4/ld-output-def.m4: New file.
39144         * doc/ld-output-def.texi: New file.
39145
39146 2009-04-01  Simon Josefsson  <simon@josefsson.org>
39147
39148         Rename ld-version-script to lib-symbol-versions.  Suggested by
39149         Bruno Haible <bruno@clisp.org>.
39150         * modules/ld-version-script: Renamed to lib-symbol-versions.
39151         * doc/ld-version-script.texi: Fix module name.
39152         * MODULES.html.sh: Add lib-symbol-versions.
39153
39154 2009-03-31  Simon Josefsson  <simon@josefsson.org>
39155
39156         * modules/u64-tests: New file.
39157         * tests/test-u64.c: New file.
39158
39159 2009-03-04  Simon Josefsson  <simon@josefsson.org>
39160
39161         * MODULES.html.sh: Mention u64.
39162         * modules/u64: New module.
39163         * modules/crypto/sha512: Depend on u64 module instead of providing
39164         u64.h.
39165
39166 2009-03-27  Eric Blake  <ebb9@byu.net>
39167
39168         test-strerror: make debugging EAI_SYSTEM easier
39169         * modules/getaddrinfo-tests (Depends-on): Add strerror.
39170         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
39171         failure was EAI_SYSTEM.
39172
39173 2009-03-25  Bruno Haible  <bruno@clisp.org>
39174
39175         Fix a problem with --enable-relocatable on Solaris 7.
39176         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
39177         since 2008-02-24.
39178
39179 2009-03-25  Eric Blake  <ebb9@byu.net>
39180
39181         test-sockets: avoid gcc warning
39182         * tests/test-sockets.c (main): Silence compiler warning.
39183
39184 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
39185
39186         New modules nproc, pthread, contributed by Glen Lenker.
39187
39188         * MODULES.html.sh: Add pthread, nproc.
39189         * lib/nproc.c: New file.
39190         * lib/nproc.h: New file.
39191         * lib/pthread.in.h: New file.
39192         * m4/pthread.m4: New file.
39193         * modules/nproc: New file.
39194         * modules/pthread: New file.
39195
39196 2009-03-24  Simon Josefsson  <simon@josefsson.org>
39197
39198         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
39199         New variable.
39200
39201 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
39202
39203         filevercmp: handle simple~ and numbered.~3~ backup suffixes
39204         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
39205         * tests/test-filevercmp.c: Add tests for backup suffixes.
39206
39207 2009-03-24  Simon Josefsson  <simon@josefsson.org>
39208
39209         * modules/stdlib (Depends-on): Add stdint, needed when defining
39210         struct random_data on, for example, HP-UX 10.20.  Reported by
39211         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
39212
39213 2009-03-24  Simon Josefsson  <simon@josefsson.org>
39214
39215         * lib/readline.c (readline): Call fflush on stdout after printing
39216         prompt.
39217
39218 2009-03-20  Bruno Haible  <bruno@clisp.org>
39219
39220         Remove dependency from 'close' module to -lws2_32 on native Windows.
39221         * lib/close-hook.h: New file.
39222         * lib/close-hook.c: New file.
39223         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
39224         w32sock.h.
39225         (_gl_close_fd_maybe_socket): Remove function.
39226         (rpl_close): Invoke execute_all_close_hooks instead of
39227         _gl_close_fd_maybe_socket.
39228         * lib/sockets.c: Include close-hook.h, w32sock.h.
39229         (close_fd_maybe_socket): New function, essentially from lib/close.c.
39230         (close_sockets_hook): New variable.
39231         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
39232         (gl_sockets_cleanup): Unregister it.
39233         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
39234         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
39235         * modules/close-hook: New file.
39236         * modules/close (Files): Remove lib/w32sock.h.
39237         (Depends-on): Add close-hook.
39238         (Link): Remove section.
39239         * modules/sockets (Files): Add lib/w32sock.h.
39240         (Depends-on): Add close-hook.
39241         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
39242         invocation.
39243         * NEWS: Mention that LIB_CLOSE is gone.
39244
39245 2009-03-23  Eric Blake  <ebb9@byu.net>
39246
39247         signal-tests: test previous patch
39248         * tests/test-signal.c: New file.
39249         * modules/signal-tests: Likewise.
39250
39251         signal.h: always support 'volatile sig_atomic_t'
39252         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
39253         (gl_SIGNAL_H_DEFAULTS): Add a default.
39254         * modules/signal (Makefile.am): Substitute if needed.
39255         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
39256         users can blindly add volatile.
39257         * doc/posix-headers/signal.texi (signal.h): Document it.
39258         Reported by Matthew Woehlke.
39259
39260 2009-03-23  Jim Meyering  <meyering@redhat.com>
39261
39262         pathmax: PATH_MAX: use pathconf only when available
39263         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
39264         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
39265         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
39266         This avoids a link failure in a PSP cross-compilation environment
39267         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
39268
39269         * lib/vasnprintf.c (divide): Fix typo in comment.
39270
39271 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39272
39273         * gnulib-tool (func_filter_filelist): Fix comment.
39274
39275 2009-03-20  Bruno Haible  <bruno@clisp.org>
39276
39277         Make sockets.h self-contained.
39278         * lib/sockets.c: Include sockets.h first.
39279         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
39280
39281 2009-03-19  Eric Blake  <ebb9@byu.net>
39282
39283         doc: mention more functions added in cygwin 1.7.0
39284         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
39285         addition.
39286         * doc/posix-functions/log2f.texi: Likewise.
39287
39288 2009-03-19  Jim Meyering  <meyering@redhat.com>
39289
39290         fsusage: avoid syntax error due to statement-before-declaration
39291         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
39292         after all declarations.  Reported by Matthew Woehlke in
39293         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
39294
39295 2009-03-18  Eric Blake  <ebb9@byu.net>
39296
39297         build-aux/compile: sync from automake
39298         * build-aux/compile: New file, from automake.
39299         * config/srclist.txt: Mention build-aux/compile.
39300
39301 2009-03-17  Bruno Haible  <bruno@clisp.org>
39302
39303         * lib/git-merge-changelog.c: Fix typo in comment.
39304         Reported by Reuben Thomas <rrt@sc3d.org>.
39305
39306 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
39307
39308         * m4/regex.m4: update and improve help for
39309         --without-included-regex.
39310
39311 2009-03-17  Simon Josefsson  <simon@josefsson.org>
39312
39313         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
39314         failure on missing include files.
39315
39316 2009-03-17  Eric Blake  <ebb9@byu.net>
39317
39318         doc: mention more functions added in cygwin 1.7.0
39319         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
39320         addition.
39321         * doc/posix-functions/fwscanf.texi: Likewise.
39322         * doc/posix-functions/swprintf.texi: Likewise.
39323         * doc/posix-functions/swscanf.texi: Likewise.
39324         * doc/posix-functions/vfwprintf.texi: Likewise.
39325         * doc/posix-functions/vfwscanf.texi: Likewise.
39326         * doc/posix-functions/vswprintf.texi: Likewise.
39327         * doc/posix-functions/vswscanf.texi: Likewise.
39328         * doc/posix-functions/vwprintf.texi: Likewise.
39329         * doc/posix-functions/vwscanf.texi: Likewise.
39330         * doc/posix-functions/wcscasecmp.texi: Likewise.
39331         * doc/posix-functions/wcsdup.texi: Likewise.
39332         * doc/posix-functions/wcsftime.texi: Likewise.
39333         * doc/posix-functions/wcsncasecmp.texi: Likewise.
39334         * doc/posix-functions/wprintf.texi: Likewise.
39335         * doc/posix-functions/wscanf.texi: Likewise.
39336         * doc/glibc-functions/gethostbyname2.texi: Likewise.
39337
39338 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39339
39340         maint.mk: really add $(AM_MAKEFLAGS)
39341         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
39342         was inadvertently omitted in the last commit.
39343         Spotted by Bruno Haible.
39344
39345         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
39346         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
39347         $(AM_MAKEFLAGS)' rather than plain `make'.
39348
39349         gnulib-tool: execute $MAKE not make
39350         * gnulib-tool: Default $MAKE to 'make'.
39351         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
39352         than make.  Initialize $MAKE in the do-autobuild script.
39353
39354         gnulib-tool: use $MAKE not make in generated files
39355         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
39356         make, in generated files.  Initialize $MAKE in the do-autobuild
39357         script.
39358
39359         * top/GNUmakefile (_have-git-version-gen): Fix typo.
39360
39361         GNUmakefile: disable parallelism only for multiple, recursive targets
39362         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
39363         additions in the Makefile.
39364         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
39365         by Automake.
39366         (.NOTPARALLEL): Only disable parallel builds if multiple targets
39367         are listed on the command line and at least one of them is
39368         listed in $(ALL_RECURSIVE_TARGETS).
39369
39370 2009-03-14  Bruno Haible  <bruno@clisp.org>
39371
39372         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
39373         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
39374         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
39375         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
39376         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
39377         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
39378         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
39379         unistr/u8-uctomb.
39380         * modules/unistr/u8-strchr (Depends-on): Likewise.
39381         * modules/unistr/u8-strrchr (Depends-on): Likewise.
39382         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
39383         unistr/u16-uctomb.
39384         * modules/unistr/u16-strchr (Depends-on): Likewise.
39385         * modules/unistr/u16-strrchr (Depends-on): Likewise.
39386
39387 2009-03-12  Bruno Haible  <bruno@clisp.org>
39388
39389         Work around select() bug on Interix 3.5.
39390         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
39391         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
39392         * m4/select.m4: New file.
39393         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
39394         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
39395         * modules/select (Files): Add m4/select.m4.
39396         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
39397         * modules/nanosleep (Depends-on): Add select.
39398         * modules/poll (Depends-on): Likewise.
39399         * doc/posix-functions/select.texi: Mention the Interix bug.
39400         Reported by Markus Duft <mduft@gentoo.org>.
39401
39402         * lib/select.c: Renamed from lib/winsock-select.c.
39403         * modules/select (Files): Add lib/select.c, remove
39404         lib/winsock-select.c.
39405         (configure.ac): Update.
39406
39407 2009-03-12  Jim Meyering  <meyering@redhat.com>
39408
39409         avoid gcc warnings about unused macro definitions
39410         * lib/readtokens.c (STREQ): Remove unused definition.
39411         * lib/xmalloc.c (SIZE_MAX): Likewise.
39412         * lib/openat-die.c (N_): Likewise.
39413         * lib/mountlist.c (SIZE_MAX): Remove definition.
39414         Instead, include <stdint.h>.
39415         * lib/readutmp.c: Likewise.
39416         * modules/readutmp (Depends-on): Add stdint.
39417         * modules/mountlist (Depends-on): Add stdint.
39418         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
39419
39420 2009-03-10  Bruno Haible  <bruno@clisp.org>
39421
39422         Tests for module 'mbmemcasecoll'.
39423         * modules/mbmemcasecoll-tests: New file.
39424         * tests/test-mbmemcasecoll1.sh: New file.
39425         * tests/test-mbmemcasecoll2.sh: New file.
39426         * tests/test-mbmemcasecoll3.sh: New file.
39427         * tests/test-mbmemcasecoll.c: New file.
39428
39429         New module 'mbmemcasecoll'.
39430         * lib/mbmemcasecoll.h: New file.
39431         * lib/mbmemcasecoll.c: New file.
39432         * modules/mbmemcasecoll: New file.
39433
39434         * tests/test-mbmemcasecmp.h: New file, extracted from
39435         tests/test-mbmemcasecmp.c.
39436         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
39437         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
39438         (main): Update.
39439         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
39440
39441 2009-03-09  Bruno Haible  <bruno@clisp.org>
39442
39443         Tests for module 'mbmemcasecmp'.
39444         * modules/mbmemcasecmp-tests: New file.
39445         * tests/test-mbmemcasecmp1.sh: New file.
39446         * tests/test-mbmemcasecmp2.sh: New file.
39447         * tests/test-mbmemcasecmp3.sh: New file.
39448         * tests/test-mbmemcasecmp.c: New file.
39449
39450         New module 'mbmemcasecmp'.
39451         * lib/mbmemcasecmp.h: New file.
39452         * lib/mbmemcasecmp.c: New file.
39453         * modules/mbmemcasecmp: New file.
39454
39455 2009-03-09  Bruno Haible  <bruno@clisp.org>
39456
39457         Tests for module 'unicase/ulc-casecoll'.
39458         * modules/unicase/ulc-casecoll-tests: New file.
39459         * tests/unicase/test-ulc-casecoll1.sh: New file.
39460         * tests/unicase/test-ulc-casecoll2.sh: New file.
39461         * tests/unicase/test-ulc-casecoll.c: New file.
39462
39463         New module 'unicase/ulc-casecoll'.
39464         * lib/unicase.h (ulc_casecoll): New declaration.
39465         * lib/unicase/ulc-casecoll.c: New file.
39466         * modules/unicase/ulc-casecoll: New file.
39467
39468         New module 'unicase/ulc-casexfrm'.
39469         * lib/unicase.h (ulc_casexfrm): New declaration.
39470         * lib/unicase/ulc-casexfrm.c: New file.
39471         * modules/unicase/ulc-casexfrm: New file.
39472
39473 2009-03-09  Bruno Haible  <bruno@clisp.org>
39474
39475         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
39476         invocations.
39477
39478         * m4/mbscasecmp.m4: Remove file.
39479         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
39480         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
39481
39482         * m4/mbscasestr.m4: Remove file.
39483         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
39484         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
39485
39486         * m4/mbschr.m4: Remove file.
39487         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
39488         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
39489
39490         * m4/mbscspn.m4: Remove file.
39491         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
39492         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
39493
39494         * m4/mbslen.m4: Remove file.
39495         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
39496         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
39497
39498         * m4/mbsncasecmp.m4: Remove file.
39499         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
39500         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
39501
39502         * m4/mbsnlen.m4: Remove file.
39503         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
39504         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
39505
39506         * m4/mbspbrk.m4: Remove file.
39507         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
39508         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
39509
39510         * m4/mbspcasecmp.m4: Remove file.
39511         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
39512         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
39513
39514         * m4/mbsrchr.m4: Remove file.
39515         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
39516         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
39517
39518         * m4/mbssep.m4: Remove file.
39519         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
39520         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
39521
39522         * m4/mbsspn.m4: Remove file.
39523         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
39524         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
39525
39526         * m4/mbsstr.m4: Remove file.
39527         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
39528         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
39529
39530         * m4/mbstok_r.m4: Remove file.
39531         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
39532         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
39533
39534         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
39535
39536         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
39537         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
39538
39539         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
39540
39541 2009-03-08  Bruno Haible  <bruno@clisp.org>
39542
39543         Tests for module 'unicase/ulc-casecmp'.
39544         * modules/unicase/ulc-casecmp-tests: New file.
39545         * tests/unicase/test-ulc-casecmp1.sh: New file.
39546         * tests/unicase/test-ulc-casecmp2.sh: New file.
39547         * tests/unicase/test-ulc-casecmp.c: New file.
39548
39549         New module 'unicase/ulc-casecmp'.
39550         * lib/unicase.h (ulc_casecmp): New declaration.
39551         * lib/unicase/ulc-casecmp.c: New file.
39552         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
39553         'const SRC_UNIT *'.
39554         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
39555         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
39556         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
39557         * modules/unicase/ulc-casecmp: New file.
39558
39559         Tests for module 'unicase/u32-is-cased'.
39560         * modules/unicase/u32-is-cased-tests: New file.
39561         * tests/unicase/test-u32-is-cased.c: New file.
39562
39563         Tests for module 'unicase/u16-is-cased'.
39564         * modules/unicase/u16-is-cased-tests: New file.
39565         * tests/unicase/test-u16-is-cased.c: New file.
39566
39567         Tests for module 'unicase/u8-is-cased'.
39568         * modules/unicase/u8-is-cased-tests: New file.
39569         * tests/unicase/test-u8-is-cased.c: New file.
39570         * tests/unicase/test-is-cased.h: New file.
39571
39572         New module 'unicase/u32-is-cased'.
39573         * lib/unicase/u32-is-cased.c: New file.
39574         * modules/unicase/u32-is-cased: New file.
39575
39576         New module 'unicase/u16-is-cased'.
39577         * lib/unicase/u16-is-cased.c: New file.
39578         * modules/unicase/u16-is-cased: New file.
39579
39580         New module 'unicase/u8-is-cased'.
39581         * lib/unicase/u8-is-cased.c: New file.
39582         * lib/unicase/u-is-cased.h: New file.
39583         * modules/unicase/u8-is-cased: New file.
39584
39585         Tests for module 'unicase/u32-is-casefolded'.
39586         * modules/unicase/u32-is-casefolded-tests: New file.
39587         * tests/unicase/test-u32-is-casefolded.c: New file.
39588
39589         Tests for module 'unicase/u16-is-casefolded'.
39590         * modules/unicase/u16-is-casefolded-tests: New file.
39591         * tests/unicase/test-u16-is-casefolded.c: New file.
39592
39593         Tests for module 'unicase/u8-is-casefolded'.
39594         * modules/unicase/u8-is-casefolded-tests: New file.
39595         * tests/unicase/test-u8-is-casefolded.c: New file.
39596         * tests/unicase/test-is-casefolded.h: New file.
39597
39598         New module 'unicase/u32-is-casefolded'.
39599         * lib/unicase/u32-is-casefolded.c: New file.
39600         * modules/unicase/u32-is-casefolded: New file.
39601
39602         New module 'unicase/u16-is-casefolded'.
39603         * lib/unicase/u16-is-casefolded.c: New file.
39604         * modules/unicase/u16-is-casefolded: New file.
39605
39606         New module 'unicase/u8-is-casefolded'.
39607         * lib/unicase/u8-is-casefolded.c: New file.
39608         * modules/unicase/u8-is-casefolded: New file.
39609
39610         Tests for module 'unicase/u32-is-titlecase'.
39611         * modules/unicase/u32-is-titlecase-tests: New file.
39612         * tests/unicase/test-u32-is-titlecase.c: New file.
39613
39614         Tests for module 'unicase/u16-is-titlecase'.
39615         * modules/unicase/u16-is-titlecase-tests: New file.
39616         * tests/unicase/test-u16-is-titlecase.c: New file.
39617
39618         Tests for module 'unicase/u8-is-titlecase'.
39619         * modules/unicase/u8-is-titlecase-tests: New file.
39620         * tests/unicase/test-u8-is-titlecase.c: New file.
39621         * tests/unicase/test-is-titlecase.h: New file.
39622
39623         New module 'unicase/u32-is-titlecase'.
39624         * lib/unicase/u32-is-titlecase.c: New file.
39625         * modules/unicase/u32-is-titlecase: New file.
39626
39627         New module 'unicase/u16-is-titlecase'.
39628         * lib/unicase/u16-is-titlecase.c: New file.
39629         * modules/unicase/u16-is-titlecase: New file.
39630
39631         New module 'unicase/u8-is-titlecase'.
39632         * lib/unicase/u8-is-titlecase.c: New file.
39633         * modules/unicase/u8-is-titlecase: New file.
39634
39635         Tests for module 'unicase/u32-is-lowercase'.
39636         * modules/unicase/u32-is-lowercase-tests: New file.
39637         * tests/unicase/test-u32-is-lowercase.c: New file.
39638
39639         Tests for module 'unicase/u16-is-lowercase'.
39640         * modules/unicase/u16-is-lowercase-tests: New file.
39641         * tests/unicase/test-u16-is-lowercase.c: New file.
39642
39643         Tests for module 'unicase/u8-is-lowercase'.
39644         * modules/unicase/u8-is-lowercase-tests: New file.
39645         * tests/unicase/test-u8-is-lowercase.c: New file.
39646         * tests/unicase/test-is-lowercase.h: New file.
39647
39648         New module 'unicase/u32-is-lowercase'.
39649         * lib/unicase/u32-is-lowercase.c: New file.
39650         * modules/unicase/u32-is-lowercase: New file.
39651
39652         New module 'unicase/u16-is-lowercase'.
39653         * lib/unicase/u16-is-lowercase.c: New file.
39654         * modules/unicase/u16-is-lowercase: New file.
39655
39656         New module 'unicase/u8-is-lowercase'.
39657         * lib/unicase/u8-is-lowercase.c: New file.
39658         * modules/unicase/u8-is-lowercase: New file.
39659
39660         Tests for module 'unicase/u32-is-uppercase'.
39661         * modules/unicase/u32-is-uppercase-tests: New file.
39662         * tests/unicase/test-u32-is-uppercase.c: New file.
39663
39664         Tests for module 'unicase/u16-is-uppercase'.
39665         * modules/unicase/u16-is-uppercase-tests: New file.
39666         * tests/unicase/test-u16-is-uppercase.c: New file.
39667
39668         Tests for module 'unicase/u8-is-uppercase'.
39669         * modules/unicase/u8-is-uppercase-tests: New file.
39670         * tests/unicase/test-u8-is-uppercase.c: New file.
39671         * tests/unicase/test-is-uppercase.h: New file.
39672
39673         New module 'unicase/u32-is-uppercase'.
39674         * lib/unicase/u32-is-uppercase.c: New file.
39675         * modules/unicase/u32-is-uppercase: New file.
39676
39677         New module 'unicase/u16-is-uppercase'.
39678         * lib/unicase/u16-is-uppercase.c: New file.
39679         * modules/unicase/u16-is-uppercase: New file.
39680
39681         New module 'unicase/u8-is-uppercase'.
39682         * lib/unicase/u8-is-uppercase.c: New file.
39683         * modules/unicase/u8-is-uppercase: New file.
39684
39685         New module 'unicase/u32-is-invariant'.
39686         * lib/unicase/u32-is-invariant.c: New file.
39687         * modules/unicase/u32-is-invariant: New file.
39688
39689         New module 'unicase/u16-is-invariant'.
39690         * lib/unicase/u16-is-invariant.c: New file.
39691         * modules/unicase/u16-is-invariant: New file.
39692
39693         New module 'unicase/u8-is-invariant'.
39694         * lib/unicase/u8-is-invariant.c: New file.
39695         * lib/unicase/invariant.h: New file.
39696         * lib/unicase/u-is-invariant.h: New file.
39697         * modules/unicase/u8-is-invariant: New file.
39698
39699         Tests for module 'unicase/u32-casecoll'.
39700         * modules/unicase/u32-casecoll-tests: New file.
39701         * tests/unicase/test-u32-casecoll.c: New file.
39702
39703         Tests for module 'unicase/u16-casecoll'.
39704         * modules/unicase/u16-casecoll-tests: New file.
39705         * tests/unicase/test-u16-casecoll.c: New file.
39706
39707         Tests for module 'unicase/u8-casecoll'.
39708         * modules/unicase/u8-casecoll-tests: New file.
39709         * tests/unicase/test-u8-casecoll.c: New file.
39710
39711         New module 'unicase/u32-casecoll'.
39712         * lib/unicase/u32-casecoll.c: New file.
39713         * modules/unicase/u32-casecoll: New file.
39714
39715         New module 'unicase/u16-casecoll'.
39716         * lib/unicase/u16-casecoll.c: New file.
39717         * modules/unicase/u16-casecoll: New file.
39718
39719         New module 'unicase/u8-casecoll'.
39720         * lib/unicase/u8-casecoll.c: New file.
39721         * lib/unicase/u-casecoll.h: New file.
39722         * modules/unicase/u8-casecoll: New file.
39723
39724         New module 'unicase/u32-casexfrm'.
39725         * lib/unicase/u32-casexfrm.c: New file.
39726         * modules/unicase/u32-casexfrm: New file.
39727
39728         New module 'unicase/u16-casexfrm'.
39729         * lib/unicase/u16-casexfrm.c: New file.
39730         * modules/unicase/u16-casexfrm: New file.
39731
39732         New module 'unicase/u8-casexfrm'.
39733         * lib/unicase/u8-casexfrm.c: New file.
39734         * lib/unicase/u-casexfrm.h: New file.
39735         * modules/unicase/u8-casexfrm: New file.
39736
39737         Tests for module 'unicase/u32-casecmp'.
39738         * modules/unicase/u32-casecmp-tests: New file.
39739         * tests/unicase/test-u32-casecmp.c: New file.
39740
39741         Tests for module 'unicase/u16-casecmp'.
39742         * modules/unicase/u16-casecmp-tests: New file.
39743         * tests/unicase/test-u16-casecmp.c: New file.
39744
39745         Tests for module 'unicase/u8-casecmp'.
39746         * modules/unicase/u8-casecmp-tests: New file.
39747         * tests/unicase/test-u8-casecmp.c: New file.
39748         * tests/unicase/test-casecmp.h: New file.
39749
39750         New module 'unicase/u32-casecmp'.
39751         * lib/unicase/u32-casecmp.c: New file.
39752         * modules/unicase/u32-casecmp: New file.
39753
39754         New module 'unicase/u16-casecmp'.
39755         * lib/unicase/u16-casecmp.c: New file.
39756         * modules/unicase/u16-casecmp: New file.
39757
39758         New module 'unicase/u8-casecmp'.
39759         * lib/unicase/u8-casecmp.c: New file.
39760         * lib/unicase/u-casecmp.h: New file.
39761         * modules/unicase/u8-casecmp: New file.
39762
39763         Tests for module 'unicase/u32-casefold'.
39764         * modules/unicase/u32-casefold-tests: New file.
39765         * tests/unicase/test-u32-casefold.c: New file.
39766
39767         Tests for module 'unicase/u16-casefold'.
39768         * modules/unicase/u16-casefold-tests: New file.
39769         * tests/unicase/test-u16-casefold.c: New file.
39770
39771         Tests for module 'unicase/u8-casefold'.
39772         * modules/unicase/u8-casefold-tests: New file.
39773         * tests/unicase/test-u8-casefold.c: New file.
39774
39775         New module 'unicase/u32-casefold'.
39776         * lib/unicase/u32-casefold.c: New file.
39777         * modules/unicase/u32-casefold: New file.
39778
39779         New module 'unicase/u16-casefold'.
39780         * lib/unicase/u16-casefold.c: New file.
39781         * modules/unicase/u16-casefold: New file.
39782
39783         New module 'unicase/u8-casefold'.
39784         * lib/unicase/u8-casefold.c: New file.
39785         * lib/unicase/u-casefold.h: New file.
39786         * modules/unicase/u8-casefold: New file.
39787
39788         New module 'unicase/tocasefold'.
39789         * lib/unicase/casefold.h: New file.
39790         * lib/unicase/tocasefold.c: New file.
39791         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
39792         * modules/unicase/tocasefold: New file.
39793
39794         Tests for module 'unicase/u32-totitle'.
39795         * modules/unicase/u32-totitle-tests: New file.
39796         * tests/unicase/test-u32-totitle.c: New file.
39797
39798         Tests for module 'unicase/u16-totitle'.
39799         * modules/unicase/u16-totitle-tests: New file.
39800         * tests/unicase/test-u16-totitle.c: New file.
39801
39802         Tests for module 'unicase/u8-totitle'.
39803         * modules/unicase/u8-totitle-tests: New file.
39804         * tests/unicase/test-u8-totitle.c: New file.
39805
39806         New module 'unicase/u32-totitle'.
39807         * lib/unicase/u32-totitle.c: New file.
39808         * modules/unicase/u32-totitle: New file.
39809
39810         New module 'unicase/u16-totitle'.
39811         * lib/unicase/u16-totitle.c: New file.
39812         * modules/unicase/u16-totitle: New file.
39813
39814         New module 'unicase/u8-totitle'.
39815         * lib/unicase/u8-totitle.c: New file.
39816         * lib/unicase/u-totitle.h: New file.
39817         * modules/unicase/u8-totitle: New file.
39818
39819         Tests for module 'unicase/u32-tolower'.
39820         * modules/unicase/u32-tolower-tests: New file.
39821         * tests/unicase/test-u32-tolower.c: New file.
39822
39823         Tests for module 'unicase/u16-tolower'.
39824         * modules/unicase/u16-tolower-tests: New file.
39825         * tests/unicase/test-u16-tolower.c: New file.
39826
39827         Tests for module 'unicase/u8-tolower'.
39828         * modules/unicase/u8-tolower-tests: New file.
39829         * tests/unicase/test-u8-tolower.c: New file.
39830
39831         New module 'unicase/u32-tolower'.
39832         * lib/unicase/u32-tolower.c: New file.
39833         * modules/unicase/u32-tolower: New file.
39834
39835         New module 'unicase/u16-tolower'.
39836         * lib/unicase/u16-tolower.c: New file.
39837         * modules/unicase/u16-tolower: New file.
39838
39839         New module 'unicase/u8-tolower'.
39840         * lib/unicase/u8-tolower.c: New file.
39841         * modules/unicase/u8-tolower: New file.
39842
39843         Tests for module 'unicase/u32-toupper'.
39844         * modules/unicase/u32-toupper-tests: New file.
39845         * tests/unicase/test-u32-toupper.c: New file.
39846
39847         Tests for module 'unicase/u16-toupper'.
39848         * modules/unicase/u16-toupper-tests: New file.
39849         * tests/unicase/test-u16-toupper.c: New file.
39850
39851         Tests for module 'unicase/u8-toupper'.
39852         * modules/unicase/u8-toupper-tests: New file.
39853         * tests/unicase/test-u8-toupper.c: New file.
39854
39855         New module 'unicase/u32-toupper'.
39856         * lib/unicase/u32-toupper.c: New file.
39857         * modules/unicase/u32-toupper: New file.
39858
39859         New module 'unicase/u16-toupper'.
39860         * lib/unicase/u16-toupper.c: New file.
39861         * modules/unicase/u16-toupper: New file.
39862
39863         New module 'unicase/u8-toupper'.
39864         * lib/unicase/u8-toupper.c: New file.
39865         * modules/unicase/u8-toupper: New file.
39866
39867         New module 'unicase/u32-casemap'.
39868         * lib/unicase/u32-casemap.c: New file.
39869         * modules/unicase/u32-casemap: New file.
39870
39871         New module 'unicase/u16-casemap'.
39872         * lib/unicase/u16-casemap.c: New file.
39873         * modules/unicase/u16-casemap: New file.
39874
39875         New module 'unicase/u8-casemap'.
39876         * lib/unicase/unicasemap.h: New file.
39877         * lib/unicase/u8-casemap.c: New file.
39878         * lib/unicase/u-casemap.h: New file.
39879         * modules/unicase/u8-casemap: New file.
39880
39881         New module 'unicase/special-casing'.
39882         * lib/unicase/special-casing.h: New file.
39883         * lib/unicase/special-casing.c: New file.
39884         * lib/unicase/special-casing-table.gperf: New file, generated by
39885         gen-uni-tables.c.
39886         * modules/unicase/special-casing: New file.
39887
39888         Tests for module 'unicase/locale-language'.
39889         * modules/unicase/locale-language-tests: New file.
39890         * tests/unicase/test-locale-language.sh: New file.
39891         * tests/unicase/test-locale-language.c: New file.
39892
39893         New module 'unicase/locale-language'.
39894         * lib/unicase/locale-language.c: New file.
39895         * lib/unicase/locale-languages.gperf: New file.
39896         * modules/unicase/locale-language: New file.
39897
39898         Generate more tables for case conversion and case folding.
39899         * lib/gen-uni-tables.c (SCC_*): New enum items.
39900         (struct special_casing_rule): New type.
39901         (casing_rules, num_casing_rules, allocated_casing_rules): New
39902         variables.
39903         (add_casing_rule, fill_casing_rules): New functions.
39904         (struct casefold_rule): New type.
39905         (casefolding_rules, num_casefolding_rules,
39906         allocated_casefolding_rules): New variables.
39907         (fill_casefolding_rules): New function.
39908         (unicode_casefold): New variable.
39909         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
39910         sort_casing_rules, output_casing_rules): New functions.
39911         (main): Accept to more arguments: SpecialCasing.txt and
39912         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
39913         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
39914         Output mapping for casefolding.
39915
39916         * lib/unicase.h: Include stdbool.h, uninorm.h.
39917         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
39918         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
39919         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
39920         arguments.
39921         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
39922         resultp arguments.
39923         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
39924         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
39925         resultp arguments.
39926         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
39927         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
39928         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
39929         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
39930         declarations.
39931         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
39932
39933 2009-03-08  Bruno Haible  <bruno@clisp.org>
39934
39935         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
39936         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
39937         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
39938         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
39939
39940 2009-03-07  Bruno Haible  <bruno@clisp.org>
39941
39942         Adjust u*_normcmp, u*_normcoll API.
39943         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
39944         u16_normcoll, u32_normcoll): Change failure conventions.
39945         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
39946         errno and return -1.
39947         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
39948
39949 2009-03-07  Bruno Haible  <bruno@clisp.org>
39950
39951         Tests for module 'uninorm/u32-normcoll'.
39952         * modules/uninorm/u32-normcoll-tests: New file.
39953         * tests/uninorm/test-u32-normcoll.c: New file.
39954
39955         Tests for module 'uninorm/u16-normcoll'.
39956         * modules/uninorm/u16-normcoll-tests: New file.
39957         * tests/uninorm/test-u16-normcoll.c: New file.
39958
39959         Tests for module 'uninorm/u8-normcoll'.
39960         * modules/uninorm/u8-normcoll-tests: New file.
39961         * tests/uninorm/test-u8-normcoll.c: New file.
39962
39963 2009-03-07  Bruno Haible  <bruno@clisp.org>
39964
39965         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
39966         tests/uninorm/test-u32-normcmp.c.
39967         * tests/uninorm/test-u32-normcmp.c: Include it.
39968         (test_nonascii): New function, extracted from main. Add some more
39969         tests.
39970         (main): Invoke test_ascii and test_nonascii.
39971         * modules/uninorm/u32-normcmp-tests (Files): Add
39972         tests/uninorm/test-u32-normcmp.h.
39973         (Depends-on): Remove uninorm/u32-normcmp.
39974
39975         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
39976         tests/uninorm/test-u16-normcmp.c.
39977         * tests/uninorm/test-u16-normcmp.c: Include it.
39978         (test_nonascii): New function, extracted from main. Add some more
39979         tests.
39980         (main): Invoke test_ascii and test_nonascii.
39981         * modules/uninorm/u16-normcmp-tests (Files): Add
39982         tests/uninorm/test-u16-normcmp.h.
39983         (Depends-on): Remove uninorm/u16-normcmp.
39984
39985         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
39986         tests/uninorm/test-u8-normcmp.c.
39987         * tests/uninorm/test-u8-normcmp.c: Include it.
39988         (test_nonascii): New function, extracted from main. Add some more
39989         tests.
39990         (main): Invoke test_ascii and test_nonascii.
39991         * modules/uninorm/u8-normcmp-tests (Files): Add
39992         tests/uninorm/test-u8-normcmp.h.
39993         (Depends-on): Remove uninorm/u8-normcmp.
39994
39995 2009-03-07  Bruno Haible  <bruno@clisp.org>
39996
39997         New module 'uninorm/u32-normcoll'.
39998         * lib/uninorm/u32-normcoll.c: New file.
39999         * modules/uninorm/u32-normcoll: New file.
40000
40001         New module 'uninorm/u16-normcoll'.
40002         * lib/uninorm/u16-normcoll.c: New file.
40003         * modules/uninorm/u16-normcoll: New file.
40004
40005         New module 'uninorm/u8-normcoll'.
40006         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
40007         declarations.
40008         * lib/uninorm/u8-normcoll.c: New file.
40009         * lib/uninorm/u-normcoll.h: New file.
40010         * modules/uninorm/u8-normcoll: New file.
40011
40012         New module 'uninorm/u32-normxfrm'.
40013         * lib/uninorm/u32-normxfrm.c: New file.
40014         * modules/uninorm/u32-normxfrm: New file.
40015
40016         New module 'uninorm/u16-normxfrm'.
40017         * lib/uninorm/u16-normxfrm.c: New file.
40018         * modules/uninorm/u16-normxfrm: New file.
40019
40020         New module 'uninorm/u8-normxfrm'.
40021         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
40022         declarations.
40023         * lib/uninorm/u8-normxfrm.c: New file.
40024         * lib/uninorm/u-normxfrm.h: New file.
40025         * modules/uninorm/u8-normxfrm: New file.
40026
40027 2009-03-07  Bruno Haible  <bruno@clisp.org>
40028
40029         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
40030         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
40031         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
40032
40033 2009-03-07  Bruno Haible  <bruno@clisp.org>
40034
40035         New module 'memxfrm'.
40036         * lib/memxfrm.h: New file.
40037         * lib/memxfrm.c: New file.
40038         * modules/memxfrm: New file.
40039
40040 2009-03-07  Bruno Haible  <bruno@clisp.org>
40041
40042         New module 'memcmp2'.
40043         * lib/memcmp2.h: New file.
40044         * lib/memcmp2.c: New file.
40045         * modules/memcmp2: New file.
40046
40047 2009-03-07  Bruno Haible  <bruno@clisp.org>
40048
40049         Tests for module 'uninorm/decomposing-form'.
40050         * modules/uninorm/decomposing-form-tests: New file.
40051         * tests/uninorm/test-decomposing-form.c: New file.
40052
40053         New module 'uninorm/decomposing-form'.
40054         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
40055         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
40056         Add 'decomposing_variant' field.
40057         * lib/uninorm/decomposing-form.c: New file.
40058         * lib/uninorm/nfc.c (uninorm_nfc): Update.
40059         * lib/uninorm/nfd.c (uninorm_nfd): Update.
40060         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
40061         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
40062         * modules/uninorm/decomposing-form: New file.
40063         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
40064         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
40065
40066 2009-03-07  Bruno Haible  <bruno@clisp.org>
40067
40068         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
40069         strings.
40070
40071 2009-03-06  Bruno Haible  <bruno@clisp.org>
40072
40073         Tests for module 'uninorm/u32-normcmp'.
40074         * tests/uninorm/test-u32-normcmp.c: New file.
40075         * modules/uninorm/u32-normcmp-tests: New file.
40076
40077         Tests for module 'uninorm/u16-normcmp'.
40078         * tests/uninorm/test-u16-normcmp.c: New file.
40079         * modules/uninorm/u16-normcmp-tests: New file.
40080
40081         Tests for module 'uninorm/u8-normcmp'.
40082         * tests/uninorm/test-u8-normcmp.c: New file.
40083         * modules/uninorm/u8-normcmp-tests: New file.
40084
40085         New module 'uninorm/u32-normcmp'.
40086         * lib/uninorm/u32-normcmp.c: New file.
40087         * modules/uninorm/u32-normcmp: New file.
40088
40089         New module 'uninorm/u16-normcmp'.
40090         * lib/uninorm/u16-normcmp.c: New file.
40091         * modules/uninorm/u16-normcmp: New file.
40092
40093         New module 'uninorm/u8-normcmp'.
40094         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
40095         declarations.
40096         * lib/uninorm/u8-normcmp.c: New file.
40097         * lib/uninorm/u-normcmp.h: New file.
40098         * modules/uninorm/u8-normcmp: New file.
40099
40100 2009-03-06  Bruno Haible  <bruno@clisp.org>
40101
40102         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
40103         Reported by Eric Blake.
40104
40105 2009-03-06  Eric Blake  <ebb9@byu.net>
40106             Bruno Haible  <bruno@clisp.org>
40107
40108         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
40109         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
40110         condition.
40111         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
40112         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
40113         condition.
40114         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
40115
40116 2009-03-06  Eric Blake  <ebb9@byu.net>
40117
40118         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
40119         to avoid compiler warnings.
40120         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
40121
40122 2009-03-05  Bruno Haible  <bruno@clisp.org>
40123
40124         * tests/test-ftell.c (main): Disable test beyond end of file on
40125         FreeMiNT.
40126         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
40127
40128 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
40129
40130         * lib/filevercmp.c: Move hidden files up in ordering.
40131         * tests/test-filevercmp.c: Add tests for hidden files.
40132
40133 2009-03-04  Bruno Haible  <bruno@clisp.org>
40134
40135         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
40136         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
40137         AM_CFLAGS.
40138         Reported by Simon Josefsson.
40139
40140 2009-03-03  Bruno Haible  <bruno@clisp.org>
40141
40142         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
40143         Reported by Simon Josefsson.
40144
40145         * doc/ld-version-script.texi: Update node reference.
40146
40147 2009-03-03  Bruno Haible  <bruno@clisp.org>
40148
40149         * modules/visibility (License): Change to 'unlimited'.
40150         Suggested by Simon Josefsson.
40151
40152 2009-03-03  Jim Meyering  <meyering@redhat.com>
40153
40154         unlinkdir: cannot_unlink_dir may modify process state
40155         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
40156         it's neither thread-safe nor appropriate for use in a library.
40157
40158 2009-03-03  Eric Blake  <ebb9@byu.net>
40159
40160         test-closein: silence test under Darwin
40161         * tests/test-closein.sh: Ignore stderr from cat, since we don't
40162         care if it dies from EPIPE or EBADF.
40163
40164 2009-03-03  Bruno Haible  <bruno@clisp.org>
40165
40166         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
40167         earlier.
40168         * doc/visibility.texi: Fix @node and @section.
40169
40170 2009-03-03  Simon Josefsson  <simon@josefsson.org>
40171
40172         * doc/gnulib.texi: Link to sections for ld version script and
40173         visibility.
40174         * doc/visibility.texi: Add @node and @section.
40175         * modules/ld-version-script: New module.
40176         * m4/ld-version-script.m4: New file.
40177         * doc/ld-version-script.texi: New file.
40178
40179 2009-03-02  David Lutterkort  <lutter@redhat.com>
40180
40181         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
40182         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40183
40184 2009-03-02  Bruno Haible  <bruno@clisp.org>
40185
40186         * doc/visibility.texi: Mention libtool's -export-symbols option.
40187
40188 2009-03-02  Jim Meyering  <meyering@redhat.com>
40189
40190         announce-gen: new option: --no-print-checksums
40191         * build-aux/announce-gen (usage): Describe it.
40192         (print_checksums): Print a newline here, not in the [*] footnote.
40193         (main): Honor it.
40194
40195 2009-03-01  Bruno Haible  <bruno@clisp.org>
40196
40197         Use socklen_t in the native Windows replacements prototypes.
40198         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
40199         instead of 'int'.
40200         * lib/getsockopt.c (rpl_getsockopt): Likewise.
40201         * lib/setsockopt.c (rpl_setsockopt): Likewise.
40202         * modules/getsockopt (Depends-on): Add socklen.
40203         * modules/setsockopt (Depends-on): Add socklen.
40204
40205 2009-03-01  Bruno Haible  <bruno@clisp.org>
40206
40207         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
40208         least 4.2.
40209
40210 2009-03-01  Eric Blake  <ebb9@byu.net>
40211             Bruno Haible  <bruno@clisp.org>
40212
40213         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
40214         error messages.
40215         * lib/wait-process.c (wait_subprocess): Omit error message about
40216         deadly signal sent to the child of termsigp != NULL.
40217
40218 2009-03-01  Eric Blake  <ebb9@byu.net>
40219
40220         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
40221
40222 2009-03-01  Bruno Haible  <bruno@clisp.org>
40223
40224         Avoid a gcc warning.
40225         * tests/test-sched.c (b): Make global.
40226         Reported by Eric Blake.
40227
40228 2009-01-19  Martin Lambers  <marlam@marlam.de>
40229
40230         Provide POSIX semantics for socket timeout options on W32.
40231         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
40232         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
40233         * modules/setsockopt: Depend on sys_time module for struct timeval.
40234         * modules/getsockopt: Depend on sys_time module for struct timeval.
40235
40236 2009-03-01  Simon Josefsson  <simon@josefsson.org>
40237
40238         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
40239         __USE_GNU, for consistency with netdb.in.h.
40240         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
40241
40242 2009-03-01  Bruno Haible  <bruno@clisp.org>
40243
40244         More support for FreeMiNT.
40245         * lib/fseeko.c (rpl_fseeko): Complete last commit.
40246         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
40247
40248 2009-03-01  Bruno Haible  <bruno@clisp.org>
40249
40250         More support for FreeMiNT.
40251         * lib/fpurge.c (fpurge): Correct last commit.
40252         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
40253
40254 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40255
40256         Fix unportable awk script in vc-list-files.
40257         * build-aux/vc-list-files: In the replacement awk script, use
40258         substr with a second argument of 1, not zero.
40259         Report by Simon Josefsson.
40260
40261 2009-02-28  Bruno Haible  <bruno@clisp.org>
40262
40263         More support for FreeMiNT.
40264         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
40265         to FreeMiNT today.
40266         * lib/fwriting.c (fwriting): Likewise.
40267         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
40268
40269 2009-02-28  Bruno Haible  <bruno@clisp.org>
40270
40271         * tests/test-freadseek.c (main): Disable test beyond end of file on
40272         FreeMiNT.
40273         * tests/test-ftello.c (main): Likewise.
40274         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
40275
40276 2009-02-28  Bruno Haible  <bruno@clisp.org>
40277
40278         Add tentative support for FreeMiNT.
40279         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
40280         * lib/fpurge.c (fpurge): Likewise.
40281         * lib/freadable.c (freadable): Likewise.
40282         * lib/freading.c (freading): Likewise.
40283         * lib/freadptr.c (freadptr): Likewise.
40284         * lib/freadseek.c (freadptrinc): Likewise.
40285         * lib/fseeko.c (rpl_fseeko): Likewise.
40286         * lib/fseterr.c (fseterr): Likewise.
40287         * lib/fwritable.c (fwritable): Likewise.
40288         * lib/fwriting.c (fwriting): Likewise.
40289         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
40290         Hourihane.
40291         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
40292
40293 2009-02-28  Bruno Haible  <bruno@clisp.org>
40294
40295         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
40296         SIGCHLD.
40297         Reported by Jim Meyering.
40298
40299 2009-02-28  Bruno Haible  <bruno@clisp.org>
40300
40301         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
40302         Mention the results of these tests on various platforms.
40303         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
40304         order.
40305         * doc/posix-functions/printf.texi: Likewise.
40306         * doc/posix-functions/snprintf.texi: Likewise.
40307         * doc/posix-functions/sprintf.texi: Likewise.
40308         * doc/posix-functions/vfprintf.texi: Likewise.
40309         * doc/posix-functions/vprintf.texi: Likewise.
40310         * doc/posix-functions/vsnprintf.texi: Likewise.
40311         * doc/posix-functions/vsprintf.texi: Likewise.
40312         * doc/glibc-functions/obstack_printf.texi: Likewise.
40313         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
40314
40315 2009-02-28  Bruno Haible  <bruno@clisp.org>
40316
40317         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
40318         Reported by Loïc Minier <lool@dooz.org>.
40319
40320 2009-02-27  Bruno Haible  <bruno@clisp.org>
40321
40322         * gnulib-tool (func_import): Make the sed expression used to create the
40323         sed script for updating the .gitignore file POSIX compliant.
40324         Reported by Eric Blake.
40325
40326 2009-02-27  Bruno Haible  <bruno@clisp.org>
40327
40328         * gnulib-tool (sed): Don't alias as "sed --posix".
40329         Reported by Eric Blake.
40330
40331 2009-02-27  Bruno Haible  <bruno@clisp.org>
40332
40333         Avoid test link errors.
40334         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
40335         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
40336         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
40337         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
40338         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40339
40340 2009-02-27  Bruno Haible  <bruno@clisp.org>
40341
40342         Avoid spurious "(cached)" in configure output.
40343         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
40344         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
40345         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
40346         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
40347         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
40348         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
40349         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
40350         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
40351         Reported by Eric Blake.
40352
40353 2009-02-27  Eric Blake  <ebb9@byu.net>
40354
40355         printf: fix regression in previous patch
40356         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
40357
40358 2009-02-27  Bruno Haible  <bruno@clisp.org>
40359
40360         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
40361         value.
40362         * lib/stdint.in.h: Likewise.
40363         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
40364
40365 2009-02-27  Eric Blake  <ebb9@byu.net>
40366
40367         doc: mention more functions added in cygwin 1.7.0
40368         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
40369         addition.
40370         * doc/posix-functions/open_wmemstream.texi: Likewise.
40371         * doc/posix-functions/wcsnlen.texi: Likewise.
40372         * doc/posix-functions/wcsnrtombs.texi: Likewise.
40373         * doc/posix-functions/wcstod.texi: Likewise.
40374         * doc/posix-functions/wcstof.texi: Likewise.
40375         * doc/posix-functions/wcstoimax.texi: Likewise.
40376         * doc/posix-functions/wcstok.texi: Likewise.
40377         * doc/posix-functions/wcstoumax.texi: Likewise.
40378
40379         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
40380         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
40381         * doc/posix-functions/fprintf.texi: Update.
40382         * doc/posix-functions/printf.texi: Update.
40383         * doc/posix-functions/snprintf.texi: Update.
40384         * doc/posix-functions/sprintf.texi: Update.
40385         * doc/posix-functions/vfprintf.texi: Update.
40386         * doc/posix-functions/vprintf.texi: Update.
40387         * doc/posix-functions/vsnprintf.texi: Update.
40388         * doc/posix-functions/vsprintf.texi: Update.
40389         * doc/glibc-functions/obstack_printf.texi: Update.
40390         * doc/glibc-functions/obstack_vprintf.texi: Update.
40391
40392 2009-02-26  Eric Blake  <ebb9@byu.net>
40393
40394         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
40395         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
40396         compilation bug by using runtime conversion.
40397         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
40398         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
40399         * modules/ceill-tests (Files): Use nan.h.
40400         * modules/floorl-tests (Files): Likewise.
40401         * modules/frexpl-tests (Files): Likewise.
40402         * modules/isnanl-tests (Files): Likewise.
40403         * modules/ldexpl-tests (Files): Likewise.
40404         * modules/roundl-tests (Files): Likewise.
40405         * modules/truncl-tests (Files): Likewise.
40406         * tests/test-ceill.c (main): Use a working NaN.
40407         * tests/test-floorl.c (main): Likewise.
40408         * tests/test-frexpl.c (main): Likewise.
40409         * tests/test-isnan.c (test_long_double): Likewise.
40410         * tests/test-isnanl.h (main): Likewise.
40411         * tests/test-ldexpl.h (main): Likewise.
40412         * tests/test-roundl.h (main): Likewise.
40413         * tests/test-truncl.h (main): Likewise.
40414         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
40415
40416 2009-02-26  Eric Blake  <ebb9@byu.net>
40417             Bruno Haible  <bruno@clisp.org>
40418
40419         Work around a *printf bug with %ls on Solaris.
40420         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
40421         precision is specified, sprintf stops converting the wide string
40422         argument when the number of bytes that have been produced by this
40423         conversion equals or exceeds the precision.
40424         * doc/posix-functions/fprintf.texi: Update.
40425         * doc/posix-functions/printf.texi: Update.
40426         * doc/posix-functions/snprintf.texi: Update.
40427         * doc/posix-functions/sprintf.texi: Update.
40428         * doc/posix-functions/vfprintf.texi: Update.
40429         * doc/posix-functions/vprintf.texi: Update.
40430         * doc/posix-functions/vsnprintf.texi: Update.
40431         * doc/posix-functions/vsprintf.texi: Update.
40432         * doc/glibc-functions/obstack_printf.texi: Update.
40433         * doc/glibc-functions/obstack_vprintf.texi: Update.
40434
40435 2009-02-26  Eric Blake  <ebb9@byu.net>
40436
40437         stdlib: favor compiler check of random.h
40438         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
40439         to avoid an ObjC random.h installed by Swarm.
40440
40441 2009-02-26  Bruno Haible  <bruno@clisp.org>
40442
40443         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
40444         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
40445         Reported by Gary V. Vaughan <gary@gnu.org>.
40446
40447 2009-02-26  Bruno Haible  <bruno@clisp.org>
40448
40449         Fix *printf behaviour regarding the %ls directive.
40450         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
40451         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
40452         NEED_PRINTF_DIRECTIVE_LS.
40453         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
40454         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
40455         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
40456         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
40457         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
40458         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
40459         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
40460         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
40461         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
40462         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
40463         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
40464         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
40465         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
40466         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
40467         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
40468         * doc/posix-functions/fprintf.texi: Update.
40469         * doc/posix-functions/printf.texi: Update.
40470         * doc/posix-functions/snprintf.texi: Update.
40471         * doc/posix-functions/sprintf.texi: Update.
40472         * doc/posix-functions/vfprintf.texi: Update.
40473         * doc/posix-functions/vprintf.texi: Update.
40474         * doc/posix-functions/vsnprintf.texi: Update.
40475         * doc/posix-functions/vsprintf.texi: Update.
40476         * doc/glibc-functions/obstack_printf.texi: Update.
40477         * doc/glibc-functions/obstack_vprintf.texi: Update.
40478         Reported by Eric Blake.
40479
40480 2009-02-25  Bruno Haible  <bruno@clisp.org>
40481
40482         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
40483         with known value.
40484         Reported by Gary V. Vaughan <gary@gnu.org>.
40485
40486 2009-02-25  Bruno Haible  <bruno@clisp.org>
40487
40488         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
40489         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
40490         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
40491         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
40492         Reported by Gary V. Vaughan <gary@gnu.org>.
40493
40494 2009-02-25  Bruno Haible  <bruno@clisp.org>
40495
40496         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
40497         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
40498         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
40499         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
40500         Reported by Gary V. Vaughan <gary@gnu.org>.
40501
40502 2009-02-25  Eric Blake  <ebb9@byu.net>
40503
40504         tests: skip fseek/ftell tests if ungetc is broken
40505         * m4/ungetc.m4: New file.
40506         * modules/fseek-tests: Split test, so ungetc dependency is
40507         separate from rest of test.
40508         * modules/fseeko-tests: Likewise.
40509         * modules/ftell-tests: Likewise.
40510         * modules/ftello-tests: Likewise.
40511         * tests/test-fseek.c (main): Isolate ungetc dependency.
40512         * tests/test-fseeko.c (main): Likewise.
40513         * tests/test-ftell.c (main): Likewise.
40514         * tests/test-ftello.c (main): Likewise.
40515         * tests/test-fseek2.sh: New file.
40516         * tests/test-fseeko2.sh: Likewise.
40517         * tests/test-ftell2.sh: Likewise.
40518         * tests/test-ftello2.sh: Likewise.
40519
40520 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
40521
40522         test-getaddrinfo: fix usage of skip return code 77
40523         * tests/test-gettaddrinfo.c: Return skip code 77 only
40524         for first occurance of skip (4x77 is not 77)
40525
40526 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
40527
40528         strtod: avoid C99 decl-after-statement
40529         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
40530
40531 2009-02-24  Eric Blake  <ebb9@byu.net>
40532
40533         strtod: detect HP-UX 11.31 bug
40534         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
40535         Reported by Gary V. Vaughan.
40536
40537 2009-02-23  Bruno Haible  <bruno@clisp.org>
40538
40539         Fix invalid read past end of memory block.
40540         * lib/vasnprintf.c (DCHAR_SET): Define.
40541         (local_wcslen): Define only when needed.
40542         (local_strnlen, local_wcsnlen): New functions.
40543         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
40544         directives that involve a conversion ourselves.
40545         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
40546         wcsnlen, mbrtowc, wcrtomb.
40547         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
40548         * tests/test-vasprintf-posix.c (test_function): Likewise.
40549         * tests/test-snprintf-posix.h (test_function): Likewise.
40550         * tests/test-sprintf-posix.h (test_function): Likewise.
40551         Reported by Ben Pfaff <blp@cs.stanford.edu>.
40552
40553 2009-02-22  Bruno Haible  <bruno@clisp.org>
40554
40555         Implement new clarified decomposition of Hangul syllables.
40556         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
40557         of type LTV, return only a pairwise decomposition.
40558         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
40559         Likewise.
40560         * tests/uninorm/test-decomposition.c (main): Updated expected result.
40561         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
40562         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
40563
40564 2009-02-22  Bruno Haible  <bruno@clisp.org>
40565
40566         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
40567         zero-length results and shrink excess allocated memory.
40568         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
40569         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
40570         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
40571         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
40572         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
40573         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
40574         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
40575         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
40576         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
40577         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
40578         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
40579         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
40580
40581 2009-02-21  Bruno Haible  <bruno@clisp.org>
40582
40583         * doc/gnulib.texi: Include safe-alloc.texi earlier.
40584         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
40585         spaces after a period. Put a space between a macro name and its
40586         argument list. Trivial rewordings.
40587         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
40588         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
40589         (main): Return 0 explicitly.
40590
40591 2009-02-21  Bruno Haible  <bruno@clisp.org>
40592
40593         Tests for module 'uninorm/filter'.
40594         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
40595         * modules/uninorm/filter-tests: New file.
40596
40597         New module 'uninorm/filter'.
40598         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
40599         uninorm_filter_flush, uninorm_filter_free): New declarations.
40600         * lib/uninorm/uninorm-filter.c: New file.
40601         * modules/uninorm/filter: New file.
40602
40603 2009-02-21  Bruno Haible  <bruno@clisp.org>
40604
40605         Tests for module 'uninorm/nfkc'.
40606         * tests/uninorm/test-nfkc.c: New file.
40607         * tests/uninorm/test-u8-nfkc.c: New file.
40608         * tests/uninorm/test-u16-nfkc.c: New file.
40609         * tests/uninorm/test-u32-nfkc.c: New file.
40610         * tests/uninorm/test-u32-nfkc-big.sh: New file.
40611         * tests/uninorm/test-u32-nfkc-big.c: New file.
40612         * modules/uninorm/nfkc-tests: New file.
40613
40614         New module 'uninorm/nfkc'.
40615         * lib/uninorm/nfkc.c: New file.
40616         * modules/uninorm/nfkc: New file.
40617
40618         Tests for module 'uninorm/nfkd'.
40619         * tests/uninorm/test-nfkd.c: New file.
40620         * tests/uninorm/test-u8-nfkd.c: New file.
40621         * tests/uninorm/test-u16-nfkd.c: New file.
40622         * tests/uninorm/test-u32-nfkd.c: New file.
40623         * tests/uninorm/test-u32-nfkd-big.sh: New file.
40624         * tests/uninorm/test-u32-nfkd-big.c: New file.
40625         * modules/uninorm/nfkd-tests: New file.
40626
40627         New module 'uninorm/nfkd'.
40628         * lib/uninorm/nfkd.c: New file.
40629         * modules/uninorm/nfkd: New file.
40630
40631         Tests for module 'uninorm/nfc'.
40632         * tests/uninorm/test-nfc.c: New file.
40633         * tests/uninorm/test-u8-nfc.c: New file.
40634         * tests/uninorm/test-u16-nfc.c: New file.
40635         * tests/uninorm/test-u32-nfc.c: New file.
40636         * tests/uninorm/test-u32-nfc-big.sh: New file.
40637         * tests/uninorm/test-u32-nfc-big.c: New file.
40638         * modules/uninorm/nfc-tests: New file.
40639
40640         New module 'uninorm/nfc'.
40641         * lib/uninorm/nfc.c: New file.
40642         * modules/uninorm/nfc: New file.
40643
40644         Tests for module 'uninorm/nfd'.
40645         * tests/uninorm/test-nfd.c: New file.
40646         * tests/uninorm/test-u8-nfd.c: New file.
40647         * tests/uninorm/test-u16-nfd.c: New file.
40648         * tests/uninorm/test-u32-nfd.c: New file.
40649         * tests/uninorm/test-u32-nfd-big.sh: New file.
40650         * tests/uninorm/test-u32-nfd-big.c: New file.
40651         * tests/uninorm/test-u32-normalize-big.h: New file.
40652         * tests/uninorm/test-u32-normalize-big.c: New file.
40653         * tests/uninorm/NormalizationTest.txt: New file, created from
40654         Unicode 5.1.0 NormalizationTest.txt.
40655         * modules/uninorm/nfd-tests: New file.
40656
40657         New module 'uninorm/nfd'.
40658         * lib/uninorm/nfd.c: New file.
40659         * modules/uninorm/nfd: New file.
40660
40661         New module 'uninorm/u32-normalize'.
40662         * lib/uninorm/u32-normalize.c: New file.
40663         * modules/uninorm/u32-normalize: New file.
40664
40665         New module 'uninorm/u16-normalize'.
40666         * lib/uninorm/u16-normalize.c: New file.
40667         * modules/uninorm/u16-normalize: New file.
40668
40669         New module 'uninorm/u8-normalize'.
40670         * lib/uninorm/u8-normalize.c: New file.
40671         * lib/uninorm/normalize-internal.h: New file.
40672         * lib/uninorm/u-normalize-internal.h: New file.
40673         * modules/uninorm/u8-normalize: New file.
40674
40675         New module 'uninorm/decompose-internal'.
40676         * lib/uninorm/decompose-internal.c: New file.
40677         * modules/uninorm/decompose-internal: New file.
40678
40679         Tests for module 'uninorm/composition'.
40680         * tests/uninorm/test-composition.c: New file.
40681         * modules/uninorm/composition-tests: New file.
40682
40683         New module 'uninorm/composition'.
40684         * lib/uninorm/composition.c: New file.
40685         * lib/uninorm/composition-table.gperf: New file, generated by
40686         gen-uni-tables.
40687         * modules/uninorm/composition: New file.
40688
40689         Tests for module 'uninorm/compat-decomposition'.
40690         * tests/uninorm/test-compat-decomposition.c: New file.
40691         * modules/uninorm/compat-decomposition-tests: New file.
40692
40693         New module 'uninorm/compat-decomposition'.
40694         * lib/uninorm/decompose-internal.h: New file.
40695         * lib/uninorm/compat-decomposition.c: New file.
40696         * modules/uninorm/compat-decomposition: New file.
40697
40698         Tests for module 'uninorm/canonical-decomposition'.
40699         * tests/uninorm/test-canonical-decomposition.c: New file.
40700         * modules/uninorm/canonical-decomposition-tests: New file.
40701
40702         New module 'uninorm/canonical-decomposition'.
40703         * lib/uninorm/canonical-decomposition.c: New file.
40704         * modules/uninorm/canonical-decomposition: New file.
40705
40706         Tests for module 'uninorm/decomposition'.
40707         * tests/uninorm/test-decomposition.c: New file.
40708         * modules/uninorm/decomposition-tests: New file.
40709
40710         New module 'uninorm/decomposition'.
40711         * lib/uninorm/decomposition.c: New file.
40712         * modules/uninorm/decomposition: New file.
40713
40714         New module 'uninorm/decomposition-table'.
40715         * lib/uninorm/decomposition-table.h: New file.
40716         * lib/uninorm/decomposition-table.c: New file.
40717         * lib/uninorm/decomposition-table1.h: New file, generated by
40718         gen-uni-tables.
40719         * lib/uninorm/decomposition-table2.h: New file, generated by
40720         gen-uni-tables.
40721         * modules/uninorm/decomposition-table: New file.
40722
40723         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
40724         (UC_DECOMP_*): New enumeration items.
40725         (get_decomposition): New function.
40726         (struct decomp_table): New type.
40727         (output_decomposition, output_decomposition_tables): New functions.
40728         (unicode_composition_exclusions): New variable.
40729         (fill_composition_exclusions, debug_output_composition_tables): New
40730         functions.
40731         (main): Accept one more argument. Invoke fill_composition_exclusions.
40732         Output decomposition and composition tables.
40733
40734         New module 'uninorm/base'.
40735         * lib/uninorm.h: New file.
40736         * lib/unictype.h: Update comment.
40737         * modules/uninorm/base: New file.
40738
40739 2009-02-21  David Lutterkort  <lutter@redhat.com>
40740
40741         Tests for module 'safe-alloc'.
40742         * tests/test-safe-alloc.c: New file.
40743         * modules/safe-alloc-tests: New file.
40744
40745         New module 'safe-alloc'.
40746         * lib/safe-alloc.h: New file.
40747         * lib/safe-alloc.c: New file.
40748         * m4/safe-alloc.m4: New file.
40749         * modules/safe-alloc: New file.
40750         * doc/safe-alloc.texi: New file.
40751         * doc/gnulib.texi: Include it.
40752         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
40753         safe-alloc.
40754
40755 2009-02-18  Bruno Haible  <bruno@clisp.org>
40756
40757         Fix link error on non-glibc systems.
40758         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
40759         variable.
40760         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40761
40762 2009-02-18  Jim Meyering  <meyering@redhat.com>
40763
40764         fts: avoid used-uninitialized error due to recent change
40765         * lib/fts.c (fts_read): Guard uses of the new member,
40766         parent->fts_n_dirs_remaining, since it's not relevant for
40767         the parent of a directory specified on the command-line.
40768
40769 2009-02-17  James Youngman  <jay@gnu.org>
40770             Bruno Haible  <bruno@clisp.org>
40771
40772         * m4/include_next.m4: Reformulate comment.
40773
40774 2009-02-16  Jim Meyering  <meyering@redhat.com>
40775
40776         fts: add #if guards so that the fts_lgpl module still builds
40777         * lib/fts.c: Guard just-added hash-table-using parts with
40778         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
40779         Reported by Simon Josefsson.
40780
40781 2009-02-15  Bruno Haible  <bruno@clisp.org>
40782
40783         * modules/array-mergesort-tests: New file.
40784         * tests/test-array-mergesort.c: New file.
40785
40786         New module 'array-mergesort'.
40787         * modules/array-mergesort: New file.
40788         * lib/array-mergesort.h: New file.
40789
40790 2009-02-15  Bruno Haible  <bruno@clisp.org>
40791
40792         Fix 2009-02-07 commit.
40793         * lib/gen-uni-tables.c (output_predicate, output_category,
40794         output_combclass, output_bidi_category, output_decimal_digit,
40795         output_digit, output_numeric, output_mirror, output_scripts,
40796         output_ident_category, output_simple_mapping): Fix format directives.
40797         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
40798
40799 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
40800
40801         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
40802         fixes are available from IBM.
40803
40804 2009-02-13  Jim Meyering  <meyering@redhat.com>
40805
40806         fts: arrange not to stat non-directories in more cases
40807         This makes GNU find (when it doesn't need to stat each file)
40808         *much* more efficient at traversing reiserfs file systems.
40809         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
40810         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
40811         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
40812         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
40813         (leaf_optimization_applies): New function.
40814         (LCO_hash, LCO_compare): New helper functions.
40815         (link_count_optimize_ok): New function.
40816         (fts_stat): Initialize new member (if dir).
40817         (fts_read): Decrement parent's fts_n_dirs_remaining count if
40818         we've just stat'ed a directory.  Skip the stat call when possible.
40819         ---
40820         Note this AFS-related exchange:
40821         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
40822         and note find's pioctl call in find/fstype.c.
40823         But that is necessary only if you want to enable the
40824         optimization for AFS, and for now, I don't.
40825
40826         fts: move a function definition "up" (no semantic change)
40827         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
40828         "up" to precede upcoming use of a related function.
40829
40830 2009-02-11  Jim Meyering  <meyering@redhat.com>
40831
40832         fts: correct internal computation of nlinks (optimization-related)
40833         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
40834         whether the current entry is a directory, so don't test it.
40835
40836 2009-02-10  Bruno Haible  <bruno@clisp.org>
40837
40838         Tests for module 'uniwbrk/ulc-wordbreaks'.
40839         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
40840         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
40841         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
40842
40843         Tests for module 'uniwbrk/u32-wordbreaks'.
40844         * modules/uniwbrk/u32-wordbreaks-tests: New file.
40845         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
40846
40847         Tests for module 'uniwbrk/u16-wordbreaks'.
40848         * modules/uniwbrk/u16-wordbreaks-tests: New file.
40849         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
40850
40851         Tests for module 'uniwbrk/u8-wordbreaks'.
40852         * modules/uniwbrk/u8-wordbreaks-tests: New file.
40853         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
40854
40855 2009-02-10  Bruno Haible  <bruno@clisp.org>
40856
40857         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
40858         property.
40859         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
40860         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
40861         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
40862
40863 2009-02-10  Simon Josefsson  <simon@josefsson.org>
40864
40865         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
40866         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
40867
40868 2009-02-10  Bruno Haible  <bruno@clisp.org>
40869
40870         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
40871         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
40872         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
40873         * lib/unilbrk/u8-possible-linebreaks.c: Update.
40874         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
40875         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
40876
40877 2009-02-09  Simon Josefsson  <simon@josefsson.org>
40878
40879         * lib/sockets.h (gl_fd_to_handle): New function.
40880
40881         * tests/test-sockets.c: Call gl_fd_to_handle.
40882
40883 2009-02-09  Bruno Haible  <bruno@clisp.org>
40884
40885         * doc/havelib.texi: Document the conventions on bi-arch systems.
40886
40887 2009-02-08  Bruno Haible  <bruno@clisp.org>
40888
40889         Document the AC_LIB_LINKFLAGS macro.
40890         * doc/havelib.texi: New file, mostly written on 2005-05-24.
40891         * doc/gnulib.texi: Include it.
40892
40893 2009-02-08  Bruno Haible  <bruno@clisp.org>
40894
40895         Fix wrong order of sections, compared to TOC.
40896         * doc/gnulib.texi: Include relocatable-maint.texi after the
40897         "Regular expressions" node, not before.
40898
40899 2009-02-08  Bruno Haible  <bruno@clisp.org>
40900
40901         Tests for module 'unicase/totitle'.
40902         * modules/unicase/totitle-tests: New file.
40903
40904         Tests for module 'unicase/tolower'.
40905         * modules/unicase/tolower-tests: New file.
40906
40907         Tests for module 'unicase/toupper'.
40908         * modules/unicase/toupper-tests: New file.
40909         * tests/unicase/test-mapping-part1.h: New file.
40910         * tests/unicase/test-mapping-part2.h: New file.
40911
40912         New module 'unicase/totitle'.
40913         * modules/unicase/totitle: New file.
40914         * lib/unicase/totitle.c: New file.
40915
40916         New module 'unicase/tolower'.
40917         * modules/unicase/tolower: New file.
40918         * lib/unicase/tolower.c: New file.
40919
40920         New module 'unicase/toupper'.
40921         * modules/unicase/toupper: New file.
40922         * lib/unicase/toupper.c: New file.
40923         * lib/unicase/simple-mapping.h: New file.
40924
40925         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
40926         (mapping_table): New structure.
40927         (output_simple_mapping): New function.
40928         (main): Invoke output_simple_mapping_test and output_simple_mapping.
40929         * modules/gen-uni-tables (Description): Update.
40930         * lib/unicase/toupper.h: New file, automatically generated by
40931         gen-uni-tables.
40932         * lib/unicase/tolower.h: New file, automatically generated by
40933         gen-uni-tables.
40934         * lib/unicase/totitle.h: New file, automatically generated by
40935         gen-uni-tables.
40936         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
40937         gen-uni-tables.
40938         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
40939         gen-uni-tables.
40940         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
40941         gen-uni-tables.
40942
40943         New module 'unicase/base'.
40944         * modules/unicase/base: New file.
40945         * lib/unicase.h: New file.
40946
40947 2009-02-08  Bruno Haible  <bruno@clisp.org>
40948
40949         New module 'uniwbrk/ulc-wordbreaks'.
40950         * modules/uniwbrk/ulc-wordbreaks: New file.
40951         * lib/uniwbrk/ulc-wordbreaks.c: New file.
40952
40953         New module 'uniwbrk/u32-wordbreaks'.
40954         * modules/uniwbrk/u32-wordbreaks: New file.
40955         * lib/uniwbrk/u32-wordbreaks.c: New file.
40956
40957         New module 'uniwbrk/u16-wordbreaks'.
40958         * modules/uniwbrk/u16-wordbreaks: New file.
40959         * lib/uniwbrk/u16-wordbreaks.c: New file.
40960
40961         New module 'uniwbrk/u8-wordbreaks'.
40962         * modules/uniwbrk/u8-wordbreaks: New file.
40963         * lib/uniwbrk/u8-wordbreaks.c: New file.
40964         * lib/uniwbrk/u-wordbreaks.h: New file.
40965
40966         New module 'uniwbrk/table'.
40967         * modules/uniwbrk/table: New file.
40968         * lib/uniwbrk/wbrktable.h: New file.
40969         * lib/uniwbrk/wbrktable.c: New file.
40970
40971         New module 'uniwbrk/wordbreak-property'.
40972         * modules/uniwbrk/wordbreak-property: New file.
40973         * lib/uniwbrk/wordbreak-property.c: New file.
40974
40975         * lib/gen-uni-tables.c (WBP_*): New enum items.
40976         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
40977         (unicode_org_wbp): New variable.
40978         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
40979         New functions.
40980         (wbp_table): New structure.
40981         (output_wbp, output_wbrk_tables): New functions.
40982         (main): Accept additional argument. Invoke fill_org_wbp,
40983         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
40984         output_wbrk_tables.
40985         * modules/gen-uni-tables (Description): Update.
40986         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
40987         gen-uni-tables.
40988
40989         New module 'uniwbrk/base'.
40990         * modules/uniwbrk/base: New file.
40991         * lib/uniwbrk.h: New file.
40992
40993 2009-02-08  Bruno Haible  <bruno@clisp.org>
40994
40995         Update to Unicode 5.1.0.
40996         * lib/gen-uni-tables.c (is_property_alphabetic): Include
40997         U+2185..U+2188.
40998         (is_property_default_ignorable_code_point): Don't include characters
40999         of category Cc or Cs and not-a-characters.
41000         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
41001         U+0D79, U+109E, U+109F, U+A60C.
41002         * lib/unictype/bidi_of.h: Regenerated.
41003         * lib/unictype/blocks.h: Regenerated.
41004         * lib/unictype/categ_C.h: Regenerated.
41005         * lib/unictype/categ_Cf.h: Regenerated.
41006         * lib/unictype/categ_Cn.h: Regenerated.
41007         * lib/unictype/categ_L.h: Regenerated.
41008         * lib/unictype/categ_Ll.h: Regenerated.
41009         * lib/unictype/categ_Lm.h: Regenerated.
41010         * lib/unictype/categ_Lo.h: Regenerated.
41011         * lib/unictype/categ_Lu.h: Regenerated.
41012         * lib/unictype/categ_M.h: Regenerated.
41013         * lib/unictype/categ_Mc.h: Regenerated.
41014         * lib/unictype/categ_Me.h: Regenerated.
41015         * lib/unictype/categ_Mn.h: Regenerated.
41016         * lib/unictype/categ_N.h: Regenerated.
41017         * lib/unictype/categ_Nd.h: Regenerated.
41018         * lib/unictype/categ_Nl.h: Regenerated.
41019         * lib/unictype/categ_No.h: Regenerated.
41020         * lib/unictype/categ_P.h: Regenerated.
41021         * lib/unictype/categ_Pd.h: Regenerated.
41022         * lib/unictype/categ_Pe.h: Regenerated.
41023         * lib/unictype/categ_Pf.h: Regenerated.
41024         * lib/unictype/categ_Pi.h: Regenerated.
41025         * lib/unictype/categ_Po.h: Regenerated.
41026         * lib/unictype/categ_Ps.h: Regenerated.
41027         * lib/unictype/categ_S.h: Regenerated.
41028         * lib/unictype/categ_Sk.h: Regenerated.
41029         * lib/unictype/categ_Sm.h: Regenerated.
41030         * lib/unictype/categ_So.h: Regenerated.
41031         * lib/unictype/categ_of.h: Regenerated.
41032         * lib/unictype/combining.h: Regenerated.
41033         * lib/unictype/ctype_alnum.h: Regenerated.
41034         * lib/unictype/ctype_alpha.h: Regenerated.
41035         * lib/unictype/ctype_graph.h: Regenerated.
41036         * lib/unictype/ctype_lower.h: Regenerated.
41037         * lib/unictype/ctype_print.h: Regenerated.
41038         * lib/unictype/ctype_punct.h: Regenerated.
41039         * lib/unictype/ctype_upper.h: Regenerated.
41040         * lib/unictype/decdigit.h: Regenerated.
41041         * lib/unictype/digit.h: Regenerated.
41042         * lib/unictype/mirror.h: Regenerated.
41043         * lib/unictype/numeric.h: Regenerated.
41044         * lib/unictype/pr_alphabetic.h: Regenerated.
41045         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
41046         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
41047         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
41048         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
41049         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
41050         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
41051         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
41052         * lib/unictype/pr_combining.h: Regenerated.
41053         * lib/unictype/pr_dash.h: Regenerated.
41054         * lib/unictype/pr_decimal_digit.h: Regenerated.
41055         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
41056         * lib/unictype/pr_deprecated.h: Regenerated.
41057         * lib/unictype/pr_diacritic.h: Regenerated.
41058         * lib/unictype/pr_extender.h: Regenerated.
41059         * lib/unictype/pr_format_control.h: Regenerated.
41060         * lib/unictype/pr_grapheme_base.h: Regenerated.
41061         * lib/unictype/pr_grapheme_extend.h: Regenerated.
41062         * lib/unictype/pr_grapheme_link.h: Regenerated.
41063         * lib/unictype/pr_id_continue.h: Regenerated.
41064         * lib/unictype/pr_id_start.h: Regenerated.
41065         * lib/unictype/pr_ideographic.h: Regenerated.
41066         * lib/unictype/pr_ignorable_control.h: Regenerated.
41067         * lib/unictype/pr_lowercase.h: Regenerated.
41068         * lib/unictype/pr_math.h: Regenerated.
41069         * lib/unictype/pr_numeric.h: Regenerated.
41070         * lib/unictype/pr_other_alphabetic.h: Regenerated.
41071         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
41072         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
41073         * lib/unictype/pr_other_id_continue.h: Regenerated.
41074         * lib/unictype/pr_other_lowercase.h: Regenerated.
41075         * lib/unictype/pr_other_math.h: Regenerated.
41076         * lib/unictype/pr_punctuation.h: Regenerated.
41077         * lib/unictype/pr_sentence_terminal.h: Regenerated.
41078         * lib/unictype/pr_soft_dotted.h: Regenerated.
41079         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
41080         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
41081         * lib/unictype/pr_unified_ideograph.h: Regenerated.
41082         * lib/unictype/pr_uppercase.h: Regenerated.
41083         * lib/unictype/pr_xid_continue.h: Regenerated.
41084         * lib/unictype/pr_xid_start.h: Regenerated.
41085         * lib/unictype/pr_zero_width.h: Regenerated.
41086         * lib/unictype/scripts.h: Regenerated.
41087         * lib/unictype/scripts_byname.gperf: Regenerated.
41088         * lib/unictype/sy_java_ident.h: Regenerated.
41089         * lib/unilbrk/lbrkprop1.h: Regenerated.
41090         * lib/unilbrk/lbrkprop2.h: Regenerated.
41091         * tests/unictype/test-categ_C.c: Regenerated.
41092         * tests/unictype/test-categ_Cf.c: Regenerated.
41093         * tests/unictype/test-categ_Cn.c: Regenerated.
41094         * tests/unictype/test-categ_L.c: Regenerated.
41095         * tests/unictype/test-categ_Ll.c: Regenerated.
41096         * tests/unictype/test-categ_Lm.c: Regenerated.
41097         * tests/unictype/test-categ_Lo.c: Regenerated.
41098         * tests/unictype/test-categ_Lu.c: Regenerated.
41099         * tests/unictype/test-categ_M.c: Regenerated.
41100         * tests/unictype/test-categ_Mc.c: Regenerated.
41101         * tests/unictype/test-categ_Me.c: Regenerated.
41102         * tests/unictype/test-categ_Mn.c: Regenerated.
41103         * tests/unictype/test-categ_N.c: Regenerated.
41104         * tests/unictype/test-categ_Nd.c: Regenerated.
41105         * tests/unictype/test-categ_Nl.c: Regenerated.
41106         * tests/unictype/test-categ_No.c: Regenerated.
41107         * tests/unictype/test-categ_P.c: Regenerated.
41108         * tests/unictype/test-categ_Pd.c: Regenerated.
41109         * tests/unictype/test-categ_Pe.c: Regenerated.
41110         * tests/unictype/test-categ_Pf.c: Regenerated.
41111         * tests/unictype/test-categ_Pi.c: Regenerated.
41112         * tests/unictype/test-categ_Po.c: Regenerated.
41113         * tests/unictype/test-categ_Ps.c: Regenerated.
41114         * tests/unictype/test-categ_S.c: Regenerated.
41115         * tests/unictype/test-categ_Sk.c: Regenerated.
41116         * tests/unictype/test-categ_Sm.c: Regenerated.
41117         * tests/unictype/test-categ_So.c: Regenerated.
41118         * tests/unictype/test-ctype_alnum.c: Regenerated.
41119         * tests/unictype/test-ctype_alpha.c: Regenerated.
41120         * tests/unictype/test-ctype_graph.c: Regenerated.
41121         * tests/unictype/test-ctype_lower.c: Regenerated.
41122         * tests/unictype/test-ctype_print.c: Regenerated.
41123         * tests/unictype/test-ctype_punct.c: Regenerated.
41124         * tests/unictype/test-ctype_upper.c: Regenerated.
41125         * tests/unictype/test-decdigit.h: Regenerated.
41126         * tests/unictype/test-digit.h: Regenerated.
41127         * tests/unictype/test-numeric.h: Regenerated.
41128         * tests/unictype/test-pr_alphabetic.c: Regenerated.
41129         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
41130         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
41131         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
41132         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
41133         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
41134         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
41135         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
41136         * tests/unictype/test-pr_combining.c: Regenerated.
41137         * tests/unictype/test-pr_dash.c: Regenerated.
41138         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
41139         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
41140         * tests/unictype/test-pr_deprecated.c: Regenerated.
41141         * tests/unictype/test-pr_diacritic.c: Regenerated.
41142         * tests/unictype/test-pr_extender.c: Regenerated.
41143         * tests/unictype/test-pr_format_control.c: Regenerated.
41144         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
41145         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
41146         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
41147         * tests/unictype/test-pr_id_continue.c: Regenerated.
41148         * tests/unictype/test-pr_id_start.c: Regenerated.
41149         * tests/unictype/test-pr_ideographic.c: Regenerated.
41150         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
41151         * tests/unictype/test-pr_lowercase.c: Regenerated.
41152         * tests/unictype/test-pr_math.c: Regenerated.
41153         * tests/unictype/test-pr_numeric.c: Regenerated.
41154         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
41155         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
41156         Regenerated.
41157         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
41158         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
41159         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
41160         * tests/unictype/test-pr_other_math.c: Regenerated.
41161         * tests/unictype/test-pr_punctuation.c: Regenerated.
41162         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
41163         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
41164         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
41165         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
41166         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
41167         * tests/unictype/test-pr_uppercase.c: Regenerated.
41168         * tests/unictype/test-pr_xid_continue.c: Regenerated.
41169         * tests/unictype/test-pr_xid_start.c: Regenerated.
41170         * tests/unictype/test-pr_zero_width.c: Regenerated.
41171
41172         Update to Unicode 5.1.0.
41173         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
41174         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
41175         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
41176         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
41177         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
41178         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
41179         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
41180         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
41181         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
41182         (nonspacing_table_ind): Update.
41183         * tests/uniwidth/test-uc_width2.sh: Update expected result.
41184
41185         Update to Unicode 5.1.0.
41186         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
41187         code transform.
41188         * lib/uniname/uniname.c (unicode_character_name,
41189         unicode_name_character): Add the range 0x1Fxxx to the code transform.
41190         * lib/uniname/uninames.h: Regenerated.
41191         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
41192
41193 2009-02-07  Bruno Haible  <bruno@clisp.org>
41194
41195         Merge gen-ctype and gen-lbrk into a single program.
41196         * lib/gen-uni-tables.c: New file, incorporating
41197         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
41198         Add directory prefixes to the names of the generated files.
41199         * lib/unictype/gen-ctype.c: Remove file.
41200         * lib/unilbrk/gen-lbrk.c: Remove file.
41201         * modules/gen-uni-tables: New file.
41202         * modules/unictype/gen-ctype: Remove file.
41203         * modules/unilbrk/gen-lbrk: Remove file.
41204
41205 2009-02-07  Bruno Haible  <bruno@clisp.org>
41206
41207         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
41208
41209         New module 'unistr/u32-strcoll'.
41210         * modules/unistr/u32-strcoll: New file.
41211         * lib/unistr/u32-strcoll.c: New file.
41212
41213         New module 'unistr/u16-strcoll'.
41214         * modules/unistr/u16-strcoll: New file.
41215         * lib/unistr/u16-strcoll.c: New file.
41216
41217         New module 'unistr/u8-strcoll'.
41218         * modules/unistr/u8-strcoll: New file.
41219         * lib/unistr/u8-strcoll.c: New file.
41220         * lib/unistr/u-strcoll.h: New file.
41221
41222 2009-02-07  Bruno Haible  <bruno@clisp.org>
41223
41224         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
41225         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
41226         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
41227         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
41228         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
41229         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
41230
41231 2009-02-07  Bruno Haible  <bruno@clisp.org>
41232
41233         Make 64-bit clean.
41234         * lib/unictype/gen-ctype.c (output_predicate, output_category,
41235         output_combclass, output_bidi_category, output_decimal_digit,
41236         output_digit, output_numeric, output_mirror, output_scripts,
41237         output_ident_category): Use proper width specifier in format strings.
41238
41239 2009-02-07  Bruno Haible  <bruno@clisp.org>
41240
41241         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
41242         failure behaviour.
41243
41244 2009-02-07  Jim Meyering  <meyering@redhat.com>
41245
41246         regex: avoid compilation failure with upcoming gcc-4.4
41247         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
41248         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
41249         "... error: integer overflow in preprocessor expression".
41250
41251 2009-02-05  Ben Pfaff  <blp@gnu.org>
41252
41253         Fix link errors on Windows when close module is used.
41254         * modules/close: Add $(LIB_CLOSE) to Link section.
41255         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
41256         $(LIB_CLOSE) on Windows.
41257
41258 2009-02-05  Jim Meyering  <meyering@redhat.com>
41259
41260         still avoid unused-parameter warnings, but do it cleanly
41261         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
41262         (get_fs_usage): Cast to void instead.
41263         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
41264         (dev_from_mount_options, read_file_system_list): Cast to void.
41265         Prompted by Bruno Haible.
41266
41267 2009-02-04  Jim Meyering  <meyering@redhat.com>
41268
41269         fsusage.c: correct copyright year
41270         * lib/fsusage.c: Reflect year in which the change is pushed into
41271
41272         avoid misc. warnings
41273         * lib/fsusage.c (UNUSED_PARAM): Define.
41274         (get_fs_usage): Mark parameter "disk" as unused.
41275         * lib/getugroups.c (getgrent): Use "void" in prototype.
41276         * lib/mountlist.c: Mark unused parameters.
41277         (read_file_system_list): Declare a local with "const".
41278         * lib/nanosleep.c (getnow): Declare static.
41279         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
41280
41281         dirfd: set errno upon failure
41282         * lib/dirfd.c: Include <errno.h>.
41283         Set errno to ENOTSUP when returning -1.
41284         * modules/dirfd (Depends-on): Add errno.
41285         Suggested by John Kodis <kodis@comcast.net>.
41286
41287 2009-02-01  Bruno Haible  <bruno@clisp.org>
41288
41289         Don't assume sizeof (long) >= sizeof (void *).
41290         * lib/memcmp.c: Include stdint.h.
41291         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
41292         srcp2 to 'const byte *'.
41293         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
41294         types to uintptr_t.
41295         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
41296         * modules/memcmp (Depends-on): Add stdint.
41297         Reported by Ozkan Sezer <sezeroz@gmail.com>.
41298
41299 2009-01-30  Eric Blake  <ebb9@byu.net>
41300
41301         fix more require-before-expand issues
41302         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
41303         expand, AC_PROG_AWK.
41304         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
41305
41306 2009-01-28  Eric Blake  <ebb9@byu.net>
41307
41308         version-etc: use consistent URL formatting
41309         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
41310         Improve formatting.  Use fputs for string without %.
41311
41312 2009-01-28  Jim Meyering  <meyering@redhat.com>
41313
41314         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
41315         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
41316         "underquoted definition of NAME" from autoconf-2.59.
41317
41318 2009-01-28  Bruno Haible  <bruno@clisp.org>
41319
41320         * doc/gnulib.texi: Add "Obsolete modules" to index.
41321
41322 2009-01-28  Jim Meyering  <meyering@redhat.com>
41323
41324         useless-if-before-free: recognize more variants
41325         * build-aux/useless-if-before-free: Also recognize e.g.,
41326         if (NULL != p) free (p);
41327
41328 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
41329
41330         test-getaddrinfo: skip (don't fail) this test when there's no network
41331         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
41332         on the presumption that it means you lack network access.
41333
41334 2009-01-26  Jim Meyering  <meyering@redhat.com>
41335
41336         fflush: avoid warnings on modern systems
41337         * lib/fflush.c (rpl_fflush): Move declarations of locals,
41338         pos and result, into scopes where they're used.
41339
41340 2009-01-26  Eric Blake  <ebb9@byu.net>
41341
41342         Silence warning reintroduced by recent extensions patch.
41343         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
41344         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
41345         autoconf.
41346
41347         Backport improved autoconf semantics of AC_DEFUN_ONCE.
41348         * m4/00gnulib.m4: New file.
41349         * gnulib-tool (func_get_filelist): Always use it.
41350         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
41351         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
41352
41353 2009-01-25  Bruno Haible  <bruno@clisp.org>
41354
41355         Make test-quotearg work on MacOS X and AIX.
41356         * tests/test-quotearg.sh: New file.
41357         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
41358         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
41359         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
41360         include <libintl.h>.
41361         (fake_locale): Remove variable.
41362         (gettext, dgettext, dcgettext): Remove functions.
41363         (main): Instead of setting a fake locale, set a real locale. Call
41364         textdomain and bindtextdomain.
41365         * modules/quotearg-tests (Files): Add the new files.
41366         (Depends-on): Add gettext, setenv, unsetenv.
41367         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
41368         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
41369         Augment TESTS_ENVIRONMENT.
41370
41371 2009-01-25  Bruno Haible  <bruno@clisp.org>
41372
41373         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
41374         fr_FR.ISO8859-1 locale on MacOS X.
41375         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
41376         ja_JP.eucJP locale on MacOS X.
41377         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
41378         zh_CN.GB18030 locale on MacOS X.
41379
41380 2009-01-25  Bruno Haible  <bruno@clisp.org>
41381
41382         Avoid link errors on MacOS X 10.3.
41383         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
41384         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
41385
41386 2009-01-25  Bruno Haible  <bruno@clisp.org>
41387
41388         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
41389         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
41390         * modules/pipe (Files): Remove m4/posix_spawn.m4.
41391         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
41392         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
41393         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
41394         posix_spawnattr_init, posix_spawnattr_setsigmask,
41395         posix_spawnattr_setflags, posix_spawnattr_destroy.
41396
41397         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
41398         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
41399         * modules/execute (Files): Remove m4/posix_spawn.m4.
41400         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
41401         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
41402         posix_spawnattr_init, posix_spawnattr_setsigmask,
41403         posix_spawnattr_setflags, posix_spawnattr_destroy.
41404
41405 2009-01-25  Bruno Haible  <bruno@clisp.org>
41406
41407         * lib/glthread/threadlib.c: Include <stdlib.h>.
41408
41409 2009-01-25  Bruno Haible  <bruno@clisp.org>
41410
41411         * lib/glthread/threadlib.c (dummy): New declaration.
41412
41413 2009-01-25  Bruno Haible  <bruno@clisp.org>
41414
41415         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
41416         multibyte characters also for the GB18030 encoding. Don't crash when
41417         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
41418
41419 2009-01-25  Bruno Haible  <bruno@clisp.org>
41420
41421         Avoid redefining 'struct random_data' on OSF/1 5.1.
41422         * lib/stdlib.in.h: Include <random.h> if it exists.
41423         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
41424         HAVE_RANDOM_H. Include <random.h> when testing whether
41425         'struct random_data' exists.
41426         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
41427
41428 2009-01-25  Bruno Haible  <bruno@clisp.org>
41429
41430         Don't install charset.alias on MacOS X >= 10.3.
41431         * lib/localcharset.c (DARWIN7): New macro.
41432         (get_charset_aliases): Hardcode the result for Darwin7.
41433         * modules/localcharset (install-exec-local): Don't install
41434         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
41435
41436 2009-01-25  Bruno Haible  <bruno@clisp.org>
41437
41438         Don't install charset.alias on mingw and Cygwin.
41439         * modules/localcharset (install-exec-local): Don't install
41440         charset.alias on mingw and Cygwin, if the file does not yet exist.
41441         The result for these platforms is hardcoded in localcharset.c.
41442
41443 2009-01-25  Bruno Haible  <bruno@clisp.org>
41444
41445         Make it possible again to use AC_GNU_SOURCE together with gnulib.
41446         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
41447         before requiring AC_USE_SYSTEM_EXTENSIONS.
41448
41449 2009-01-25  Jim Meyering  <meyering@redhat.com>
41450
41451         c-strtod: avoid warnings
41452         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
41453         "assignment discards qualifiers from pointer target type" warnings.
41454
41455 2009-01-24  Bruno Haible  <bruno@clisp.org>
41456
41457         Add support for non-UTF-8 locales on MacOS X.
41458         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
41459         canonical encodings. For Darwin 7 and newer, don't map traditional
41460         encodings to UTF-8.
41461         Reported by Vincent Lefevre <vincent@vinc17.org>
41462         at <http://savannah.gnu.org/bugs/?25235>.
41463
41464 2009-01-24  Bruno Haible  <bruno@clisp.org>
41465
41466         * doc/gnulib.texi (Obsolete modules): New section.
41467         Reported by Mike Frysinger <vapier@gentoo.org>.
41468
41469 2009-01-24  Bruno Haible  <bruno@clisp.org>
41470
41471         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
41472         (%.dvi): New rule.
41473
41474 2009-01-24  Bruno Haible  <bruno@clisp.org>
41475
41476         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
41477         Reported by Eric Blake.
41478
41479 2009-01-24  Bruno Haible  <bruno@clisp.org>
41480
41481         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
41482         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
41483         Reported by Gary V. Vaughan <gary@gnu.org>.
41484
41485 2009-01-24  Bruno Haible  <bruno@clisp.org>
41486
41487         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
41488
41489 2009-01-23  Bruno Haible  <bruno@clisp.org>
41490
41491         Make c-strtod, c-strtold usable in libraries.
41492         * lib/c-strtod.c: Include string.h instead of xalloc.h.
41493         (C_STRTOD): Call strdup instead of xstrdup.
41494         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
41495         * modules/c-strtold (Depends-on): Likewise.
41496         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
41497         * NEWS: Mention the change.
41498         Reported by Michael Gold <mgold@ncf.ca>.
41499
41500 2009-01-23  Jim Meyering  <meyering@redhat.com>
41501
41502         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
41503         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
41504         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
41505
41506 2009-01-23  Simon Josefsson  <simon@josefsson.org>
41507
41508         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
41509         GNU CoreUtils.
41510         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
41511         * modules/version-etc (Description): Update.
41512
41513 2009-01-22  Bruno Haible  <bruno@clisp.org>
41514
41515         Cache the C locale object.
41516         * lib/c-strtod.c (c_locale_cache): New variable.
41517         (c_locale): New function.
41518         (C_STRTOD): Use it, and don't call freelocale.
41519         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
41520         Suggested by Paolo Bonzini.
41521
41522 2009-01-21  Bruno Haible  <bruno@clisp.org>
41523
41524         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
41525         conditions other than overflow.
41526
41527 2009-01-21  Bruno Haible  <bruno@clisp.org>
41528
41529         * lib/c-strtod.c: Include errno.h.
41530         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
41531         value from STRTOD_L and STRTOD.
41532
41533 2009-01-21  Bruno Haible  <bruno@clisp.org>
41534         and Jim Meyering  <meyering@redhat.com>
41535
41536         nanosleep: skip configure test (fail it) for apple universal builds
41537         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
41538         universal builds, assume that nanosleep does not work.
41539         * modules/nanosleep (Depends-on): Add multiarch.
41540
41541         mktime: skip configure test (fail it) for apple universal builds
41542         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
41543         universal builds, assume that mktime does not work.
41544         * modules/mktime (Depends-on): Add multiarch.
41545
41546 2009-01-21  Eric Blake  <ebb9@byu.net>
41547
41548         multiarch: avoid expand-before-require warning
41549         * modules/multiarch (configure.ac): Require, rather than expand,
41550         gl_MULTIARCH.
41551         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
41552         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
41553         enforce that all clients require it.  Partial reversion of
41554         2008-12-29 patch.
41555
41556         error: avoid expand-before-require warning
41557         * modules/errno (configure.ac): Require, rather than expand,
41558         gl_HEADER_ERRNO_H.
41559         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
41560         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
41561         enforce that all clients require it.
41562
41563         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
41564         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
41565         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
41566         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
41567
41568 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
41569
41570         Revert:
41571         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
41572
41573         regex: do not depend on obsolete modules.
41574         * modules/regex: Remove memcmp and memmove.
41575
41576 2009-01-20  Bruno Haible  <bruno@clisp.org>
41577
41578         Make the 'link' module link on Windows NT 4.
41579         * lib/link.c (_WIN32_WINNT): Don't define.
41580         (CreateHardLinkFuncType): New type.
41581         (CreateHardLinkFunc, initialized): New variables.
41582         (initialize): New function.
41583         (link): Invoke CreateHardLink indirectly through the function pointer.
41584
41585 2009-01-20  Bruno Haible  <bruno@clisp.org>
41586
41587         Fix compilation failure on mingw.
41588         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
41589
41590 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
41591
41592         * doc/c-strtod.texi: Mention a couple of restrictions.
41593
41594 2009-01-20  Jim Meyering  <meyering@redhat.com>
41595
41596         gettimeofday: move more declarations out of functions
41597         * lib/gettimeofday.c: Move extern declarations of tzset and
41598         gmtime out of containing functions.  Prompted by Bruno Haible.
41599
41600 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
41601
41602         regex: do not depend on obsolete modules.
41603         * modules/regex: Remove memcmp and memmove.
41604
41605 2009-01-19  Bruno Haible  <bruno@clisp.org>
41606
41607         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
41608         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
41609         gl_BIGENDIAN, not AC_C_BIGENDIAN.
41610         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
41611         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
41612
41613 2009-01-19  Bruno Haible  <bruno@clisp.org>
41614
41615         * tests/test-link.c: Include <errno.h>.
41616         (main): Exit with code 77 when a hard link cannot be created due to
41617         the file system.
41618         * tests/test-link.sh: Skip test when a hard link cannot be created due
41619         to the file system.
41620         Suggested by Eric Blake.
41621
41622 2009-01-19  Martin Lambers  <marlam@marlam.de>
41623
41624         * modules/link-tests: New file.
41625         * tests/test-link.sh: New file.
41626         * tests/test-link.c: New file.
41627
41628 2009-01-19  Eric Blake  <ebb9@byu.net>
41629
41630         doc: mention another function added in cygwin 1.7.0
41631         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
41632         Another new function in cygwin 1.7.
41633
41634 2009-01-19  Bruno Haible  <bruno@clisp.org>
41635
41636         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
41637         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
41638         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
41639         gl_BIGENDIAN, not AC_C_BIGENDIAN.
41640         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
41641         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
41642         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
41643         * m4/md4.m4 (gl_MD4): Likewise.
41644         * m4/md5.m4 (gl_MD5): Likewise.
41645         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
41646         * m4/sha1.m4 (gl_SHA1): Likewise.
41647         * m4/sha256.m4 (gl_SHA256): Likewise.
41648         * m4/sha512.m4 (gl_SHA512): Likewise.
41649
41650 2009-01-19  Bruno Haible  <bruno@clisp.org>
41651
41652         * modules/uniname/uniname-tests (Depends-on): Add progname.
41653         * tests/uniname/test-uninames.c: Include progname.h.
41654         (main): Call set_program_name.
41655
41656         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
41657         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
41658         (main): Call set_program_name.
41659
41660         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
41661         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
41662         (main): Call set_program_name.
41663
41664         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
41665         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
41666         (main): Call set_program_name.
41667
41668         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
41669         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
41670         (main): Call set_program_name.
41671
41672         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
41673         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
41674         (main): Call set_program_name.
41675
41676         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
41677         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
41678         (main): Call set_program_name.
41679
41680         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
41681         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
41682         (main): Call set_program_name.
41683
41684         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
41685         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
41686         (main): Call set_program_name.
41687
41688 2009-01-19  Eric Blake  <ebb9@byu.net>
41689
41690         test-unistd: test previous patch
41691         * tests/test-unistd.c: Test *_FILENO macros.
41692
41693         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
41694         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
41695         Guarantee a definition.
41696         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
41697         * modules/unistd-safer (Depends-on): Add dependency on unistd.
41698         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
41699         * lib/dup-safer.c (STDERR_FILENO): Likewise.
41700         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
41701         Likewise.
41702         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
41703         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
41704         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
41705         Likewise.
41706         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
41707         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
41708         (STDERR_FILENO): Likewise.
41709         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
41710         (STDERR_FILENO): Likewise.
41711         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
41712         (STDERR_FILENO): Likewise.
41713         Reported by Elbert Pol.
41714
41715 2009-01-19  Eric Blake  <ebb9@byu.net>
41716
41717         doc: mention more functions added in cygwin 1.7.0
41718         * doc/posix-functions/abort.texi (abort): Update wording related
41719         to cygwin.
41720         * doc/posix-functions/daylight.texi (daylight): Likewise.
41721         * doc/posix-functions/optarg.texi (optarg): Likewise.
41722         * doc/posix-functions/optarg.texi (opterr): Likewise.
41723         * doc/posix-functions/optarg.texi (optind): Likewise.
41724         * doc/posix-functions/optarg.texi (optopt): Likewise.
41725         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
41726         worked in 1.5.x, and was withdrawn in 1.7.
41727         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
41728         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
41729         cygwin versions.
41730         * doc/posix-functions/perror.texi (perror): Likewise.
41731         * doc/posix-functions/printf.texi (printf): Likewise.
41732         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
41733         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
41734         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
41735         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
41736         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
41737         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
41738         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
41739         Likewise.
41740         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
41741         Likewise.
41742         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
41743         this function.
41744         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
41745         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
41746         Likewise.
41747         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
41748         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
41749         * doc/posix-functions/confstr.texi (confstr): Likewise.
41750         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
41751         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
41752         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
41753         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
41754         * doc/posix-functions/fputws.texi (fputws): Likewise.
41755         * doc/posix-functions/fwide.texi (fwide): Likewise.
41756         * doc/posix-functions/getwc.texi (getwc): Likewise.
41757         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
41758         * doc/posix-functions/putwc.texi (putwc): Likewise.
41759         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
41760         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
41761         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
41762         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
41763         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
41764         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
41765         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
41766         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
41767         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
41768         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
41769         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
41770
41771 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
41772
41773         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
41774         * lib/ioctl.c: Include <sys/ioctl.h>.
41775
41776 2009-01-19  Simon Josefsson  <simon@josefsson.org>
41777
41778         * modules/getdate-tests (Depends-on): Add progname.
41779         * tests/test-getdate.c: Use progname module, to avoid link errors
41780         on non-glibc systems.
41781
41782 2009-01-18  Simon Josefsson  <simon@josefsson.org>
41783
41784         * modules/filenamecat-tests (Depends-on): Add progname.
41785         * modules/fstrcmp-tests (Depends-on): Likewise.
41786
41787         * tests/test-filenamecat.c: Use progname module, to avoid link
41788         errors on non-glibc systems.
41789         * tests/test-fstrcmp.c: Likewise.
41790
41791 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
41792
41793         gettimeofday: avoid warning: nested extern declaration of 'localtime'
41794         * lib/gettimeofday.c: Move extern declaration out of function.
41795
41796 2009-01-18  Bruno Haible  <bruno@clisp.org>
41797
41798         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
41799         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
41800         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
41801
41802 2009-01-18  Bruno Haible  <bruno@clisp.org>
41803
41804         * lib/strftime.c (MEMPCPY): Remove unused macro.
41805         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
41806
41807 2009-01-18  Martin Lambers  <marlam@marlam.de>
41808
41809         New module 'link'.
41810         * lib/unistd.in.h (link): New declaration.
41811         * lib/link.c: New file.
41812         * m4/link.m4: New file.
41813         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
41814         HAVE_LINK.
41815         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
41816         * modules/link: New file.
41817         * doc/posix-functions/link.texi: Mention the new module.
41818
41819 2009-01-18  Bruno Haible  <bruno@clisp.org>
41820
41821         * tests/test-avltree_list.c (main): Call set_program_name.
41822         * tests/test-avltree_oset.c (main): Likewise.
41823         * tests/test-obstack-printf.c: Include progname.h.
41824         (main): Call set_program_name.
41825         * tests/test-quotearg.c: Include progname.h.
41826         (main): Call set_program_name.
41827         * tests/test-xmemdup0.c: Include progname.h.
41828         (main): Call set_program_name.
41829
41830 2009-01-18  Bruno Haible  <bruno@clisp.org>
41831
41832         New module 'alphasort'.
41833         * lib/dirent.in.h (alphasort): New declaration.
41834         * lib/alphasort.c: New file, from glibc with modifications.
41835         * m4/alphasort.m4: New file.
41836         * modules/alphasort: New file.
41837         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
41838         HAVE_ALPHASORT.
41839         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
41840         HAVE_ALPHASORT.
41841         * doc/posix-functions/alphasort.texi: Mention the new module and the
41842         portability problems.
41843
41844 2009-01-18  Bruno Haible  <bruno@clisp.org>
41845
41846         New module 'scandir'.
41847         * lib/dirent.in.h (scandir): New declaration.
41848         * lib/scandir.c: New file, from glibc with modifications.
41849         * m4/scandir.m4: New file.
41850         * modules/scandir: New file.
41851         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
41852         HAVE_SCANDIR.
41853         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
41854         HAVE_SCANDIR.
41855         * doc/posix-functions/scandir.texi: Mention the new module and the
41856         portability problems.
41857
41858 2009-01-17  Bruno Haible  <bruno@clisp.org>
41859
41860         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
41861         Update documentation.
41862         (func_remove_suffix): Escape all dots in the suffix. Update
41863         documentation.
41864         (func_filter_filelist): Update documentation.
41865         Reported by Ralf Wildenhues.
41866
41867 2009-01-17  Bruno Haible  <bruno@clisp.org>
41868
41869         * modules/dprintf-posix-tests: New file.
41870         * tests/test-dprintf-posix.sh: New file.
41871         * tests/test-dprintf-posix.c: New file.
41872
41873         New modules 'dprintf', 'dprintf-posix'.
41874         * lib/stdio.in.h (dprintf): New declaration.
41875         * lib/dprintf.c: New file.
41876         * m4/dprintf.m4: New file.
41877         * m4/dprintf-posix.m4: New file.
41878         * modules/dprintf: New file.
41879         * modules/dprintf-posix: New file.
41880         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
41881         HAVE_DPRINTF, REPLACE_DPRINTF.
41882         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
41883         HAVE_DPRINTF, REPLACE_DPRINTF.
41884         * doc/posix-functions/dprintf.texi: Mention the new modules.
41885
41886 2009-01-17  Bruno Haible  <bruno@clisp.org>
41887
41888         * modules/vdprintf-posix-tests: New file.
41889         * tests/test-vdprintf-posix.sh: New file.
41890         * tests/test-vdprintf-posix.c: New file.
41891
41892         New modules 'vdprintf', 'vdprintf-posix'.
41893         * lib/stdio.in.h (vdprintf): New declaration.
41894         * lib/vdprintf.c: New file.
41895         * m4/vdprintf.m4: New file.
41896         * m4/vdprintf-posix.m4: New file.
41897         * modules/vdprintf: New file.
41898         * modules/vdprintf-posix: New file.
41899         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
41900         HAVE_VDPRINTF, REPLACE_VDPRINTF.
41901         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
41902         HAVE_VDPRINTF, REPLACE_VDPRINTF.
41903         * doc/posix-functions/vdprintf.texi: Mention the new modules.
41904
41905 2009-01-17  Bruno Haible  <bruno@clisp.org>
41906
41907         Fix replacement of fopen on mingw.
41908         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
41909         mingw.
41910
41911 2009-01-17  Bruno Haible  <bruno@clisp.org>
41912
41913         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
41914         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
41915
41916 2009-01-17  Bruno Haible  <bruno@clisp.org>
41917
41918         Avoid test-fflush2.sh failure on mingw.
41919         * tests/test-fflush2.c: Include binary-io.h.
41920         (main): Put standard input into binary mode.
41921         * modules/fflush-tests (Depends-on): Add binary-io.
41922
41923 2009-01-17  Bruno Haible  <bruno@clisp.org>
41924
41925         * lib/wchar.in.h: In another particular situation, include only the
41926         system's <wchar.h> file.
41927         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
41928         Reported by Albert Chin-A-Young <china@thewrittenword.com>
41929         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
41930
41931 2009-01-17  Bruno Haible  <bruno@clisp.org>
41932
41933         Support for stripping executables in --enable-relocatable.
41934         * build-aux/install-reloc: Expect one more argument, or an environment
41935         variable RELOC_STRIP_PROG. If set, strip the destination program and
41936         its wrapper.
41937         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
41938         RELOC_STRIP_PROG.
41939         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
41940         to set RELOCATABLE_STRIP.
41941         * NEWS: Mention the new Makefile requirement.
41942
41943 2009-01-17  Bruno Haible  <bruno@clisp.org>
41944
41945         * build-aux/install-reloc: Remove debugging information left over by
41946         C compiler on MacOS X.
41947
41948 2009-01-17  Bruno Haible  <bruno@clisp.org>
41949
41950         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
41951         * lib/progreloc.c (find_executable): Fix type of pointer passed to
41952         _NSGetExecutablePath.
41953
41954 2009-01-16  Jim Meyering  <meyering@redhat.com>
41955
41956         strerror: avoid warnings about discarding "const"
41957         * lib/strerror.c (rpl_strerror): Instead of returning a const
41958         string from each and every "case", use a variable, and add a single
41959         cast after the switch.
41960
41961 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
41962
41963         * lib/arpa_inet.in.h: Add extern "C" block for C++.
41964
41965 2009-01-16  Bruno Haible  <bruno@clisp.org>
41966
41967         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
41968         array initializer syntax that also works in C++ mode.
41969         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
41970
41971 2009-01-16  Jim Meyering  <meyering@redhat.com>
41972
41973         poll: suppress a warning
41974         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
41975         to ignore "...unsigned expression < 0 is always false" warnings.
41976
41977 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
41978
41979         poll: remove declarations of unused variables
41980         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
41981         sockbuf and optlen.
41982
41983 2009-01-15  Bruno Haible  <bruno@clisp.org>
41984
41985         Make fflush-after-ungetc POSIX compliant on BSD systems.
41986         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
41987         (clear_ungetc_buffer): Implement also for other systems.
41988         (rpl_fflush): On glibc systems, invoke
41989         clear_ungetc_buffer_preserving_position. Otherwise, invoke
41990         clear_ungetc_buffer after fetching the stream's position, not before.
41991
41992 2009-01-15  Bruno Haible  <bruno@clisp.org>
41993
41994         Make fflush-after-ungetc POSIX compliant on glibc systems.
41995         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
41996         after ungetc.
41997         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
41998         (rpl_fflush): On glibc systems, simply call the system's fflush
41999         function after clearing the ungetc buffer.
42000         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
42001         Instead, lseek only to the end of file, then use the system's fseeko
42002         for the rest. On glibc systems, reset the EOF indicator bit.
42003
42004 2009-01-15  Jim Meyering  <meyering@redhat.com>
42005
42006         openmp.m4: revert quote-adding change, for portability to older autoconf
42007         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
42008         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
42009         Simon Josefsson noticed the problem when using autoconf-2.61.
42010
42011 2009-01-15  Bruno Haible  <bruno@clisp.org>
42012
42013         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
42014         * tests/test-fflush2.c (ASSERT): Always fail.
42015         (main): Add two tests for fflush() after ungetc(), taking into account
42016         the Austin Group's clarification.
42017         Suggested by Eric Blake.
42018
42019 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
42020
42021         mktime.m4: remove K&R-style function prototypes
42022         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
42023         for the Sun C++ compiler.
42024
42025 2009-01-14  Bruno Haible  <bruno@clisp.org>
42026
42027         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
42028         while including <wchar.h>.
42029         * lib/wchar.in.h: In two particular situations on HP-UX, include only
42030         the system's <wchar.h> file.
42031         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
42032
42033 2009-01-14  Bruno Haible  <bruno@clisp.org>
42034
42035         * m4/csharp.m4: Don't mention gettext on the serial number line.
42036         * m4/csharpexec.m4: Likewise.
42037         * m4/eaccess.m4: Likewise.
42038         * m4/javaexec.m4: Likewise.
42039         * m4/sig_atomic_t.m4: Likewise.
42040         * m4/tmpdir.m4: Likewise.
42041         * m4/intldir.m4: Bump gettext version.
42042         * m4/lib-ld.m4: Likewise.
42043
42044 2009-01-14  Bruno Haible  <bruno@clisp.org>
42045
42046         * lib/progname.c (set_program_name): Add more comments.
42047         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
42048
42049 2009-01-14  Simon Josefsson  <simon@josefsson.org>
42050
42051         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
42052         were sys/stat.h does not define it.
42053
42054 2009-01-14  Jim Meyering  <meyering@redhat.com>
42055
42056         many *.m4 files: improve m4 quoting
42057         99% of this change was performed by running the following commands:
42058         git ls-files | grep '\.m4$' | xargs perl -pi \
42059           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
42060           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
42061           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
42062           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
42063         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
42064         The remainder were to add Copyright dates, increment serial numbers,
42065         undo some changes in comments, exclude m4/intl.m4, and add quotes
42066         around the "1" in ",1" where the unusual spacing prohibited the
42067         above regexps from doing the job.  For more details, see
42068         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
42069         * m4/acl.m4: Modified.
42070         * m4/afs.m4: Likewise.
42071         * m4/alloca.m4: Likewise.
42072         * m4/argp.m4: Likewise.
42073         * m4/argz.m4: Likewise.
42074         * m4/atexit.m4: Likewise.
42075         * m4/bison-i18n.m4: Likewise.
42076         * m4/bison.m4: Likewise.
42077         * m4/byteswap.m4: Likewise.
42078         * m4/c-stack.m4: Likewise.
42079         * m4/c-strtod.m4: Likewise.
42080         * m4/calloc.m4: Likewise.
42081         * m4/canonicalize-lgpl.m4: Likewise.
42082         * m4/chown.m4: Likewise.
42083         * m4/clock_time.m4: Likewise.
42084         * m4/codeset.m4: Likewise.
42085         * m4/copy-file.m4: Likewise.
42086         * m4/csharp.m4: Likewise.
42087         * m4/csharpcomp.m4: Likewise.
42088         * m4/csharpexec.m4: Likewise.
42089         * m4/d-ino.m4: Likewise.
42090         * m4/d-type.m4: Likewise.
42091         * m4/dirfd.m4: Likewise.
42092         * m4/double-slash-root.m4: Likewise.
42093         * m4/eaccess.m4: Likewise.
42094         * m4/eealloc.m4: Likewise.
42095         * m4/environ.m4: Likewise.
42096         * m4/errno_h.m4: Likewise.
42097         * m4/euidaccess.m4: Likewise.
42098         * m4/execute.m4: Likewise.
42099         * m4/fatal-signal.m4: Likewise.
42100         * m4/fchdir.m4: Likewise.
42101         * m4/fcntl_h.m4: Likewise.
42102         * m4/fileblocks.m4: Likewise.
42103         * m4/filenamecat.m4: Likewise.
42104         * m4/findprog.m4: Likewise.
42105         * m4/flexmember.m4: Likewise.
42106         * m4/fnmatch.m4: Likewise.
42107         * m4/fopen.m4: Likewise.
42108         * m4/fpending.m4: Likewise.
42109         * m4/fprintf-posix.m4: Likewise.
42110         * m4/free.m4: Likewise.
42111         * m4/frexp.m4: Likewise.
42112         * m4/frexpl.m4: Likewise.
42113         * m4/fsusage.m4: Likewise.
42114         * m4/ftruncate.m4: Likewise.
42115         * m4/gc-camellia.m4: Likewise.
42116         * m4/gc-random.m4: Likewise.
42117         * m4/gc.m4: Likewise.
42118         * m4/getaddrinfo.m4: Likewise.
42119         * m4/getcwd-abort-bug.m4: Likewise.
42120         * m4/getcwd-path-max.m4: Likewise.
42121         * m4/getdate.m4: Likewise.
42122         * m4/getdomainname.m4: Likewise.
42123         * m4/getgroups.m4: Likewise.
42124         * m4/gethostname.m4: Likewise.
42125         * m4/gethrxtime.m4: Likewise.
42126         * m4/getline.m4: Likewise.
42127         * m4/getloadavg.m4: Likewise.
42128         * m4/getndelim2.m4: Likewise.
42129         * m4/getpass.m4: Likewise.
42130         * m4/gettext.m4: Likewise.
42131         * m4/gettime.m4: Likewise.
42132         * m4/gettimeofday.m4: Likewise.
42133         * m4/gnulib-common.m4: Likewise.
42134         * m4/group-member.m4: Likewise.
42135         * m4/host-os.m4: Likewise.
42136         * m4/iconv.m4: Likewise.
42137         * m4/iconv_open.m4: Likewise.
42138         * m4/inet_ntop.m4: Likewise.
42139         * m4/inet_pton.m4: Likewise.
42140         * m4/inline.m4: Likewise.
42141         * m4/intldir.m4: Likewise.
42142         * m4/intlmacosx.m4: Likewise.
42143         * m4/intmax.m4: Likewise.
42144         * m4/intmax_t.m4: Likewise.
42145         * m4/inttypes.m4: Likewise.
42146         * m4/inttypes_h.m4: Likewise.
42147         * m4/inttypes-pri.m4: Likewise.
42148         * m4/isapipe.m4: Likewise.
42149         * m4/isnand.m4: Likewise.
42150         * m4/isnanf.m4: Likewise.
42151         * m4/isnanl.m4: Likewise.
42152         * m4/javacomp.m4: Likewise.
42153         * m4/javaexec.m4: Likewise.
42154         * m4/jm-winsz1.m4: Likewise.
42155         * m4/jm-winsz2.m4: Likewise.
42156         * m4/lchown.m4: Likewise.
42157         * m4/lcmessage.m4: Likewise.
42158         * m4/ldexpl.m4: Likewise.
42159         * m4/lib-ld.m4: Likewise.
42160         * m4/lib-link.m4: Likewise.
42161         * m4/libsigsegv.m4: Likewise.
42162         * m4/link-follow.m4: Likewise.
42163         * m4/localcharset.m4: Likewise.
42164         * m4/locale-fr.m4: Likewise.
42165         * m4/locale-ja.m4: Likewise.
42166         * m4/locale-tr.m4: Likewise.
42167         * m4/locale-zh.m4: Likewise.
42168         * m4/lock.m4: Likewise.
42169         * m4/longlong.m4: Likewise.
42170         * m4/ls-mntd-fs.m4: Likewise.
42171         * m4/lstat.m4: Likewise.
42172         * m4/malloc.m4: Likewise.
42173         * m4/mathl.m4: Likewise.
42174         * m4/mbrtowc.m4: Likewise.
42175         * m4/mbstate_t.m4: Likewise.
42176         * m4/mbswidth.m4: Likewise.
42177         * m4/memchr.m4: Likewise.
42178         * m4/memcmp.m4: Likewise.
42179         * m4/memcpy.m4: Likewise.
42180         * m4/memmem.m4: Likewise.
42181         * m4/memmove.m4: Likewise.
42182         * m4/mempcpy.m4: Likewise.
42183         * m4/memrchr.m4: Likewise.
42184         * m4/memset.m4: Likewise.
42185         * m4/minmax.m4: Likewise.
42186         * m4/mkdir-slash.m4: Likewise.
42187         * m4/mkdtemp.m4: Likewise.
42188         * m4/mktime.m4: Likewise.
42189         * m4/mmap-anon.m4: Likewise.
42190         * m4/mountlist.m4: Likewise.
42191         * m4/nanosleep.m4: Likewise.
42192         * m4/nls.m4: Likewise.
42193         * m4/nocrash.m4: Likewise.
42194         * m4/open.m4: Likewise.
42195         * m4/openat.m4: Likewise.
42196         * m4/openmp.m4: Likewise.
42197         * m4/pathmax.m4: Likewise.
42198         * m4/perl.m4: Likewise.
42199         * m4/physmem.m4: Likewise.
42200         * m4/pipe.m4: Likewise.
42201         * m4/po.m4: Likewise.
42202         * m4/poll.m4: Likewise.
42203         * m4/posixtm.m4: Likewise.
42204         * m4/posixver.m4: Likewise.
42205         * m4/printf-frexp.m4: Likewise.
42206         * m4/printf-frexpl.m4: Likewise.
42207         * m4/printf-posix.m4: Likewise.
42208         * m4/printf-posix-rpl.m4: Likewise.
42209         * m4/printf.m4: Likewise.
42210         * m4/progtest.m4: Likewise.
42211         * m4/putenv.m4: Likewise.
42212         * m4/readline.m4: Likewise.
42213         * m4/readlink.m4: Likewise.
42214         * m4/readutmp.m4: Likewise.
42215         * m4/realloc.m4: Likewise.
42216         * m4/regex.m4: Likewise.
42217         * m4/relocatable.m4: Likewise.
42218         * m4/relocatable-lib.m4: Likewise.
42219         * m4/rename-dest-slash.m4: Likewise.
42220         * m4/rename.m4: Likewise.
42221         * m4/rmdir-errno.m4: Likewise.
42222         * m4/rmdir.m4: Likewise.
42223         * m4/roundf.m4: Likewise.
42224         * m4/roundl.m4: Likewise.
42225         * m4/rpmatch.m4: Likewise.
42226         * m4/save-cwd.m4: Likewise.
42227         * m4/selinux-selinux-h.m4: Likewise.
42228         * m4/setenv.m4: Likewise.
42229         * m4/settime.m4: Likewise.
42230         * m4/sig2str.m4: Likewise.
42231         * m4/sig_atomic_t.m4: Likewise.
42232         * m4/signalblocking.m4: Likewise.
42233         * m4/signbit.m4: Likewise.
42234         * m4/sigpipe.m4: Likewise.
42235         * m4/sockets.m4: Likewise.
42236         * m4/sockpfaf.m4: Likewise.
42237         * m4/st_dm_mode.m4: Likewise.
42238         * m4/stat-time.m4: Likewise.
42239         * m4/stdbool.m4: Likewise.
42240         * m4/stdint.m4: Likewise.
42241         * m4/stdint_h.m4: Likewise.
42242         * m4/stpcpy.m4: Likewise.
42243         * m4/stpncpy.m4: Likewise.
42244         * m4/strcase.m4: Likewise.
42245         * m4/strchrnul.m4: Likewise.
42246         * m4/strcspn.m4: Likewise.
42247         * m4/strdup.m4: Likewise.
42248         * m4/strftime.m4: Likewise.
42249         * m4/strndup.m4: Likewise.
42250         * m4/strnlen.m4: Likewise.
42251         * m4/strpbrk.m4: Likewise.
42252         * m4/strptime.m4: Likewise.
42253         * m4/strsep.m4: Likewise.
42254         * m4/strtod.m4: Likewise.
42255         * m4/strtoimax.m4: Likewise.
42256         * m4/strtok_r.m4: Likewise.
42257         * m4/strtol.m4: Likewise.
42258         * m4/strtoll.m4: Likewise.
42259         * m4/strtoul.m4: Likewise.
42260         * m4/strtoull.m4: Likewise.
42261         * m4/strtoumax.m4: Likewise.
42262         * m4/strverscmp.m4: Likewise.
42263         * m4/threadlib.m4: Likewise.
42264         * m4/timegm.m4: Likewise.
42265         * m4/tm_gmtoff.m4: Likewise.
42266         * m4/tmpdir.m4: Likewise.
42267         * m4/tmpfile.m4: Likewise.
42268         * m4/tzset.m4: Likewise.
42269         * m4/uintmax_t.m4: Likewise.
42270         * m4/unlinkdir.m4: Likewise.
42271         * m4/unlocked-io.m4: Likewise.
42272         * m4/uptime.m4: Likewise.
42273         * m4/userspec.m4: Likewise.
42274         * m4/utimbuf.m4: Likewise.
42275         * m4/utime.m4: Likewise.
42276         * m4/utimes-null.m4: Likewise.
42277         * m4/utimes.m4: Likewise.
42278         * m4/vararrays.m4: Likewise.
42279         * m4/vasnprintf.m4: Likewise.
42280         * m4/vfprintf-posix.m4: Likewise.
42281         * m4/vprintf-posix.m4: Likewise.
42282         * m4/wait-process.m4: Likewise.
42283         * m4/wchar_t.m4: Likewise.
42284         * m4/wint_t.m4: Likewise.
42285         * m4/write-any-file.m4: Likewise.
42286         * m4/yield.m4: Likewise.
42287
42288 2009-01-13  Bruno Haible  <bruno@clisp.org>
42289
42290         Avoid test-copy-file.sh failures when ACL support insufficient.
42291         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
42292         TESTS_ENVIRONMENT.
42293         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
42294         Reported by Jim Meyering.
42295
42296 2009-01-13  Bruno Haible  <bruno@clisp.org>
42297
42298         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
42299         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
42300         * modules/unistdio/u8-printf-parse (Files): Likewise.
42301         * modules/unistdio/u32-printf-parse (Files): Likewise.
42302         * modules/unistdio/ulc-printf-parse (Files): Likewise.
42303
42304 2009-01-13  Simon Josefsson  <simon@josefsson.org>
42305
42306         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
42307         and m4/inttypes_h.m4 too.
42308
42309 2009-01-12  Eric Blake  <ebb9@byu.net>
42310
42311         tests: IRIX 6.2 cc can't compile -0.0 into .data
42312         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
42313         rather than at compile-time.
42314         * tests/test-floorl.c (minus_zero): Likewise.
42315         * tests/test-frexpl.c (minus_zero): Likewise.
42316         * tests/test-isnan.c (minus_zerol): Likewise.
42317         * tests/test-isnanl.h (minus_zero): Likewise.
42318         * tests/test-ldexpl.c (minus_zero): Likewise.
42319         * tests/test-roundl.c (minus_zero): Likewise.
42320         * tests/test-signbit.c (minus_zerol): Likewise.
42321         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
42322         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
42323         * tests/test-truncl.c (minus_zero): Likewise.
42324         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
42325         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
42326         Reported by Tom G. Christensen and Nelson H. F. Beebe.
42327
42328 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
42329
42330         regex: fix glibc bug 9697
42331         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
42332         handling.
42333
42334 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
42335
42336         regex: fix glibc bug 697
42337         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
42338         being NULL also if there are no backreferences.
42339
42340 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
42341
42342         regex: merge glibc changes
42343         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
42344         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
42345         re_string_skip_chars, re_string_reconstruct): Likewise.
42346         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
42347
42348 2009-01-07  Jim Meyering  <meyering@redhat.com>
42349
42350         poll: filter through cppi
42351         * lib/poll.c: Indent cpp directives to reflect nesting.
42352
42353 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
42354
42355         poll: don't return uninitialized
42356         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
42357
42358 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
42359
42360         avoid compile failure on AIX 6.1
42361         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
42362         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
42363
42364 2009-01-04  Jim Meyering  <meyering@redhat.com>
42365
42366         remove duplicate inclusion of <stdio.h>
42367         * tests/test-fprintf-posix.c: Likewise.
42368         * tests/test-printf-posix.c: Likewise.
42369         * tests/test-snprintf-posix.c: Likewise.
42370         * tests/test-sprintf-posix.c: Likewise.
42371         * tests/test-vasprintf-posix.c: Likewise.
42372         * tests/test-vfprintf-posix.c: Likewise.
42373         * tests/test-vprintf-posix.c: Likewise.
42374         * tests/test-vsnprintf-posix.c: Likewise.
42375         * tests/test-vsprintf-posix.c: Likewise.
42376
42377 2009-01-03  Jim Meyering  <meyering@redhat.com>
42378
42379         gnulib-tool: fix sed-based filtering
42380         * gnulib-tool (func_filter_filelist): Remove extra backslash
42381         in sed_fff_filter definition.
42382
42383 2009-01-02  Jim Meyering  <meyering@redhat.com>
42384
42385         strftime: avoid compilation failure on Solaris 2.6
42386         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
42387         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
42388         Don't #define mbrlen or mbsinit, since now they're guaranteed to
42389         be available.  Reported by Tom G. Christensen.  Details in
42390         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
42391
42392 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42393             Bruno Haible  <bruno@clisp.org>
42394
42395         Speed up gnulib-tool by doing more string processing through shell
42396         built-ins.
42397         * gnulib-tool (fast_func_append): New variable.
42398         (func_remove_prefix, func_remove_suffix): New functions.
42399         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
42400         (func_filter_filelist): New function.
42401         (func_get_dependencies): Use func_remove_suffix instead of sed.
42402         (func_get_automake_snippet): Use func_filter_filelist instead of a
42403         subshell and sed invocation.
42404
42405 2009-01-01  Bruno Haible  <bruno@clisp.org>
42406
42407         Fix a security bug.
42408         * gnulib-tool (func_import, import, update): Don't allow the characters
42409         '"', '$', '`', '\' in macro arguments that become part of commands that
42410         are evaluated.
42411
42412 2009-01-01  Bruno Haible  <bruno@clisp.org>
42413
42414         * gnulib-tool (func_reset_sigpipe): Add more comments.
42415
42416 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42417
42418         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
42419         func_emit_tests_Makefile_am, func_import): Abort loops early if we
42420         already know the answer.
42421
42422 2009-01-01  Jim Meyering  <meyering@redhat.com>
42423
42424         * lib/version-etc.c (version_etc_va): Update copyright year.
42425
42426 2008-12-30  Bruno Haible  <bruno@clisp.org>
42427
42428         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
42429         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
42430         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
42431
42432 2008-12-29  Eric Blake  <ebb9@byu.net>
42433
42434         multiarch: avoid autoconf AC_REQUIRE bug
42435         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
42436         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
42437         2.63 and older.
42438         Reported by Bruno Haible, and analyzed in
42439         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
42440
42441 2008-12-29  Bruno Haible  <bruno@clisp.org>
42442
42443         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
42444         files in subdirectories correctly.
42445         Reported by Ralf Wildenhues.
42446
42447 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42448
42449         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
42450         rather than 'join FILE -', for Solaris join.
42451
42452 2008-12-29  Bruno Haible  <bruno@clisp.org>
42453
42454         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
42455         quoting.
42456         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
42457         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
42458         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
42459         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
42460         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
42461         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
42462         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
42463         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
42464         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
42465         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
42466         * m4/nls.m4 (AM_NLS): Likewise.
42467         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
42468         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
42469         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
42470         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
42471         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
42472         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
42473         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
42474         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
42475         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
42476         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
42477         * m4/xsize.m4 (gl_XSIZE): Likewise.
42478         Suggested by Jim Meyering.
42479
42480 2008-11-17  Bruce Korb  <bkorb@gnu.org>
42481
42482         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
42483         * lib/parse-duration.c: use a switch instead of cascading if's.
42484
42485 2008-12-29  Eric Blake  <ebb9@byu.net>
42486
42487         wchar.h: supply WEOF on Irix 5.3
42488         * lib/wchar.in.h (wint_t): Also supply WEOF.
42489         * lib/wctype.in.h (wint_t): Likewise.
42490         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
42491         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
42492         Reported by Tom G. Christensen.
42493
42494 2008-12-26  Bruno Haible  <bruno@clisp.org>
42495
42496         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
42497         i486, i586, i686.
42498
42499 2008-12-26  Bruno Haible  <bruno@clisp.org>
42500
42501         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
42502
42503 2008-12-26  Bruno Haible  <bruno@clisp.org>
42504
42505         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
42506         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
42507         not __STDC_CONSTANT_MACROS.
42508         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
42509
42510 2008-12-25  Bruno Haible  <bruno@clisp.org>
42511
42512         Add support for universal builds to vasnprintf.
42513         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
42514         universal builds, guess no.
42515         * modules/vasnprintf-posix (Depends-on): Add multiarch.
42516         * modules/vasprintf-posix (Depends-on): Likewise.
42517         * modules/fprintf-posix (Depends-on): Likewise.
42518         * modules/vfprintf-posix (Depends-on): Likewise.
42519         * modules/snprintf-posix (Depends-on): Likewise.
42520         * modules/vsnprintf-posix (Depends-on): Likewise.
42521         * modules/sprintf-posix (Depends-on): Likewise.
42522         * modules/vsprintf-posix (Depends-on): Likewise.
42523         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
42524         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
42525         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
42526         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
42527         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
42528         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
42529         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
42530
42531         Add support for universal builds to <inttypes.h>.
42532         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
42533         _SCNu64_PREFIX): In Apple
42534         universal builds, define directly, using _LP64.
42535         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
42536         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
42537         * modules/inttypes (Depends-on): Add multiarch.
42538         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
42539
42540         Add support for universal builds to <stdint.h>.
42541         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
42542         universal builds, define directly, using _LP64.
42543         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
42544         Apple universal builds, don't test for the size and suffix of ptrdiff_t
42545         and size_t.
42546         * modules/stdint (Depends-on): Add multiarch.
42547         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
42548
42549         New module 'multiarch'.
42550         * modules/multiarch: New file.
42551         * m4/multiarch.m4: New file.
42552
42553 2008-12-25  Bruno Haible  <bruno@clisp.org>
42554
42555         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
42556
42557 2008-12-25  Bruno Haible  <bruno@clisp.org>
42558
42559         * modules/btowc (License): Relicense under LGPLv2+.
42560         * modules/mbsinit (License): Likewise.
42561         * modules/mbrtowc (License): Likewise.
42562         * modules/wcrtomb (License): Likewise.
42563         * modules/streq (License): Likewise.
42564         Reported by David Lutterkort <lutter@redhat.com>.
42565
42566 2008-12-23  Bruno Haible  <bruno@clisp.org>
42567
42568         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
42569
42570 2008-12-23  Bruno Haible  <bruno@clisp.org>
42571
42572         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
42573         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
42574         GETADDRINFO_LIB, not in LIBS.
42575         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
42576         * modules/canon-host (Link): Likewise.
42577         * NEWS: Mention the change.
42578         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
42579         GETADDRINFO_LIB.
42580
42581 2008-12-22  Bruno Haible  <bruno@clisp.org>
42582
42583         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
42584         * doc/posix-functions/iswalpha_l.texi: Likewise.
42585         * doc/posix-functions/iswblank_l.texi: Likewise.
42586         * doc/posix-functions/iswcntrl_l.texi: Likewise.
42587         * doc/posix-functions/iswctype_l.texi: Likewise.
42588         * doc/posix-functions/iswdigit_l.texi: Likewise.
42589         * doc/posix-functions/iswgraph_l.texi: Likewise.
42590         * doc/posix-functions/iswlower_l.texi: Likewise.
42591         * doc/posix-functions/iswprint_l.texi: Likewise.
42592         * doc/posix-functions/iswpunct_l.texi: Likewise.
42593         * doc/posix-functions/iswspace_l.texi: Likewise.
42594         * doc/posix-functions/iswupper_l.texi: Likewise.
42595         * doc/posix-functions/iswxdigit_l.texi: Likewise.
42596         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
42597         * doc/posix-functions/open_wmemstream.texi: Likewise.
42598         * doc/posix-functions/swscanf.texi: Likewise.
42599         * doc/posix-functions/towctrans_l.texi: Likewise.
42600         * doc/posix-functions/towlower.texi: Likewise.
42601         * doc/posix-functions/towlower_l.texi: Likewise.
42602         * doc/posix-functions/towupper.texi: Likewise.
42603         * doc/posix-functions/towupper_l.texi: Likewise.
42604         * doc/posix-functions/vfwprintf.texi: Likewise.
42605         * doc/posix-functions/vfwscanf.texi: Likewise.
42606         * doc/posix-functions/vswscanf.texi: Likewise.
42607         * doc/posix-functions/vwprintf.texi: Likewise.
42608         * doc/posix-functions/vwscanf.texi: Likewise.
42609         * doc/posix-functions/wcpcpy.texi: Likewise.
42610         * doc/posix-functions/wcpncpy.texi: Likewise.
42611         * doc/posix-functions/wcscasecmp.texi: Likewise.
42612         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
42613         * doc/posix-functions/wcscoll_l.texi: Likewise.
42614         * doc/posix-functions/wcsdup.texi: Likewise.
42615         * doc/posix-functions/wcsncasecmp.texi: Likewise.
42616         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
42617         * doc/posix-functions/wcsnlen.texi: Likewise.
42618         * doc/posix-functions/wcsnrtombs.texi: Likewise.
42619         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
42620         * doc/posix-functions/wctrans_l.texi: Likewise.
42621         * doc/posix-functions/wctype_l.texi: Likewise.
42622         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
42623         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
42624         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
42625         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
42626         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
42627         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
42628         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
42629         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
42630         * doc/glibc-functions/wcschrnul.texi: Likewise.
42631         * doc/glibc-functions/wcsftime_l.texi: Likewise.
42632         * doc/glibc-functions/wcstod_l.texi: Likewise.
42633         * doc/glibc-functions/wcstof_l.texi: Likewise.
42634         * doc/glibc-functions/wcstol_l.texi: Likewise.
42635         * doc/glibc-functions/wcstold_l.texi: Likewise.
42636         * doc/glibc-functions/wcstoll_l.texi: Likewise.
42637         * doc/glibc-functions/wcstoq.texi: Likewise.
42638         * doc/glibc-functions/wcstoul_l.texi: Likewise.
42639         * doc/glibc-functions/wcstoull_l.texi: Likewise.
42640         * doc/glibc-functions/wcstouq.texi: Likewise.
42641         * doc/glibc-functions/wmempcpy.texi: Likewise.
42642
42643 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
42644             Eric Blake  <ebb9@byu.net>
42645             Paolo Bonzini  <bonzini@gnu.org>
42646             Bruno Haible  <bruno@clisp.org>
42647
42648         Make c-stack work on Haiku.
42649         * lib/c-stack.c (SA_ONSTACK): Define fallback.
42650         (c_stack_action): Use SA_ONSTACK flag.
42651
42652 2008-12-22  Bruno Haible  <bruno@clisp.org>
42653
42654         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
42655
42656 2008-12-22  Bruno Haible  <bruno@clisp.org>
42657
42658         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
42659         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
42660         being overridden.
42661         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
42662         New macros.
42663         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
42664         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
42665         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
42666         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
42667
42668 2008-12-22  Bruno Haible  <bruno@clisp.org>
42669
42670         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
42671         from test code.
42672
42673 2008-12-22  Eric Blake  <ebb9@byu.net>
42674
42675         Avoid gcc warnings on cygwin.
42676         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
42677         Avoid unused variable.
42678         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
42679         Likewise.
42680
42681 2008-12-22  Bruno Haible  <bruno@clisp.org>
42682
42683         Remove HAVE_MBRTOWC conditionals.
42684         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
42685         (mbscasecmp): Assume mbrtowc function.
42686         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
42687         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
42688         * lib/mbschr.c: Include mbuiter.h unconditionally.
42689         (mbschr): Assume mbrtowc function.
42690         * lib/mbscspn.c: Include mbuiter.h unconditionally.
42691         (mbscspn): Assume mbrtowc function.
42692         * lib/mbslen.c: Include mbuiter.h unconditionally.
42693         (mbslen): Assume mbrtowc function.
42694         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
42695         (mbsncasecmp): Assume mbrtowc function.
42696         * lib/mbsnlen.c: Include mbiter.h unconditionally.
42697         (mbsnlen): Assume mbrtowc function.
42698         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
42699         (mbspbrk): Assume mbrtowc function.
42700         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
42701         (mbspcasecmp): Assume mbrtowc function.
42702         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
42703         (mbsrchr): Assume mbrtowc function.
42704         * lib/mbssep.c: Include mbuiter.h unconditionally.
42705         (mbssep): Assume mbrtowc function.
42706         * lib/mbsspn.c: Include mbuiter.h unconditionally.
42707         (mbsspn): Assume mbrtowc function.
42708         * lib/mbsstr.c: Include mbuiter.h unconditionally.
42709         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
42710         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
42711         (mbstok_r): Assume mbrtowc function.
42712         * lib/propername.c: Include mbuiter.h unconditionally.
42713         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
42714         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
42715         (trim2): Assume mbrtowc function.
42716         * lib/mbswidth.c (mbsinit): Remove fallback definition.
42717         (mbsnwidth): Assume mbrtowc function.
42718         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
42719         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
42720         fallback definitions.
42721         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
42722
42723 2008-12-22  Bruno Haible  <bruno@clisp.org>
42724
42725         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
42726
42727 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
42728
42729         * modules/regex: Request emulations for the mb*/wc* functions we need.
42730         * m4/regex.m4: Don't look for those functions here.
42731         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
42732
42733 2008-12-22  Bruno Haible  <bruno@clisp.org>
42734
42735         * modules/fnmatch (Depends-on): Remove duplicated dependency.
42736
42737 2008-12-21  Bruno Haible  <bruno@clisp.org>
42738
42739         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
42740         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
42741         (Include): Remove conditionalization.
42742         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
42743         (Include): Remove conditionalization.
42744         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
42745         (Include): Remove conditionalization.
42746         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
42747         * m4/mbfile.m4 (gl_MBFILE): Likewise.
42748         * NEWS: Mention the change.
42749         Reported by Alan Hourihane <alanh@fairlite.co.uk>
42750         via Sergey Poznyakoff <gray@gnu.org.ua>.
42751
42752 2008-12-21  Bruno Haible  <bruno@clisp.org>
42753
42754         * MODULES.html.sh (Extended multibyte and wide character utilities
42755         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
42756         wcrtomb, wcsrtombs.
42757         (Support for systems lacking POSIX:2008): Add accept, bind, close,
42758         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
42759         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
42760         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
42761
42762 2008-12-21  Bruno Haible  <bruno@clisp.org>
42763
42764         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
42765
42766 2008-12-21  Bruno Haible  <bruno@clisp.org>
42767
42768         * modules/wcsnrtombs-tests: New file.
42769         * tests/test-wcsnrtombs1.sh: New file.
42770         * tests/test-wcsnrtombs2.sh: New file.
42771         * tests/test-wcsnrtombs3.sh: New file.
42772         * tests/test-wcsnrtombs4.sh: New file.
42773         * tests/test-wcsnrtombs.c: New file.
42774
42775         New module 'wcsnrtombs'.
42776         * lib/wchar.in.h (wcsnrtombs): New declaration.
42777         * lib/wcsnrtombs.c: New file.
42778         * lib/wcsrtombs-state.c: New file.
42779         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
42780         (internal_state): Remove variable.
42781         * m4/wcsnrtombs.m4: New file.
42782         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
42783         compilation units.
42784         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
42785         HAVE_WCSNRTOMBS.
42786         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
42787         HAVE_WCSNRTOMBS.
42788         * modules/wcsnrtombs: New file.
42789         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
42790         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
42791
42792 2008-12-21  Bruno Haible  <bruno@clisp.org>
42793
42794         * modules/wcsrtombs-tests: New file.
42795         * tests/test-wcsrtombs1.sh: New file.
42796         * tests/test-wcsrtombs2.sh: New file.
42797         * tests/test-wcsrtombs3.sh: New file.
42798         * tests/test-wcsrtombs4.sh: New file.
42799         * tests/test-wcsrtombs.c: New file.
42800
42801         New module 'wcsrtombs'.
42802         * lib/wchar.in.h (wcsrtombs): New declaration.
42803         * lib/wcsrtombs.c: New file.
42804         * m4/wcsrtombs.m4: New file.
42805         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
42806         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
42807         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
42808         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
42809         * modules/wcsrtombs: New file.
42810         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
42811         bugs.
42812
42813 2008-12-21  Bruno Haible  <bruno@clisp.org>
42814
42815         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
42816         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
42817         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
42818         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
42819         if not correct.
42820         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
42821         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
42822         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
42823         m4/locale-zh.m4, m4/codeset.m4.
42824         * doc/posix-functions/wcrtomb.texi: Document the bug.
42825
42826 2008-12-21  Bruno Haible  <bruno@clisp.org>
42827
42828         Work around a btowc() bug on IRIX 6.5.
42829         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
42830         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
42831         REPLACE_WTOBC if not.
42832         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
42833         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
42834         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
42835
42836 2008-12-21  Bruno Haible  <bruno@clisp.org>
42837
42838         * modules/wcrtomb-tests: New file.
42839         * tests/test-wcrtomb.sh: New file.
42840         * tests/test-wcrtomb.c: New file.
42841
42842         New module 'wcrtomb'.
42843         * lib/wchar.in.h (wcrtomb): New declaration.
42844         * lib/wcrtomb.c: New file.
42845         * m4/wcrtomb.m4: New file.
42846         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
42847         HAVE_WCRTOMB.
42848         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
42849         HAVE_WCRTOMB.
42850         * modules/wcrtomb: New file.
42851         * doc/posix-functions/wcrtomb.texi: Mention the new module.
42852
42853 2008-12-21  Bruno Haible  <bruno@clisp.org>
42854
42855         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
42856         * modules/mbsrtowcs (Files): Likewise.
42857         * modules/wctob (Files): Likewise.
42858         * modules/c-strcase-tests (Files): Likewise.
42859         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
42860         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
42861         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
42862         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
42863         * modules/vasnprintf-posix-tests (Files): Likewise.
42864
42865 2008-12-21  William Pursell  <bill.pursell@gmail.com>
42866
42867         gitlog-to-changelog: pass all command-line arguments to git-log
42868         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
42869         it is sometimes convenient to filter the commits in various ways.
42870         gitlog-to-changelog only allows --since to specify a start date,
42871         but git-log itself supports many other filtering mechanisms.
42872         At the moment, I want to filter by branch name.  Rather than
42873         adding a --branch option to gitlog-to-changelog, it seems more
42874         flexible to simply pass all options directly to git-log and let
42875         git do the work.  Notice that this effectively makes --since a
42876         redundant option for gitlog-to-changelog, but removing it would
42877         require current usage to change since calls would then require
42878         an additional '--'.
42879
42880 2008-12-21  Bruno Haible  <bruno@clisp.org>
42881
42882         * modules/mbsnrtowcs-tests: New file.
42883         * tests/test-mbsnrtowcs1.sh: New file.
42884         * tests/test-mbsnrtowcs2.sh: New file.
42885         * tests/test-mbsnrtowcs3.sh: New file.
42886         * tests/test-mbsnrtowcs4.sh: New file.
42887         * tests/test-mbsnrtowcs.c: New file.
42888
42889         New module 'mbsnrtowcs'.
42890         * lib/wchar.in.h (mbsnrtowcs): New declaration.
42891         * lib/mbsnrtowcs.c: New file.
42892         * lib/mbsrtowcs-state.c: New file.
42893         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
42894         (internal_state): Remove variable.
42895         * m4/mbsnrtowcs.m4: New file.
42896         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
42897         compilation units.
42898         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
42899         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
42900         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
42901         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
42902         * modules/mbsnrtowcs: New file.
42903         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
42904         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
42905         portability problem.
42906
42907 2008-12-21  Bruno Haible  <bruno@clisp.org>
42908
42909         Work around mbsrtowcs bug.
42910         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
42911         (gl_FUNC_MBSRTOWCS): Invoke it.
42912         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
42913         m4/locale-zh.m4.
42914         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
42915
42916 2008-12-21  Bruno Haible  <bruno@clisp.org>
42917
42918         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
42919
42920 2008-12-21  Bruno Haible  <bruno@clisp.org>
42921
42922         Update doc for AIX.
42923         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
42924         16-bit wchar_t type.
42925         * doc/posix-functions/btowc.texi: Likewise.
42926         * doc/posix-functions/fgetwc.texi: Likewise.
42927         * doc/posix-functions/fgetws.texi: Likewise.
42928         * doc/posix-functions/fputwc.texi: Likewise.
42929         * doc/posix-functions/fputws.texi: Likewise.
42930         * doc/posix-functions/fwide.texi: Likewise.
42931         * doc/posix-functions/fwprintf.texi: Likewise.
42932         * doc/posix-functions/fwscanf.texi: Likewise.
42933         * doc/posix-functions/getwchar.texi: Likewise.
42934         * doc/posix-functions/getwc.texi: Likewise.
42935         * doc/posix-functions/iswalnum.texi: Likewise.
42936         * doc/posix-functions/iswalpha.texi: Likewise.
42937         * doc/posix-functions/iswblank.texi: Likewise.
42938         * doc/posix-functions/iswcntrl.texi: Likewise.
42939         * doc/posix-functions/iswctype.texi: Likewise.
42940         * doc/posix-functions/iswdigit.texi: Likewise.
42941         * doc/posix-functions/iswgraph.texi: Likewise.
42942         * doc/posix-functions/iswlower.texi: Likewise.
42943         * doc/posix-functions/iswprint.texi: Likewise.
42944         * doc/posix-functions/iswpunct.texi: Likewise.
42945         * doc/posix-functions/iswspace.texi: Likewise.
42946         * doc/posix-functions/iswupper.texi: Likewise.
42947         * doc/posix-functions/iswxdigit.texi: Likewise.
42948         * doc/posix-functions/mbrtowc.texi: Likewise.
42949         * doc/posix-functions/mbsrtowcs.texi: Likewise.
42950         * doc/posix-functions/mbstowcs.texi: Likewise.
42951         * doc/posix-functions/mbtowc.texi: Likewise.
42952         * doc/posix-functions/putwchar.texi: Likewise.
42953         * doc/posix-functions/putwc.texi: Likewise.
42954         * doc/posix-functions/swprintf.texi: Likewise.
42955         * doc/posix-functions/tolower.texi: Likewise.
42956         * doc/posix-functions/toupper.texi: Likewise.
42957         * doc/posix-functions/towctrans.texi: Likewise.
42958         * doc/posix-functions/ungetwc.texi: Likewise.
42959         * doc/posix-functions/vswprintf.texi: Likewise.
42960         * doc/posix-functions/wcrtomb.texi: Likewise.
42961         * doc/posix-functions/wcscat.texi: Likewise.
42962         * doc/posix-functions/wcschr.texi: Likewise.
42963         * doc/posix-functions/wcscmp.texi: Likewise.
42964         * doc/posix-functions/wcscoll.texi: Likewise.
42965         * doc/posix-functions/wcscpy.texi: Likewise.
42966         * doc/posix-functions/wcscspn.texi: Likewise.
42967         * doc/posix-functions/wcsftime.texi: Likewise.
42968         * doc/posix-functions/wcslen.texi: Likewise.
42969         * doc/posix-functions/wcsncat.texi: Likewise.
42970         * doc/posix-functions/wcsncmp.texi: Likewise.
42971         * doc/posix-functions/wcsncpy.texi: Likewise.
42972         * doc/posix-functions/wcspbrk.texi: Likewise.
42973         * doc/posix-functions/wcsrchr.texi: Likewise.
42974         * doc/posix-functions/wcsrtombs.texi: Likewise.
42975         * doc/posix-functions/wcsspn.texi: Likewise.
42976         * doc/posix-functions/wcsstr.texi: Likewise.
42977         * doc/posix-functions/wcstod.texi: Likewise.
42978         * doc/posix-functions/wcstof.texi: Likewise.
42979         * doc/posix-functions/wcstoimax.texi: Likewise.
42980         * doc/posix-functions/wcstok.texi: Likewise.
42981         * doc/posix-functions/wcstold.texi: Likewise.
42982         * doc/posix-functions/wcstoll.texi: Likewise.
42983         * doc/posix-functions/wcstol.texi: Likewise.
42984         * doc/posix-functions/wcstombs.texi: Likewise.
42985         * doc/posix-functions/wcstoull.texi: Likewise.
42986         * doc/posix-functions/wcstoul.texi: Likewise.
42987         * doc/posix-functions/wcstoumax.texi: Likewise.
42988         * doc/posix-functions/wcswidth.texi: Likewise.
42989         * doc/posix-functions/wcsxfrm.texi: Likewise.
42990         * doc/posix-functions/wctob.texi: Likewise.
42991         * doc/posix-functions/wctomb.texi: Likewise.
42992         * doc/posix-functions/wctrans.texi: Likewise.
42993         * doc/posix-functions/wctype.texi: Likewise.
42994         * doc/posix-functions/wcwidth.texi: Likewise.
42995         * doc/posix-functions/wmemchr.texi: Likewise.
42996         * doc/posix-functions/wmemcmp.texi: Likewise.
42997         * doc/posix-functions/wmemcpy.texi: Likewise.
42998         * doc/posix-functions/wmemmove.texi: Likewise.
42999         * doc/posix-functions/wmemset.texi: Likewise.
43000         * doc/posix-functions/wprintf.texi: Likewise.
43001         * doc/posix-functions/wscanf.texi: Likewise.
43002
43003 2008-12-21  Bruno Haible  <bruno@clisp.org>
43004
43005         Update doc for HP-UX 11.11.
43006         * doc/posix-functions/btowc.texi: Clarify that the function is missing
43007         in HP-UX version 11.00, not in all versions of HP-UX 11.
43008         * doc/posix-functions/fwide.texi: Likewise.
43009         * doc/posix-functions/fwprintf.texi: Likewise.
43010         * doc/posix-functions/fwscanf.texi: Likewise.
43011         * doc/posix-functions/inet_ntop.texi: Likewise.
43012         * doc/posix-functions/inet_pton.texi: Likewise.
43013         * doc/posix-functions/mbrlen.texi: Likewise.
43014         * doc/posix-functions/mbrtowc.texi: Likewise.
43015         * doc/posix-functions/mbsinit.texi: Likewise.
43016         * doc/posix-functions/mbsrtowcs.texi: Likewise.
43017         * doc/posix-functions/swprintf.texi: Likewise.
43018         * doc/posix-functions/swscanf.texi: Likewise.
43019         * doc/posix-functions/towctrans.texi: Likewise.
43020         * doc/posix-functions/vfwprintf.texi: Likewise.
43021         * doc/posix-functions/vswprintf.texi: Likewise.
43022         * doc/posix-functions/vwprintf.texi: Likewise.
43023         * doc/posix-functions/wcrtomb.texi: Likewise.
43024         * doc/posix-functions/wcsrtombs.texi: Likewise.
43025         * doc/posix-functions/wcsstr.texi: Likewise.
43026         * doc/posix-functions/wctob.texi: Likewise.
43027         * doc/posix-functions/wctrans.texi: Likewise.
43028         * doc/posix-functions/wmemchr.texi: Likewise.
43029         * doc/posix-functions/wmemcmp.texi: Likewise.
43030         * doc/posix-functions/wmemcpy.texi: Likewise.
43031         * doc/posix-functions/wmemmove.texi: Likewise.
43032         * doc/posix-functions/wmemset.texi: Likewise.
43033         * doc/posix-functions/wprintf.texi: Likewise.
43034         * doc/posix-functions/wscanf.texi: Likewise.
43035
43036 2008-12-21  Bruno Haible  <bruno@clisp.org>
43037
43038         Work around a portability problem.
43039         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
43040         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
43041
43042 2008-12-20  Bruno Haible  <bruno@clisp.org>
43043
43044         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
43045         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
43046         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
43047         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
43048         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
43049
43050         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
43051         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
43052         set.
43053         (GNULIB_defined_mbstate_t): New macro.
43054         (mbsinit): Redefine if REPLACE_MBSINIT is set.
43055         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
43056         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
43057         reuses the system's mbrtowc function but works around the bugs.
43058         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
43059         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
43060         macros.
43061         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
43062         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
43063         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
43064         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
43065         REPLACE_MBSINIT if mbsinit needs to be overridden.
43066         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
43067         REPLACE_MBSINIT, REPLACE_MBRTOWC.
43068         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
43069         REPLACE_MBSINIT, REPLACE_MBRTOWC.
43070         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
43071         m4/locale-zh.m4.
43072         (Depends): Add mbsinit.
43073         * modules/mbsinit (Depends): Add mbrtowc.
43074         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
43075
43076 2008-12-20  Bruno Haible  <bruno@clisp.org>
43077
43078         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
43079         so that there are no conversion errors on AIX.
43080         * tests/test-mbsrtowcs.c (main): LIkewise.
43081
43082 2008-12-20  Bruno Haible  <bruno@clisp.org>
43083
43084         Work around wctob bug on Solaris <= 9.
43085         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
43086         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
43087         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
43088         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
43089         * modules/wctob (Files): Add m4/locale-fr.m4.
43090         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
43091
43092 2008-12-20  Bruno Haible  <bruno@clisp.org>
43093
43094         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
43095         /dev/null.
43096         * tests/test-select-in.sh: Likewise.
43097         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
43098
43099 2008-12-20  Bruno Haible  <bruno@clisp.org>
43100
43101         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
43102         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
43103         Cygwin 1.5.x.
43104
43105 2008-12-20  Bruno Haible  <bruno@clisp.org>
43106
43107         Ensure mbstate_t is defined on HP-UX 11.11.
43108         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
43109         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
43110         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
43111         AC_USE_SYSTEM_EXTENSIONS.
43112         * modules/fnmatch (Depends-on): Add extensions.
43113         * modules/mbrlen (Depends-on): Likewise.
43114         * modules/mbrtowc (Depends-on): Likewise.
43115         * modules/mbsinit (Depends-on): Likewise.
43116         * modules/mbsrtowcs (Depends-on): Likewise.
43117         * modules/mbswidth (Depends-on): Likewise.
43118         * modules/quotearg (Depends-on): Likewise.
43119         * modules/strftime (Depends-on): Likewise.
43120
43121 2008-12-20  Bruno Haible  <bruno@clisp.org>
43122
43123         Ensure wctob is declared on IRIX 6.5.
43124         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
43125         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
43126         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
43127         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
43128         of HAVE_WCTOB.
43129         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
43130         HAVE_WCTOB.
43131         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
43132
43133 2008-12-19  Bruno Haible  <bruno@clisp.org>
43134
43135         * modules/mbsrtowcs-tests: New file.
43136         * tests/test-mbsrtowcs1.sh: New file.
43137         * tests/test-mbsrtowcs2.sh: New file.
43138         * tests/test-mbsrtowcs3.sh: New file.
43139         * tests/test-mbsrtowcs4.sh: New file.
43140         * tests/test-mbsrtowcs.c: New file.
43141
43142         New module 'mbsrtowcs'.
43143         * lib/wchar.in.h (mbsrtowcs): New declaration.
43144         * lib/mbsrtowcs.c: New file.
43145         * m4/mbsrtowcs.m4: New file.
43146         * modules/mbsrtowcs: New file.
43147         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
43148         HAVE_MBSRTOWCS.
43149         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
43150         HAVE_MBSRTOWCS.
43151         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
43152
43153 2008-12-19  Bruno Haible  <bruno@clisp.org>
43154
43155         New module 'mbrlen'.
43156         * lib/wchar.in.h (mbrlen): New declaration.
43157         * lib/mbrlen.c: New file.
43158         * m4/mbrlen.m4: New file.
43159         * modules/mbrlen: New file.
43160         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
43161         HAVE_MBRLEN.
43162         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
43163         HAVE_MBRLEN.
43164         * doc/posix-functions/mbrlen.texi: Document the new module.
43165
43166 2008-12-19  Bruno Haible  <bruno@clisp.org>
43167
43168         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
43169         * modules/mbrtowc (Depends-on): Add verify.
43170         Suggested by Paul Eggert.
43171
43172 2008-12-18  Bruno Haible  <bruno@clisp.org>
43173
43174         * modules/mbsinit-tests: New file.
43175         * tests/test-mbsinit.sh: New file.
43176         * tests/test-mbsinit.c: New file.
43177
43178 2008-12-18  Bruno Haible  <bruno@clisp.org>
43179
43180         * modules/mbrtowc-tests: New file.
43181         * tests/test-mbrtowc1.sh: New file.
43182         * tests/test-mbrtowc2.sh: New file.
43183         * tests/test-mbrtowc3.sh: New file.
43184         * tests/test-mbrtowc4.sh: New file.
43185         * tests/test-mbrtowc.c: New file.
43186
43187         New module 'mbrtowc'.
43188         * lib/wchar.in.h (mbstate_t): Override when the system does not have
43189         mbsinit and mbrtowc.
43190         (mbrtowc): New declaration.
43191         * lib/mbrtowc.c: New file.
43192         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
43193         * modules/mbrtowc: New file.
43194         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
43195         HAVE_MBRTOWC.
43196         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
43197         HAVE_MBRTOWC.
43198         * doc/posix-functions/mbrtowc.texi: Document the new module.
43199
43200 2008-12-18  Bruno Haible  <bruno@clisp.org>
43201
43202         New module 'wctob'.
43203         * lib/wchar.in.h (wctob): New declaration.
43204         * lib/wctob.c: New file.
43205         * m4/wctob.m4: New file.
43206         * modules/wctob: New file.
43207         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
43208         HAVE_WCTOB.
43209         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
43210         * doc/posix-functions/wctob.texi: Document the new module.
43211
43212 2008-12-18  Bruno Haible  <bruno@clisp.org>
43213
43214         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
43215         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
43216
43217 2008-12-18  Simon Josefsson  <simon@josefsson.org>
43218
43219         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
43220         G. Christensen" <tgc@jupiterrise.com>.
43221
43222         * lib/flock.c: Need to include errno.h.  Reported by "Tom
43223         G. Christensen" <tgc@jupiterrise.com>.
43224
43225         * lib/flock.c: Need to include string.h.  Reported by "Tom
43226         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
43227         <ebb9@byu.net>.
43228
43229 2008-12-18  Bruno Haible  <bruno@clisp.org>
43230
43231         * m4/locale-ja.m4: New file, from GNU gettext.
43232
43233 2008-12-17  Bruno Haible  <bruno@clisp.org>
43234
43235         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
43236         Suggested by Eric Blake.
43237
43238 2008-12-17  Bruno Haible  <bruno@clisp.org>
43239
43240         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
43241
43242 2008-12-17  Bruno Haible  <bruno@clisp.org>
43243
43244         * lib/mbsinit.c: Include verify.h. Verify an assumption.
43245         * modules/mbsinit (Depends-on): Add verify.
43246         Suggested by Paul Eggert.
43247
43248 2008-12-17  Bruno Haible  <bruno@clisp.org>
43249
43250         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
43251         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
43252         gl_FUNC_MBRTOWC.
43253         * m4/mbiter.m4 (gl_MBITER): LIkewise.
43254         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
43255         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
43256         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
43257         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
43258         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
43259         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
43260         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
43261         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
43262         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
43263         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
43264         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
43265         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
43266         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
43267         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
43268         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
43269         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
43270         * modules/trim (configure.ac): Likewise.
43271
43272 2008-12-17  Bruno Haible  <bruno@clisp.org>
43273
43274         * modules/btowc-tests: New file.
43275         * tests/test-btowc1.sh: New file.
43276         * tests/test-btowc2.sh: New file.
43277         * tests/test-btowc.c: New file.
43278
43279         New module 'btowc'.
43280         * lib/wchar.in.h (btowc): New declaration.
43281         * lib/btowc.c: New file.
43282         * m4/btowc.m4: New file.
43283         * modules/btowc: New file.
43284         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
43285         HAVE_BTOWC.
43286         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
43287         * doc/posix-functions/btowc.texi: Document the new module.
43288
43289 2008-12-17  Bruno Haible  <bruno@clisp.org>
43290
43291         New module 'mbsinit'.
43292         * lib/wchar.in.h (mbsinit): New declaration.
43293         * lib/mbsinit.c: New file.
43294         * m4/mbsinit.m4: New file.
43295         * modules/mbsinit: New file.
43296         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
43297         HAVE_MBSINIT.
43298         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
43299         HAVE_MBSINIT.
43300         * doc/posix-functions/mbsinit.texi: Document the new module.
43301
43302 2008-12-16  Bruno Haible  <bruno@clisp.org>
43303
43304         * lib/unistd.in.h: Add comment.
43305         * tests/test-environ.c: Don't include <stdlib.h>.
43306
43307 2008-12-16  Bruno Haible  <bruno@clisp.org>
43308
43309         * lib/parse-duration.h (parse_duration): Document return value
43310         convention.
43311         * lib/parse-duration.c: Include specification header first. Add
43312         comments.
43313         (_): Remove macro.
43314         (parse_year_month_day, parse_hour_minute_second): Move side effects
43315         outside of strchr call.
43316         (parse_non_iso8601): Move side effects outside of isspace call.
43317         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
43318         call.
43319
43320 2008-12-16  Bruno Haible  <bruno@clisp.org>
43321
43322         * tests/test-parse-duration.sh: Produce no output when the test
43323         succeeds.
43324
43325 2008-12-16  Bruno Haible  <bruno@clisp.org>
43326
43327         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
43328         expressions.
43329
43330 2008-12-15  Bruno Haible  <bruno@clisp.org>
43331
43332         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
43333         * doc/glibc-functions/flistxattr.texi: Likewise.
43334         * doc/glibc-functions/fopencookie.texi: Likewise.
43335         * doc/glibc-functions/fremovexattr.texi: Likewise.
43336         * doc/glibc-functions/fsetxattr.texi: Likewise.
43337         * doc/glibc-functions/getxattr.texi: Likewise.
43338         * doc/glibc-functions/lgetxattr.texi: Likewise.
43339         * doc/glibc-functions/listxattr.texi: Likewise.
43340         * doc/glibc-functions/llistxattr.texi: Likewise.
43341         * doc/glibc-functions/lremovexattr.texi: Likewise.
43342         * doc/glibc-functions/lsetxattr.texi: Likewise.
43343         * doc/glibc-functions/removexattr.texi: Likewise.
43344         * doc/glibc-functions/setxattr.texi: Likewise.
43345         * doc/posix-functions/open_memstream.texi: Likewise.
43346
43347 2008-12-15  Eric Blake  <ebb9@byu.net>
43348
43349         Update doc for cygwin 1.7.
43350         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
43351         functions.
43352         * doc/posix-functions/fchmodat.texi: Likewise.
43353         * doc/posix-functions/fchownat.texi: Likewise.
43354         * doc/posix-functions/fdopendir.texi: Likewise.
43355         * doc/posix-functions/fmemopen.texi: Likewise.
43356         * doc/posix-functions/freeaddrinfo.texi: Likewise.
43357         * doc/posix-functions/fstatat.texi: Likewise.
43358         * doc/posix-functions/futimens.texi: Likewise.
43359         * doc/posix-functions/gai_strerror.texi: Likewise.
43360         * doc/posix-functions/getaddrinfo.texi: Likewise.
43361         * doc/posix-functions/getnameinfo.texi: Likewise.
43362         * doc/posix-functions/if_freenameindex.texi: Likewise.
43363         * doc/posix-functions/if_indextoname.texi: Likewise.
43364         * doc/posix-functions/if_nameindex.texi: Likewise.
43365         * doc/posix-functions/if_nametoindex.texi: Likewise.
43366         * doc/posix-functions/insque.texi: Likewise.
43367         * doc/posix-functions/linkat.texi: Likewise.
43368         * doc/posix-functions/llrint.texi: Likewise.
43369         * doc/posix-functions/llrintf.texi: Likewise.
43370         * doc/posix-functions/llrintl.texi: Likewise.
43371         * doc/posix-functions/lockf.texi: Likewise.
43372         * doc/posix-functions/lrintl.texi: Likewise.
43373         * doc/posix-functions/mkdirat.texi: Likewise.
43374         * doc/posix-functions/mkfifoat.texi: Likewise.
43375         * doc/posix-functions/mknodat.texi: Likewise.
43376         * doc/posix-functions/mq_close.texi: Likewise.
43377         * doc/posix-functions/mq_getattr.texi: Likewise.
43378         * doc/posix-functions/mq_notify.texi: Likewise.
43379         * doc/posix-functions/mq_open.texi: Likewise.
43380         * doc/posix-functions/mq_receive.texi: Likewise.
43381         * doc/posix-functions/mq_send.texi: Likewise.
43382         * doc/posix-functions/mq_setattr.texi: Likewise.
43383         * doc/posix-functions/mq_timedreceive.texi: Likewise.
43384         * doc/posix-functions/mq_timedsend.texi: Likewise.
43385         * doc/posix-functions/mq_unlink.texi: Likewise.
43386         * doc/posix-functions/open_memstream.texi: Likewise.
43387         * doc/posix-functions/openat.texi: Likewise.
43388         * doc/posix-functions/posix_fadvise.texi: Likewise.
43389         * doc/posix-functions/posix_fallocate.texi: Likewise.
43390         * doc/posix-functions/posix_madvise.texi: Likewise.
43391         * doc/posix-functions/posix_memalign.texi: Likewise.
43392         * doc/posix-functions/posix_openpt.texi: Likewise.
43393         * doc/posix-functions/readlinkat.texi: Likewise.
43394         * doc/posix-functions/remque.texi: Likewise.
43395         * doc/posix-functions/renameat.texi: Likewise.
43396         * doc/posix-functions/rintl.texi: Likewise.
43397         * doc/posix-functions/sem_unlink.texi: Likewise.
43398         * doc/posix-functions/shm_open.texi: Likewise.
43399         * doc/posix-functions/shm_unlink.texi: Likewise.
43400         * doc/posix-functions/signgam.texi: Likewise.
43401         * doc/posix-functions/sigset.texi: Likewise.
43402         * doc/posix-functions/stpcpy.texi: Likewise.
43403         * doc/posix-functions/stpncpy.texi: Likewise.
43404         * doc/posix-functions/strerror.texi: Likewise.
43405         * doc/posix-functions/strtod.texi: Likewise.
43406         * doc/posix-functions/symlinkat.texi: Likewise.
43407         * doc/posix-functions/unlinkat.texi: Likewise.
43408         * doc/posix-functions/utimensat.texi: Likewise.
43409         * doc/glibc-functions/bindresvport.texi: Likewise.
43410         * doc/glibc-functions/dn_expand.texi: Likewise.
43411         * doc/glibc-functions/exp10.texi: Likewise.
43412         * doc/glibc-functions/exp10f.texi: Likewise.
43413         * doc/glibc-functions/fgetxattr.texi: Likewise.
43414         * doc/glibc-functions/flistxattr.texi: Likewise.
43415         * doc/glibc-functions/fopencookie.texi: Likewise.
43416         * doc/glibc-functions/freeifaddrs.texi: Likewise.
43417         * doc/glibc-functions/fremovexattr.texi: Likewise.
43418         * doc/glibc-functions/fsetxattr.texi: Likewise.
43419         * doc/glibc-functions/getifaddrs.texi: Likewise.
43420         * doc/glibc-functions/getxattr.texi: Likewise.
43421         * doc/glibc-functions/lgetxattr.texi: Likewise.
43422         * doc/glibc-functions/listxattr.texi: Likewise.
43423         * doc/glibc-functions/llistxattr.texi: Likewise.
43424         * doc/glibc-functions/lremovexattr.texi: Likewise.
43425         * doc/glibc-functions/lsetxattr.texi: Likewise.
43426         * doc/glibc-functions/pow10.texi: Likewise.
43427         * doc/glibc-functions/pow10f.texi: Likewise.
43428         * doc/glibc-functions/rcmd_af.texi: Likewise.
43429         * doc/glibc-functions/removexattr.texi: Likewise.
43430         * doc/glibc-functions/res_init.texi: Likewise.
43431         * doc/glibc-functions/res_mkquery.texi: Likewise.
43432         * doc/glibc-functions/res_query.texi: Likewise.
43433         * doc/glibc-functions/res_querydomain.texi: Likewise.
43434         * doc/glibc-functions/res_send.texi: Likewise.
43435         * doc/glibc-functions/rresvport_af.texi: Likewise.
43436         * doc/glibc-functions/setxattr.texi: Likewise.
43437         * doc/glibc-functions/strcasestr.texi: Likewise.
43438
43439 2008-12-15  Bruno Haible  <bruno@clisp.org>
43440
43441         Fix compilation error on OSF/1 4.0.
43442         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
43443         <sys/time.h>, simply delegate to the system header.
43444         Reported by Daniel Richard G. <oss@teragram.com>.
43445
43446 2008-12-15  Bruno Haible  <bruno@clisp.org>
43447
43448         * doc/posix-functions/openat.texi: Mention the 'openat' module.
43449         * doc/posix-functions/fchmodat.texi: Likewise.
43450         * doc/posix-functions/fchownat.texi: Likewise.
43451         * doc/posix-functions/fdopendir.texi: Likewise.
43452         * doc/posix-functions/fstatat.texi: Likewise.
43453         * doc/posix-functions/mkdirat.texi: Likewise.
43454         * doc/posix-functions/unlinkat.texi: Likewise.
43455
43456 2008-12-14  Bruno Haible  <bruno@clisp.org>
43457
43458         Update doc for POSIX:2008.
43459         * doc/posix-functions/faccessat.texi: New file.
43460         * doc/posix-functions/fchmodat.texi: New file.
43461         * doc/posix-functions/fchownat.texi: New file.
43462         * doc/posix-functions/fdopendir.texi: New file.
43463         * doc/posix-functions/fstatat.texi: New file.
43464         * doc/posix-functions/futimens.texi: New file.
43465         * doc/posix-functions/linkat.texi: New file.
43466         * doc/posix-functions/mkdirat.texi: New file.
43467         * doc/posix-functions/mkfifoat.texi: New file.
43468         * doc/posix-functions/mknodat.texi: New file.
43469         * doc/posix-functions/open_wmemstream.texi: New file.
43470         * doc/posix-functions/openat.texi: New file.
43471         * doc/posix-functions/psiginfo.texi: New file.
43472         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
43473         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
43474         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
43475         * doc/posix-functions/readlinkat.texi: New file.
43476         * doc/posix-functions/renameat.texi: New file.
43477         * doc/posix-functions/strerror_l.texi: New file.
43478         * doc/posix-functions/symlinkat.texi: New file.
43479         * doc/posix-functions/unlinkat.texi: New file.
43480         * doc/posix-functions/utimensat.texi: New file.
43481         * doc/gnulib.texi (Function Substitutes): Add these subsections.
43482
43483 2008-12-14  Bruno Haible  <bruno@clisp.org>
43484
43485         Update doc for POSIX:2008.
43486         * doc/posix-functions/alphasort.texi: Renamed from
43487         doc/glibc-functions/alphasort.texi.
43488         * doc/posix-functions/dirfd.texi: Renamed from
43489         doc/glibc-functions/dirfd.texi.
43490         * doc/posix-functions/dprintf.texi: Renamed from
43491         doc/glibc-functions/dprintf.texi.
43492         * doc/posix-functions/duplocale.texi: Renamed from
43493         doc/glibc-functions/duplocale.texi.
43494         * doc/posix-functions/fexecve.texi: Renamed from
43495         doc/glibc-functions/fexecve.texi.
43496         * doc/posix-functions/fmemopen.texi: Renamed from
43497         doc/glibc-functions/fmemopen.texi.
43498         * doc/posix-functions/freelocale.texi: Renamed from
43499         doc/glibc-functions/freelocale.texi.
43500         * doc/posix-functions/getdate_err.texi: Renamed from
43501         doc/glibc-functions/getdate_err.texi.
43502         * doc/posix-functions/isalnum_l.texi: Renamed from
43503         doc/glibc-functions/isalnum_l.texi.
43504         * doc/posix-functions/isalpha_l.texi: Renamed from
43505         doc/glibc-functions/isalpha_l.texi.
43506         * doc/posix-functions/isblank_l.texi: Renamed from
43507         doc/glibc-functions/isblank_l.texi.
43508         * doc/posix-functions/iscntrl_l.texi: Renamed from
43509         doc/glibc-functions/iscntrl_l.texi.
43510         * doc/posix-functions/isdigit_l.texi: Renamed from
43511         doc/glibc-functions/isdigit_l.texi.
43512         * doc/posix-functions/isgraph_l.texi: Renamed from
43513         doc/glibc-functions/isgraph_l.texi.
43514         * doc/posix-functions/islower_l.texi: Renamed from
43515         doc/glibc-functions/islower_l.texi.
43516         * doc/posix-functions/isprint_l.texi: Renamed from
43517         doc/glibc-functions/isprint_l.texi.
43518         * doc/posix-functions/ispunct_l.texi: Renamed from
43519         doc/glibc-functions/ispunct_l.texi.
43520         * doc/posix-functions/isspace_l.texi: Renamed from
43521         doc/glibc-functions/isspace_l.texi.
43522         * doc/posix-functions/isupper_l.texi: Renamed from
43523         doc/glibc-functions/isupper_l.texi.
43524         * doc/posix-functions/iswalnum_l.texi: Renamed from
43525         doc/glibc-functions/iswalnum_l.texi.
43526         * doc/posix-functions/iswalpha_l.texi: Renamed from
43527         doc/glibc-functions/iswalpha_l.texi.
43528         * doc/posix-functions/iswblank_l.texi: Renamed from
43529         doc/glibc-functions/iswblank_l.texi.
43530         * doc/posix-functions/iswcntrl_l.texi: Renamed from
43531         doc/glibc-functions/iswcntrl_l.texi.
43532         * doc/posix-functions/iswctype_l.texi: Renamed from
43533         doc/glibc-functions/iswctype_l.texi.
43534         * doc/posix-functions/iswdigit_l.texi: Renamed from
43535         doc/glibc-functions/iswdigit_l.texi.
43536         * doc/posix-functions/iswgraph_l.texi: Renamed from
43537         doc/glibc-functions/iswgraph_l.texi.
43538         * doc/posix-functions/iswlower_l.texi: Renamed from
43539         doc/glibc-functions/iswlower_l.texi.
43540         * doc/posix-functions/iswprint_l.texi: Renamed from
43541         doc/glibc-functions/iswprint_l.texi.
43542         * doc/posix-functions/iswpunct_l.texi: Renamed from
43543         doc/glibc-functions/iswpunct_l.texi.
43544         * doc/posix-functions/iswspace_l.texi: Renamed from
43545         doc/glibc-functions/iswspace_l.texi.
43546         * doc/posix-functions/iswupper_l.texi: Renamed from
43547         doc/glibc-functions/iswupper_l.texi.
43548         * doc/posix-functions/iswxdigit_l.texi: Renamed from
43549         doc/glibc-functions/iswxdigit_l.texi.
43550         * doc/posix-functions/isxdigit_l.texi: Renamed from
43551         doc/glibc-functions/isxdigit_l.texi.
43552         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
43553         doc/glibc-functions/mbsnrtowcs.texi.
43554         * doc/posix-functions/mkdtemp.texi: Renamed from
43555         doc/glibc-functions/mkdtemp.texi.
43556         * doc/posix-functions/newlocale.texi: Renamed from
43557         doc/glibc-functions/newlocale.texi.
43558         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
43559         doc/glibc-functions/nl_langinfo_l.texi.
43560         * doc/posix-functions/open_memstream.texi: Renamed from
43561         doc/glibc-functions/open_memstream.texi.
43562         * doc/posix-functions/opterr.texi: Renamed from
43563         doc/glibc-functions/opterr.texi.
43564         * doc/posix-functions/optind.texi: Renamed from
43565         doc/glibc-functions/optind.texi.
43566         * doc/posix-functions/optopt.texi: Renamed from
43567         doc/glibc-functions/optopt.texi.
43568         * doc/posix-functions/psignal.texi: Renamed from
43569         doc/glibc-functions/psignal.texi.
43570         * doc/posix-functions/scandir.texi: Renamed from
43571         doc/glibc-functions/scandir.texi.
43572         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
43573         doc/glibc-functions/sched_get_priority_min.texi.
43574         * doc/posix-functions/signgam.texi: Renamed from
43575         doc/glibc-functions/signgam.texi.
43576         * doc/posix-functions/stpcpy.texi: Renamed from
43577         doc/glibc-functions/stpcpy.texi.
43578         * doc/posix-functions/stpncpy.texi: Renamed from
43579         doc/glibc-functions/stpncpy.texi.
43580         * doc/posix-functions/strcasecmp_l.texi: Renamed from
43581         doc/glibc-functions/strcasecmp_l.texi.
43582         * doc/posix-functions/strcoll_l.texi: Renamed from
43583         doc/glibc-functions/strcoll_l.texi.
43584         * doc/posix-functions/strfmon_l.texi: Renamed from
43585         doc/glibc-functions/strfmon_l.texi.
43586         * doc/posix-functions/strftime_l.texi: Renamed from
43587         doc/glibc-functions/strftime_l.texi.
43588         * doc/posix-functions/strncasecmp_l.texi: Renamed from
43589         doc/glibc-functions/strncasecmp_l.texi.
43590         * doc/posix-functions/strndup.texi: Renamed from
43591         doc/glibc-functions/strndup.texi.
43592         * doc/posix-functions/strnlen.texi: Renamed from
43593         doc/glibc-functions/strnlen.texi.
43594         * doc/posix-functions/strsignal.texi: Renamed from
43595         doc/glibc-functions/strsignal.texi.
43596         * doc/posix-functions/strxfrm_l.texi: Renamed from
43597         doc/glibc-functions/strxfrm_l.texi.
43598         * doc/posix-functions/timer_gettime.texi: Renamed from
43599         doc/glibc-functions/timer_gettime.texi.
43600         * doc/posix-functions/tolower_l.texi: Renamed from
43601         doc/glibc-functions/tolower_l.texi.
43602         * doc/posix-functions/toupper_l.texi: Renamed from
43603         doc/glibc-functions/toupper_l.texi.
43604         * doc/posix-functions/towctrans_l.texi: Renamed from
43605         doc/glibc-functions/towctrans_l.texi.
43606         * doc/posix-functions/towlower_l.texi: Renamed from
43607         doc/glibc-functions/towlower_l.texi.
43608         * doc/posix-functions/towupper_l.texi: Renamed from
43609         doc/glibc-functions/towupper_l.texi.
43610         * doc/posix-functions/uselocale.texi: Renamed from
43611         doc/glibc-functions/uselocale.texi.
43612         * doc/posix-functions/vdprintf.texi: Renamed from
43613         doc/glibc-functions/vdprintf.texi.
43614         * doc/posix-functions/wcpcpy.texi:
43615         Renamed from doc/glibc-functions/wcpcpy.texi.
43616         * doc/posix-functions/wcpncpy.texi: Renamed from
43617         doc/glibc-functions/wcpncpy.texi.
43618         * doc/posix-functions/wcscasecmp.texi: Renamed from
43619         doc/glibc-functions/wcscasecmp.texi.
43620         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
43621         doc/glibc-functions/wcscasecmp_l.texi.
43622         * doc/posix-functions/wcscoll_l.texi: Renamed from
43623         doc/glibc-functions/wcscoll_l.texi.
43624         * doc/posix-functions/wcsdup.texi: Renamed from
43625         doc/glibc-functions/wcsdup.texi.
43626         * doc/posix-functions/wcsncasecmp.texi: Renamed from
43627         doc/glibc-functions/wcsncasecmp.texi.
43628         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
43629         doc/glibc-functions/wcsncasecmp_l.texi.
43630         * doc/posix-functions/wcsnlen.texi: Renamed from
43631         doc/glibc-functions/wcsnlen.texi.
43632         * doc/posix-functions/wcsnrtombs.texi: Renamed from
43633         doc/glibc-functions/wcsnrtombs.texi.
43634         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
43635         doc/glibc-functions/wcsxfrm_l.texi.
43636         * doc/posix-functions/wctrans_l.texi: Renamed from
43637         doc/glibc-functions/wctrans_l.texi.
43638         * doc/posix-functions/wctype_l.texi: Renamed from
43639         doc/glibc-functions/wctype_l.texi.
43640         * doc/gnulib.texi (Function Substitutes): Add these subsections.
43641         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
43642         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
43643         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
43644         these subsections.
43645         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
43646         Remove sections.
43647
43648 2008-12-14  Bruno Haible  <bruno@clisp.org>
43649
43650         Update doc for POSIX:2008.
43651         * doc/posix-functions/*.texi: Update URL of POSIX specification.
43652
43653 2008-12-14  Bruno Haible  <bruno@clisp.org>
43654
43655         Update doc for POSIX:2008.
43656         * doc/pastposix-functions/bcmp.texi: Renamed from
43657         doc/posix-functions/bcmp.texi.
43658         * doc/pastposix-functions/bcopy.texi: Renamed from
43659         doc/posix-functions/bcopy.texi.
43660         * doc/pastposix-functions/bsd_signal.texi: Renamed from
43661         doc/posix-functions/bsd_signal.texi.
43662         * doc/pastposix-functions/bzero.texi: Renamed from
43663         doc/posix-functions/bzero.texi.
43664         * doc/pastposix-functions/ecvt.texi: Renamed from
43665         doc/posix-functions/ecvt.texi.
43666         * doc/pastposix-functions/fcvt.texi: Renamed from
43667         doc/posix-functions/fcvt.texi.
43668         * doc/pastposix-functions/ftime.texi: Renamed from
43669         doc/posix-functions/ftime.texi.
43670         * doc/pastposix-functions/gcvt.texi: Renamed from
43671         doc/posix-functions/gcvt.texi.
43672         * doc/pastposix-functions/getcontext.texi: Renamed from
43673         doc/posix-functions/getcontext.texi.
43674         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
43675         doc/posix-functions/gethostbyaddr.texi.
43676         * doc/pastposix-functions/gethostbyname.texi: Renamed from
43677         doc/posix-functions/gethostbyname.texi.
43678         * doc/pastposix-functions/getwd.texi: Renamed from
43679         doc/posix-functions/getwd.texi.
43680         * doc/pastposix-functions/h_errno.texi: Renamed from
43681         doc/posix-functions/h_errno.texi.
43682         * doc/pastposix-functions/index.texi: Renamed from
43683         doc/posix-functions/index.texi.
43684         * doc/pastposix-functions/makecontext.texi: Renamed from
43685         doc/posix-functions/makecontext.texi.
43686         * doc/pastposix-functions/mktemp.texi: Renamed from
43687         doc/posix-functions/mktemp.texi.
43688         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
43689         doc/posix-functions/pthread_attr_getstackaddr.texi.
43690         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
43691         doc/posix-functions/pthread_attr_setstackaddr.texi.
43692         * doc/pastposix-functions/rindex.texi: Renamed from
43693         doc/posix-functions/rindex.texi.
43694         * doc/pastposix-functions/scalb.texi: Renamed from
43695         doc/posix-functions/scalb.texi.
43696         * doc/pastposix-functions/setcontext.texi: Renamed from
43697         doc/posix-functions/setcontext.texi.
43698         * doc/pastposix-functions/swapcontext.texi: Renamed from
43699         doc/posix-functions/swapcontext.texi.
43700         * doc/pastposix-functions/ualarm.texi: Renamed from
43701         doc/posix-functions/ualarm.texi.
43702         * doc/pastposix-functions/usleep.texi: Renamed from
43703         doc/posix-functions/usleep.texi.
43704         * doc/pastposix-functions/vfork.texi: Renamed from
43705         doc/posix-functions/vfork.texi.
43706         * doc/pastposix-functions/wcswcs.texi: Renamed from
43707         doc/posix-functions/wcswcs.texi.
43708         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
43709         (Function Substitutes): Update.
43710
43711 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43712
43713         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
43714         m4/strerror.m4.
43715
43716 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43717             Bruno Haible  <bruno@clisp.org>
43718
43719         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
43720
43721 2008-12-13  Bruno Haible  <bruno@clisp.org>
43722
43723         * modules/strtoull (Depends-on): Remove unistd.
43724
43725 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43726
43727         * modules/strtoull (Depends-on): Add stdlib.
43728
43729 2008-12-11  Simon Josefsson  <simon@josefsson.org>
43730
43731         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
43732
43733 2008-12-10  Jim Meyering  <meyering@redhat.com>
43734
43735         gl_ASSERT: don't say assertions are disabled when they're not
43736         * m4/assert.m4 (gl_ASSERT): Do not make configure report
43737         "checking whether to enable assertions... no", when they are in
43738         fact enabled.  This is solely a bug in the output of configure.
43739         In spite of saying "no", NDEBUG was not defined in that case.
43740         Also, as noted by Eric Blake, leave assertions enabled upon
43741         --enable-assert=INVALID.
43742
43743 2008-12-10  Bruno Haible  <bruno@clisp.org>
43744
43745         Change MODULES.html to refer to POSIX:2008 where possible.
43746         * MODULES.html.sh (POSIX2008_URL): New variable.
43747         (posix_headers): Remove sys/timeb, ucontext.
43748         (posix2001_headers): New variable.
43749         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
43750         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
43751         index, makecontext, mktemp, pthread_attr_getstackaddr,
43752         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
43753         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
43754         (posix2001_functions): New variable.
43755         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
43756         otherwise.
43757
43758 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43759
43760         add missing include to parse-duration.c
43761         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
43762         * modules/parse-duration (Depends-on): Add xalloc.
43763
43764         fix sed script reading maint.mk
43765         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
43766         (syntax-check-rules): Use it.
43767
43768 2008-12-09  Bruno Haible  <bruno@clisp.org>
43769
43770         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
43771         MacOS X 10.4/PowerPC.
43772         Reported by Simon Josefsson.
43773
43774 2008-12-08  Jim Meyering  <meyering@redhat.com>
43775
43776         work around mingw's lack of some S_IF definitions
43777         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
43778         Reported by Simon Josefsson.
43779
43780 2008-12-08  Bruno Haible  <bruno@clisp.org>
43781
43782         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
43783         applied to variables. Needed on MacOS X 10.4/PowerPC.
43784         Reported by Simon Josefsson.
43785
43786 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
43787         and Eric Blake  <ebb9@byu.net>
43788
43789         assert: honor --enable-assert
43790         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
43791         order to honor --enable-assert, rather than treating it as a
43792         synonym for --disable-assert.
43793
43794 2008-12-08  Jim Meyering  <meyering@redhat.com>
43795
43796         * lib/posixtm.c: Remove now-useless declaration of mktime.
43797
43798         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
43799
43800 2008-12-07  Bruno Haible  <bruno@clisp.org>
43801
43802         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
43803         test_once): Mark functions as static.
43804         * tests/test-tls.c (test_tls): Likewise.
43805
43806 2008-12-07  Bruno Haible  <bruno@clisp.org>
43807
43808         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
43809         iconv_register_autodetect.
43810
43811 2008-12-07  Jim Meyering  <meyering@redhat.com>
43812
43813         posixtm.c: avoid a warning
43814         * lib/posixtm.c (posixtime): Don't initialize tm0.
43815         It's no longer needed to placate gcc4's -Wuninitialized,
43816         and the attempt to placate would elicit a new warning.
43817
43818         unicodeio.c: mark unused parameters
43819         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
43820         (fallback_failure_callback): Likewise.
43821
43822 2008-12-07  Bruno Haible  <bruno@clisp.org>
43823
43824         * gnulib-tool (func_create_testdir): When building the tests
43825         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
43826         Reported by Simon Josefsson.
43827
43828 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43829
43830         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
43831
43832 2008-12-06  Bruno Haible  <bruno@clisp.org>
43833
43834         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
43835         Suggested by Eric Blake.
43836
43837 2008-12-06  Bruno Haible  <bruno@clisp.org>
43838
43839         Fix a c-stack test failure on MacOS X.
43840         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
43841         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
43842         handler for SIGBUS as well.
43843         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
43844         install a signal handler for SIGBUS as well.
43845         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
43846
43847 2008-12-06  Bruno Haible  <bruno@clisp.org>
43848
43849         Advocacy documentation.
43850         * doc/gnulib-intro.texi (Benefits): New section.
43851         * doc/gnulib.texi: Update.
43852
43853 2008-12-06  Bruno Haible  <bruno@clisp.org>
43854
43855         Document the 'manywarnings' module.
43856         * doc/manywarnings.texi: New file.
43857         * doc/gnulib.texi: Include it.
43858
43859 2008-12-05  Eric Blake  <ebb9@byu.net>
43860
43861         tests: silence some gcc warnings
43862         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
43863         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
43864         type mismatches.
43865
43866 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43867             Bruno Haible  <bruno@clisp.org>
43868
43869         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
43870
43871 2008-11-29  Jim Meyering  <meyering@redhat.com>
43872
43873         unicodeio.c: mark unused parameters
43874         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
43875         (fallback_failure_callback): Likewise.
43876
43877         fts: fix a thinko
43878         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
43879         (set_stat_type): Return S_IF*-valued "type" directly.
43880         Prompted by James Youngman's spotting a related bug.
43881         Confirmed by further testing through find.
43882
43883         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
43884         * lib/fts.c (D_TYPE): Define.
43885         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
43886         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
43887         (s_ifmt_shift_bits): New function.
43888         (set_stat_type): New function.
43889         (fts_build): When not calling fts_stat, call set_stat_type
43890         to propagate dirent.d_type info to fts_read caller.
43891         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
43892         fts_statp->st_mode type information may be valid.
43893
43894 2008-11-28  Simon Josefsson  <simon@josefsson.org>
43895
43896         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
43897         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
43898         <sds@gnu.org>.
43899
43900 2008-11-20  Bruno Haible  <bruno@clisp.org>
43901
43902         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
43903         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
43904         INCLUDE_NEXT.
43905         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
43906         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
43907         * modules/math (Makefile.am): Substitute
43908         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
43909         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
43910
43911 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
43912             Bruno Haible  <bruno@clisp.org>
43913
43914         * lib/stdint.in.h: Define all type macros so that their expansion is
43915         a single typedef'ed token. Fixes a compilation failure in Boost which
43916         does "using ::int8_t;".
43917
43918 2008-11-18  Simon Josefsson  <simon@josefsson.org>
43919
43920         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
43921         gl_MANYWARN_ALL_GCC.
43922         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
43923         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
43924         * modules/manywarnings: New file.
43925         * MODULES.html.sh: Mention manywarnings module.
43926
43927 2008-11-18  Bruno Haible  <bruno@clisp.org>
43928
43929         * doc/gnulib-tool.texi (Unit tests): New section.
43930
43931 2008-11-18  Simon Josefsson  <simon@josefsson.org>
43932
43933         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
43934         paths like 'lib/po/foo.po'.
43935
43936 2008-11-17  Simon Josefsson  <simon@josefsson.org>
43937
43938         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
43939         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
43940
43941 2008-11-17  Simon Josefsson  <simon@josefsson.org>
43942
43943         * m4/warnings.m4: Use CPPFLAGS to really check whether the
43944         parameter works.
43945
43946 2008-11-17  Simon Josefsson  <simon@josefsson.org>
43947
43948         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
43949
43950 2008-11-17  Bruce Korb  <bkorb@gnu.org>
43951
43952         * modules/parse-duration-tests: New file.
43953         * tests/test-parse-duration.sh: New file.
43954         * tests/test-parse-duration.c: New file.
43955
43956         New module 'parse-duration'.
43957         * lib/parse-duration.h: New file.
43958         * lib/parse-duration.c: New file.
43959         * modules/parse-duration: New file.
43960
43961 2008-11-17  Bruno Haible  <bruno@clisp.org>
43962
43963         * tests/test-select-out.sh: Comment out the first pipe test.
43964         Reported by Simon Josefsson.
43965
43966 2008-11-17  Bruno Haible  <bruno@clisp.org>
43967
43968         * modules/getaddrinfo (Depends-on): Add servent, hostent.
43969         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
43970         gl_HOSTENT.
43971
43972 2008-11-17  Bruno Haible  <bruno@clisp.org>
43973
43974         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
43975         -lnetwork and -lnet. Needed for Haiku and BeOS.
43976
43977 2008-11-16  Bruno Haible  <bruno@clisp.org>
43978
43979         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
43980
43981 2008-11-16  Bruno Haible  <bruno@clisp.org>
43982
43983         Avoid test failure on Haiku.
43984         * tests/test-fsync.c: Include <errno.h>.
43985         (main): Don't require that fsync (0) fails.
43986
43987 2008-11-15  Bruno Haible  <bruno@clisp.org>
43988
43989         New module 'hostent'.
43990         * modules/hostent: New file.
43991         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
43992
43993 2008-11-15  Bruno Haible  <bruno@clisp.org>
43994
43995         New module 'servent'.
43996         * modules/servent: New file.
43997         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
43998
43999 2008-11-15  Bruno Haible  <bruno@clisp.org>
44000
44001         Avoid generating same test program with two different rules.
44002         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
44003         test-frexp to test-frexp-nolibm.
44004         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
44005         test-frexpl to test-frexpl-nolibm.
44006
44007 2008-11-15  Bruno Haible  <bruno@clisp.org>
44008
44009         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
44010         $(FREXPL_LIBM).
44011
44012 2008-11-15  Bruno Haible  <bruno@clisp.org>
44013
44014         * lib/netdb.in.h: Activate the definitions also when the system's
44015         <netdb.h> has 'struct addrinfo'.
44016         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
44017         EAI_OVERFLOW or AI_NUMERICSERV.
44018         * doc/posix-headers/netdb.texi: Document the problem.
44019
44020 2008-11-15  Bruno Haible  <bruno@clisp.org>
44021
44022         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
44023
44024         Make the 'sched' module work on platforms where <sched.h> exists but
44025         is incomplete (such as Haiku).
44026         * lib/sched.in.h; Include the system's <sched.h> if it exists.
44027         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
44028         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
44029         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
44030         HAVE_STRUCT_SCHED_PARAM.
44031         * modules/sched (Depends-on): Add include_next.
44032         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
44033         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
44034         * doc/posix-headers/sched.texi: Document the issue.
44035
44036 2008-11-13  Jim Meyering  <meyering@redhat.com>
44037
44038         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
44039         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
44040         test would fail due to the difference in the Report bugs to ...
44041         line.  The expected address is empty, "<>", while the actual
44042         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
44043
44044 2008-11-12  Bruno Haible  <bruno@clisp.org>
44045
44046         lstat: don't compile lstat.c on systems lacking lstat
44047         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
44048         which don't have lstat; this is handled by lib/sys_stat.in.h already.
44049         Reported by Daniel P. Berrange via Jim Meyering.
44050
44051 2008-11-12  Jim Meyering  <meyering@redhat.com>
44052
44053         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
44054
44055 2008-11-12  Simon Josefsson  <simon@josefsson.org>
44056
44057         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
44058         instead.
44059
44060 2008-11-12  Bruno Haible  <bruno@clisp.org>
44061
44062         * lib/unicodeio.c: Include unistr.h.
44063         (utf8_wctomb): Remove function.
44064         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
44065
44066 2008-11-12  Simon Josefsson  <simon@josefsson.org>
44067
44068         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
44069         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
44070         <bruno@clisp.org>.
44071         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
44072
44073 2008-11-12  Simon Josefsson  <simon@josefsson.org>
44074
44075         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
44076         * doc/gnulib.texi: Add section for warnings.
44077
44078 2008-11-11  Bruno Haible  <bruno@clisp.org>
44079
44080         * lib/sockets.h: Add a comment.
44081
44082 2008-11-11  Karl Berry  <karl@gnu.org>
44083
44084         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
44085
44086 2008-11-11  Eric Blake  <ebb9@byu.net>
44087
44088         fdl.texi: avoid git symlinks
44089         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
44090
44091 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
44092
44093         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
44094
44095 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
44096
44097         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
44098         (gl_WARN_ADD): Substitute $2 if literal.
44099
44100 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
44101
44102         * m4/warning.m4: Remove.
44103
44104 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
44105
44106         * m4/warnings.m4: Almost complete rewrite. :-)
44107
44108 2008-11-10  Simon Josefsson  <simon@josefsson.org>
44109
44110         * modules/warnings: New module.
44111         * m4/warnings.m4: New file.
44112         * MODULES.html.sh: Mention warnings module.
44113         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
44114         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
44115
44116 2008-11-10  Eric Blake  <ebb9@byu.net>
44117
44118         fdl.texi: make a symlink to the latest version
44119         * doc/standards.texi: Revert today's earlier change.
44120         * doc/fdl-1.2.texi: Rename from old fdl.texi...
44121         * doc/fdl.texi: ...and replace this with a symlink to the newer
44122         fdl-1.3.texi.
44123
44124 2008-11-10  Bruno Haible  <bruno@clisp.org>
44125
44126         * tests/test-select-fd.c (main): Accept the result file name as fourth
44127         argument.
44128         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
44129         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
44130
44131 2008-11-10  Bruno Haible  <bruno@clisp.org>
44132
44133         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
44134         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
44135         as autoconf-substituted macros.
44136         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
44137         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
44138         gl_NETDB_H_DEFAULTS. Set these variables.
44139         * modules/netdb (Makefile.am): Substitute these variables.
44140
44141 2008-11-10  Eric Blake  <ebb9@byu.net>
44142
44143         standards.texi: include correct file for FDL 1.3
44144         * doc/standards.texi (GNU Free Documentation License): Change
44145         include file to pull in FDL 1.3, not 1.2.
44146
44147         fdl.texi: revert accidental change to license
44148         * doc/fdl.texi: This is FDL 1.2, not 1.3.
44149
44150 2008-11-10  Bruno Haible  <bruno@clisp.org>
44151
44152         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
44153         cross-compiling guesses also when the native compile gives no result.
44154
44155 2008-11-10  Bruno Haible  <bruno@clisp.org>
44156
44157         * lib/spawni.c (__spawni): Force variable into the stack.
44158
44159 2008-11-10  Bruno Haible  <bruno@clisp.org>
44160
44161         Add support for Haiku.
44162         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
44163         glibc and BeOS, but also on Haiku.
44164         * lib/fpurge.c (fpurge): Likewise.
44165         * lib/freadable.c (freadable): Likewise.
44166         * lib/freadahead.c (freadahead): Likewise.
44167         * lib/freading.c (freading): Likewise.
44168         * lib/freadptr.c (freadptr): Likewise.
44169         * lib/freadseek.c (freadptrinc): Likewise.
44170         * lib/fseeko.c (rpl_fseeko): Likewise.
44171         * lib/fseterr.c (fseterr): Likewise.
44172         * lib/fwritable.c (fwritable): Likewise.
44173         * lib/fwriting.c (fwriting): Likewise.
44174         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
44175
44176 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
44177
44178         * lib/config.charset: Treat Haiku like BeOS.
44179
44180 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
44181
44182         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
44183         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
44184
44185 2008-11-08  Bruno Haible  <bruno@clisp.org>
44186
44187         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
44188         AC_CACHE_CHECK.
44189
44190 2008-11-08  Bruno Haible  <bruno@clisp.org>
44191
44192         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
44193
44194 2008-11-08  Bruno Haible  <bruno@clisp.org>
44195
44196         * tests/test-select-fd.c: New file.
44197         * tests/test-select-in.sh: New file.
44198         * tests/test-select-out.sh: New file.
44199         * tests/test-select-stdin.c: New file.
44200         * modules/select-tests (Files): Add the new files.
44201         (Depends-on): Add gettimeofday.
44202         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
44203         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
44204         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
44205
44206 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
44207             Bruno Haible  <bruno@clisp.org>
44208
44209         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
44210
44211 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
44212
44213         * build-aux/pmccabe2html: Added support for C++ source files.
44214
44215 2008-11-05  Ben Pfaff  <blp@gnu.org>
44216
44217         Fix lib/close.c build on Windows.
44218         * modules/close (Files): Add lib/w32sock.h.
44219
44220 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
44221
44222         Accept Bison's NEWS format.
44223         * build-aux/announce-gen (print_news_deltas): Tweak
44224         $re_prefix.
44225
44226 2008-11-04  Bruno Haible  <bruno@clisp.org>
44227
44228         * modules/random_r (Maintainer): Add glibc.
44229
44230 2008-11-04  Simon Josefsson  <simon@josefsson.org>
44231
44232         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
44233         by karl@freefriends.org (Karl Berry).
44234         * doc/alloca.texi: Likewise.
44235         * doc/c-ctype.texi: Likewise.
44236         * doc/c-strcase.texi: Likewise.
44237         * doc/c-strcaseeq.texi: Likewise.
44238         * doc/c-strcasestr.texi: Likewise.
44239         * doc/c-strstr.texi: Likewise.
44240         * doc/c-strtod.texi: Likewise.
44241         * doc/c-strtold.texi: Likewise.
44242         * doc/ctime.texi: Likewise.
44243         * doc/error.texi: Likewise.
44244         * doc/fdl.texi: Likewise.
44245         * doc/gcd.texi: Likewise.
44246         * doc/getdate.texi: Likewise.
44247         * doc/gnulib-intro.texi: Likewise.
44248         * doc/gnulib-tool.texi: Likewise.
44249         * doc/gnulib.texi: Likewise.
44250         * doc/inet_ntoa.texi: Likewise.
44251         * doc/maintain.texi: Likewise.
44252         * doc/make-stds.texi: Likewise.
44253         * doc/quote.texi: Likewise.
44254         * doc/regexprops-generic.texi: Likewise.
44255         * doc/standards.texi: Likewise.
44256         * doc/verify.texi: Likewise.
44257         * doc/visibility.texi: Likewise.
44258         * doc/gnulib.texi (GNU Free Documentation License): Include
44259         fdl-1.3.texi instead of fdl.texi.
44260
44261 2008-11-04  Simon Josefsson  <simon@josefsson.org>
44262
44263         * doc/fdl-1.3.texi: New file, from
44264         <http://www.gnu.org/licenses/fdl-1.3.texi>.
44265         * modules/fdl-1.3: Add.
44266         * MODULES.html.sh: Add fdl-1.3.
44267
44268 2008-11-03  Bruno Haible  <bruno@clisp.org>
44269
44270         Make determination of absolute name of header file work with AIX xlc.
44271         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
44272         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
44273         preprocessing.
44274         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
44275         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
44276
44277 2008-11-03  Simon Josefsson  <simon@josefsson.org>
44278
44279         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
44280         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
44281         <ludo@gnu.org>.
44282
44283 2008-11-02  Bruno Haible  <bruno@clisp.org>
44284
44285         Mark 'strpbrk' obsolete.
44286         * modules/strpbrk (Status, Notice): New sections.
44287         * modules/strtok_r (Depends-on): Add strpbrk.
44288
44289 2008-11-02  Bruno Haible  <bruno@clisp.org>
44290
44291         Mark 'strdup' obsolete.
44292         * modules/strdup (Status, Notice): New sections.
44293         * modules/findprog (Depends-on): Add strdup.
44294         * modules/getaddrinfo (Depends-on): Likewise.
44295         * modules/localename (Depends-on): Likewise.
44296         * modules/relocatable-lib (Depends-on): Likewise.
44297         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
44298         * modules/relocatable-prog (Depends-on): Likewise.
44299         * modules/trim (Depends-on): Likewise.
44300         * modules/unictype/gen-ctype (Depends-on): Likewise.
44301         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
44302
44303 2008-11-02  Bruno Haible  <bruno@clisp.org>
44304
44305         Mark 'strcspn' obsolete.
44306         * modules/strcspn (Status, Notice): New sections.
44307
44308 2008-11-02  Bruno Haible  <bruno@clisp.org>
44309
44310         Mark 'rmdir' obsolete.
44311         * modules/rmdir (Status, Notice): New sections.
44312         * modules/clean-temp (Depends-on): Add rmdir.
44313         * modules/openat (Depends-on): Likewise.
44314
44315 2008-11-02  Bruno Haible  <bruno@clisp.org>
44316
44317         Mark 'raise' obsolete.
44318         * modules/raise (Status, Notice): New sections.
44319         (Include): Specify <signal.h>.
44320         * modules/stdio (Depends-on): Add raise.
44321         * modules/write (Depends-on): Likewise.
44322
44323 2008-11-02  Bruno Haible  <bruno@clisp.org>
44324
44325         Mark 'memset' obsolete.
44326         * modules/memset (Status, Notice): New sections.
44327
44328 2008-11-02  Bruno Haible  <bruno@clisp.org>
44329
44330         Mark 'memmove' obsolete.
44331         * modules/memmove (Status, Notice): New sections.
44332         * modules/argp (Depends-on): Add memmove.
44333         * modules/argz (Depends-on): Likewise.
44334         * modules/canonicalize (Depends-on): Likewise.
44335         * modules/canonicalize-lgpl (Depends-on): Likewise.
44336         * modules/fts (Depends-on): Likewise.
44337         * modules/getcwd (Depends-on): Likewise.
44338         * modules/human (Depends-on): Likewise.
44339         * modules/regex (Depends-on): Likewise.
44340         * modules/striconveh (Depends-on): Likewise.
44341         * modules/trim (Depends-on): Likewise.
44342         * modules/unistr/u8-move (Depends-on): Likewise.
44343         * modules/unistr/u16-move (Depends-on): Likewise.
44344         * modules/unistr/u32-move (Depends-on): Likewise.
44345
44346 2008-11-02  Bruno Haible  <bruno@clisp.org>
44347
44348         Mark 'memcpy' obsolete.
44349         * modules/memcpy (Status, Notice): New sections.
44350
44351 2008-11-02  Bruno Haible  <bruno@clisp.org>
44352
44353         Mark 'memcmp' obsolete.
44354         * modules/memcmp (Status, Notice): New sections.
44355         * modules/argmatch (Depends-on): Add memchr.
44356         * modules/backupfile (Depends-on): Likewise.
44357         * modules/c-strcasestr (Depends-on): Likewise.
44358         * modules/crypto/des (Depends-on): Likewise.
44359         * modules/csharpcomp (Depends-on): Likewise.
44360         * modules/fnmatch (Depends-on): Likewise.
44361         * modules/git-merge-changelog (Depends-on): Likewise.
44362         * modules/isnand (Depends-on): Likewise.
44363         * modules/isnand-nolibm (Depends-on): Likewise.
44364         * modules/isnanf (Depends-on): Likewise.
44365         * modules/isnanf-nolibm (Depends-on): Likewise.
44366         * modules/isnanl (Depends-on): Likewise.
44367         * modules/isnanl-nolibm (Depends-on): Likewise.
44368         * modules/mbchar (Depends-on): Likewise.
44369         * modules/memcoll (Depends-on): Likewise.
44370         * modules/quotearg (Depends-on): Likewise.
44371         * modules/regex (Depends-on): Likewise.
44372         * modules/relocatable-prog (Depends-on): Likewise.
44373         * modules/same (Depends-on): Likewise.
44374         * modules/signbit (Depends-on): Likewise.
44375         * modules/strcasestr-simple (Depends-on): Likewise.
44376         * modules/unictype/gen-ctype (Depends-on): Likewise.
44377         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
44378         * modules/uniname/uniname (Depends-on): Likewise.
44379         * modules/unistr/u8-cmp (Depends-on): Likewise.
44380
44381 2008-11-02  Bruno Haible  <bruno@clisp.org>
44382
44383         Mark 'memchr' obsolete.
44384         * modules/memchr (Status, Notice): New sections.
44385         * modules/argp (Depends-on): Add memchr.
44386         * modules/base64 (Depends-on): Likewise.
44387         * modules/c-strcasestr (Depends-on): Likewise.
44388         * modules/chdir-long (Depends-on): Likewise.
44389         * modules/fnmatch (Depends-on): Likewise.
44390         * modules/getsubopt (Depends-on): Likewise.
44391         * modules/git-merge-changelog (Depends-on): Likewise.
44392         * modules/glob (Depends-on): Likewise.
44393         * modules/strcasestr-simple (Depends-on): Likewise.
44394         * modules/strnlen (Depends-on): Likewise.
44395
44396 2008-11-02  Bruno Haible  <bruno@clisp.org>
44397
44398         Mark 'atexit' obsolete.
44399         * modules/atexit (Status, Notice): New sections.
44400         * modules/chdir-long (Depends-on): Add atexit.
44401         * modules/wait-process (Depends-on): Likewise.
44402
44403 2008-11-02  Bruno Haible  <bruno@clisp.org>
44404
44405         * gnulib-tool: New option --with-obsolete.
44406         (func_usage): Document it.
44407         (func_modules_transitive_closure): Drop obsolete dependencies if
44408         incobsolete is not true.
44409         (func_import): Read and save the incobsolete variable to the cache.
44410
44411 2008-11-02  Bruno Haible  <bruno@clisp.org>
44412
44413         * modules/TEMPLATE-EXTENDED: New field 'Status'.
44414         * gnulib-tool: New option --extract-status.
44415         (func_usage): Document it.
44416         (sed_extract_prog): Recognize it.
44417         (func_get_status): New function.
44418
44419 2008-10-30  Simon Josefsson  <simon@josefsson.org>
44420
44421         * modules/sockets (License): Change from LGPL to LGPLv2+.
44422
44423 2008-10-28  Simon Josefsson  <simon@josefsson.org>
44424
44425         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
44426
44427 2008-10-28  Simon Josefsson  <simon@josefsson.org>
44428
44429         * MODULES.html.sh (Support for systems lacking POSIX:2001):
44430         Mention times and sys_times.
44431         * modules/sys_times, modules/sys_times-tests: New modules.
44432         * modules/times, modules/times-tests: Likewise
44433         * m4/sys_times_h.m4: New file.
44434         * lib/sys_times.in.h: Likewise
44435         * lib/times.c: Likewise.
44436         * tests/test-sys_times.c: Likewise.
44437         * tests/test-times.c: Likewise.
44438         * doc/posix-headers/sys_times.texi: Update.
44439         * doc/posix-functions/times.texi: Update.
44440
44441 2008-10-28  Jim Meyering  <meyering@redhat.com>
44442
44443         * modules/tempname (Depends-on): Add lstat.
44444
44445         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
44446
44447 2008-10-28  Simon Josefsson  <simon@josefsson.org>
44448
44449         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
44450         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
44451         using idiom used elsewhere in gnulib.
44452
44453 2008-10-27  Jim Meyering  <meyering@redhat.com>
44454
44455         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
44456
44457 2008-10-27  Simon Josefsson  <simon@josefsson.org>
44458
44459         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
44460         TESTS_ENVIRONMENT, for shell scripts that needs to call built
44461         programs.
44462         * tests/test-argp-2.sh: Use $EXEEXT when needed.
44463
44464 2008-10-27  Simon Josefsson  <simon@josefsson.org>
44465
44466         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
44467
44468 2008-10-27  Bruno Haible  <bruno@clisp.org>
44469
44470         * tests/test-lstat.c: Include <stdio.h>.
44471
44472 2008-10-27  Simon Josefsson  <simon@josefsson.org>
44473
44474         * modules/lstat-tests: New module.
44475         * tests/test-lstat.c: New file.
44476
44477 2008-10-26  Jim Meyering  <meyering@redhat.com>
44478
44479         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
44480
44481 2008-10-26  Simon Josefsson  <simon@josefsson.org>
44482             Bruno Haible  <bruno@clisp.org>
44483
44484         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
44485         * modules/configmake (Include): Add a note that the include must come
44486         after all system headers.
44487         * lib/javaversion.c: Include configmake.h after all other includes.
44488
44489 2008-10-26  Bruno Haible  <bruno@clisp.org>
44490
44491         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
44492         HAVE_STRUCT_RANDOM_DATA to 1.
44493         (gl_STDLIB_H): Simplify.
44494
44495 2008-10-26  Simon Josefsson  <simon@josefsson.org>
44496
44497         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
44498         substitute HAVE_STRUCT_RANDOM_DATA.
44499         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
44500         random_data.
44501         * modules/stdlib (Makefile.am): Substitute
44502         HAVE_STRUCT_RANDOM_DATA.
44503
44504 2008-10-26  Simon Josefsson  <simon@josefsson.org>
44505
44506         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
44507         * doc/gnulib-intro.texi (Copyright): Likewise.
44508
44509 2008-10-26  Simon Josefsson  <simon@josefsson.org>
44510
44511         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
44512         findings.
44513
44514 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
44515             Bruno Haible  <bruno@clisp.org>
44516
44517         * lib/unistd.in.h: Include <winsock2.h>.
44518         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
44519         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
44520         Provide dummy declarations.
44521         (gethostname): Override.
44522         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
44523         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
44524         gl_PREREQ_SYS_H_WINSOCK2.
44525         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
44526         * doc/posix-functions/gethostname.texi: More details.
44527
44528 2008-10-25  Bruno Haible  <bruno@clisp.org>
44529
44530         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
44531         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
44532         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
44533
44534         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
44535         here ...
44536         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
44537         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
44538         gl_UNISTD_H_DEFAULTS.
44539
44540 2008-10-25  Eric Blake  <ebb9@byu.net>
44541
44542         signbit: avoid spurious compiler failure
44543         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
44544         declarations inside function.
44545
44546 2008-10-24  Simon Josefsson  <simon@josefsson.org>
44547             Bruno Haible  <bruno@clisp.org>
44548
44549         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
44550         * modules/random_r (Depends-on): Add stdint.
44551
44552 2008-10-24  Bruno Haible  <bruno@clisp.org>
44553
44554         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
44555         Eggert.
44556         * modules/strerror (License): Likewise.
44557
44558 2008-10-24  Jim Meyering  <meyering@redhat.com>
44559
44560         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
44561         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
44562
44563 2008-10-24  Eric Blake  <ebb9@byu.net>
44564
44565         getgroups: fix compilation when getgroups is available
44566         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
44567         but with <config.h> override of getgroups disabled.
44568
44569 2008-10-24  Simon Josefsson  <simon@josefsson.org>
44570
44571         * doc/gnulib.texi (Header files): Add note about C++ problems.
44572         Explained by Bruno Haible <bruno@clisp.org>.
44573
44574 2008-10-23  Bruno Haible  <bruno@clisp.org>
44575
44576         Define a dummy SA_NODEFER macro on Interix.
44577         * lib/signal.in.h (SA_NODEFER): Define fallback.
44578         Reported by Aleksey Cheusov <cheusov@tut.by> via
44579         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
44580
44581 2008-10-23  Bruno Haible  <bruno@clisp.org>
44582
44583         * modules/freadahead (License): Change to LGPLv2+.
44584         Suggested by Simon Josefsson.
44585
44586 2008-10-23  Jim Meyering  <meyering@redhat.com>
44587
44588         random_r: new module
44589         * modules/random_r: New file.
44590         * m4/random_r.m4: New file.
44591         * lib/random_r.c: New file, from glibc.
44592         * modules/random_r-tests: New file.
44593         * tests/test-random_r.c: New file.
44594         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
44595          Declare.
44596         (RAND_MAX): Define.
44597         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
44598         * modules/stdlib: Substitute them, too.
44599         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
44600         * doc/glibc-functions/initstate_r.texi: Mention the new module.
44601         * doc/glibc-functions/random_r.texi: Likewise.
44602         * doc/glibc-functions/setstate_r.texi: Likewise.
44603         * doc/glibc-functions/srandom_r.texi: Likewise.
44604         * config/srclist.txt: Mention it.
44605
44606 2008-10-23  David Lutterkort  <lutter@redhat.com>
44607
44608         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
44609         link requirement
44610
44611 2008-10-23  Jim Meyering  <meyering@redhat.com>
44612
44613         selinux-h: mark parameters of stub functions as intentionally unused
44614         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
44615         * lib/se-context.in.h: Likewise.
44616
44617 2008-10-22  Simon Josefsson  <simon@josefsson.org>
44618
44619         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
44620
44621 2008-10-22  Simon Josefsson  <simon@josefsson.org>
44622
44623         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
44624
44625 2008-10-22  Eric Blake  <ebb9@byu.net>
44626
44627         glthread/thread: avoid compiler warning
44628         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
44629         Add unreachable abort to silence compiler.
44630
44631 2008-10-22  Eric Blake  <ebb9@byu.net>
44632
44633         netdb: also supply struct addrinfo for cygwin 1.5.x
44634         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
44635         older cygwin.
44636         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
44637         cygwin.
44638         * doc/posix-headers/netdb.texi (netdb.h): Document this.
44639
44640 2008-10-22  Bruno Haible  <bruno@clisp.org>
44641
44642         * users.txt: Update entry about pspp.
44643
44644 2008-10-21  Bruno Haible  <bruno@clisp.org>
44645
44646         Simplification.
44647         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
44648         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
44649
44650         Simplification.
44651         * lib/ioctl.c (ioctl): Don't undefine.
44652         * lib/socket.c (socket): Don't undefine.
44653
44654         Remove unused module indicator macros.
44655         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
44656         GNULIB_$1 as a C macro.
44657
44658         * doc/posix-functions/close.texi: Undo last change.
44659         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
44660         Windows platforms.
44661
44662 2008-10-21  Bruno Haible  <bruno@clisp.org>
44663
44664         Add gethostname() declaration to <unistd.h>.
44665         * lib/unistd.in.h (gethostname): New declaration.
44666         * lib/gethostname.c: Include <unistd.h>.
44667         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
44668         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
44669         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
44670         and HAVE_GETHOSTNAME.
44671         * modules/gethostname (Depends-on): Add unistd.
44672         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
44673         (Include): Specify <unistd.h>.
44674         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
44675         HAVE_GETHOSTNAME.
44676         * tests/test-gethostname.c: Include <unistd.h> first.
44677
44678 2008-10-21  Bruno Haible  <bruno@clisp.org>
44679
44680         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
44681         * modules/select-tests (Depends-on): Likewise.
44682         Reported by Simon Josefsson.
44683
44684 2008-10-21  Simon Josefsson  <simon@josefsson.org>
44685
44686         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
44687         * lib/accept.c: New file, based on winsock.c.
44688         * lib/bind.c: New file, based on winsock.c.
44689         * lib/connect.c: New file, based on winsock.c.
44690         * lib/getpeername.c: New file, based on winsock.c.
44691         * lib/getsockname.c: New file, based on winsock.c.
44692         * lib/getsockopt.c: New file, based on winsock.c.
44693         * lib/ioctl.c: New file, based on winsock.c.
44694         * lib/listen.c: New file, based on winsock.c.
44695         * lib/recv.c: New file, based on winsock.c.
44696         * lib/recvfrom.c: New file, based on winsock.c.
44697         * lib/send.c: New file, based on winsock.c.
44698         * lib/sendto.c: New file, based on winsock.c.
44699         * lib/setsockopt.c: New file, based on winsock.c.
44700         * lib/shutdown.c: New file, based on winsock.c.
44701         * lib/socket.c: New file, based on winsock.c.
44702         * lib/w32sock.h: New file, based on winsock.c.
44703         * lib/winsock.c: Remove file.
44704         * modules/accept: Likewise.
44705         * modules/bind: Likewise.
44706         * modules/connect: Likewise.
44707         * modules/getpeername: Likewise.
44708         * modules/getsockname: Likewise.
44709         * modules/getsockopt: Likewise.
44710         * modules/ioctl: Likewise.
44711         * modules/listen: Likewise.
44712         * modules/recv: Likewise.
44713         * modules/recvfrom: Likewise.
44714         * modules/send: Likewise.
44715         * modules/sendto: Likewise.
44716         * modules/setsockopt: Likewise.
44717         * modules/shutdown: Likewise.
44718         * modules/socket: Use socket.c instead of winsock.c.
44719         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
44720         * doc/posix-functions/accept.texi: Doc fix.
44721         * doc/posix-functions/bind.texi: Doc fix.
44722         * doc/posix-functions/close.texi: Doc fix.
44723         * doc/posix-functions/connect.texi: Doc fix.
44724         * doc/posix-functions/getpeername.texi: Doc fix.
44725         * doc/posix-functions/getsockname.texi: Doc fix.
44726         * doc/posix-functions/getsockopt.texi: Doc fix.
44727         * doc/posix-functions/ioctl.texi: Doc fix.
44728         * doc/posix-functions/listen.texi: Doc fix.
44729         * doc/posix-functions/recv.texi: Doc fix.
44730         * doc/posix-functions/recvfrom.texi: Doc fix.
44731         * doc/posix-functions/send.texi: Doc fix.
44732         * doc/posix-functions/sendto.texi: Doc fix.
44733         * doc/posix-functions/setsockopt.texi: Doc fix.
44734         * doc/posix-functions/shutdown.texi: Doc fix.
44735         * doc/posix-functions/socket.texi: Doc fix.
44736
44737 2008-10-20  Bruno Haible  <bruno@clisp.org>
44738
44739         Take into account the role of SIGABRT_COMPAT on Windows 2008.
44740         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
44741         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
44742         as an alias for SIGABRT.
44743         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
44744         (sigaction): Map it to SIGABRT.
44745         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
44746
44747 2008-10-20  Bruno Haible  <bruno@clisp.org>
44748
44749         * lib/fts.c: Don't include lstat.h.
44750         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
44751
44752         Move the lstat() declaration to <sys/stat.h>.
44753         * lib/lstat.h: Remove file.
44754         * lib/sys_stat.in.h: Add special invocation convention.
44755         (lstat): New declaration.
44756         * lib/lstat.c (orig_lstat): New function.
44757         (rpl_lstat): Use orig_lstat instead of lstat.
44758         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
44759         AC_C_INLINE. Set REPLACE_LSTAT.
44760         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
44761         and REPLACE_LSTAT.
44762         * modules/lstat (Files): Remove lib/lstat.h.
44763         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
44764         (Include): Specify <sys/stat.h> instead of lstat.h.
44765         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
44766         REPLACE_LSTAT.
44767         * NEWS: Mention the change.
44768
44769 2008-10-20  Bruno Haible  <bruno@clisp.org>
44770
44771         * modules/posix_spawn-tests: New file.
44772         * tests/test-posix_spawn3.c: New file.
44773
44774 2008-10-20  Bruno Haible  <bruno@clisp.org>
44775
44776         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
44777         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
44778         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
44779         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
44780         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
44781
44782 2008-10-20  Bruno Haible  <bruno@clisp.org>
44783
44784         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
44785         of posix_spawn on AIX 5.3.
44786
44787 2008-10-20  Bruno Haible  <bruno@clisp.org>
44788
44789         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
44790
44791 2008-10-20  Bruno Haible  <bruno@clisp.org>
44792
44793         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
44794         of AC_LANG_PROGRAM.
44795
44796 2008-10-20  Simon Josefsson  <simon@josefsson.org>
44797
44798         * lib/netdb.in.h: Don't define GNU specific constants until they
44799         are supported or needed.  Reported by Bruno Haible
44800         <bruno@clisp.org>.
44801
44802 2008-10-20  Simon Josefsson  <simon@josefsson.org>
44803
44804         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
44805
44806 2008-10-20  Simon Josefsson  <simon@josefsson.org>
44807
44808         * lib/getaddrinfo.h: Remove file.
44809         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
44810         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
44811         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
44812         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
44813         * modules/netdb: Substitute GNULIB_GETADDRINFO.
44814         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
44815         * tests/test-getaddrinfo.c: Likewise.
44816         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
44817         * NEWS: Mention change.
44818
44819 2008-10-19  Bruno Haible  <bruno@clisp.org>
44820
44821         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
44822
44823 2008-10-19  Bruno Haible  <bruno@clisp.org>
44824
44825         * lib/wait-process.c: Include simply <sys/wait.h>.
44826         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
44827         WIFSTOPPED): Remove fallback definitions.
44828         * modules/wait-process (Depends-on): Add sys_wait.
44829
44830         New module 'sys_wait'.
44831         * modules/sys_wait: New file.
44832         * lib/sys_wait.in.h: New file, partially copied from
44833         lib/wait-process.c.
44834         * m4/sys_wait_h.m4: New file.
44835         * doc/posix-headers/sys_wait.texi: Mention the new module.
44836
44837 2008-10-19  Bruno Haible  <bruno@clisp.org>
44838
44839         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
44840
44841 2008-10-19  Bruno Haible  <bruno@clisp.org>
44842
44843         Assume that waitpid() fills an 'int' status, not a 'union wait'.
44844         * lib/wait-process.c (WAIT_T): Remove type.
44845         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
44846         (wait_subprocess): Update.
44847
44848 2008-10-19  Bruno Haible  <bruno@clisp.org>
44849
44850         New module 'atoll'.
44851         * modules/atoll: New file.
44852         * lib/stdlib.in.h (atoll): New declaration.
44853         * lib/atoll.c: New file, from glibc with modifications.
44854         * m4/atoll.m4: New file.
44855         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
44856         HAVE_ATOLL.
44857         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
44858         * doc/posix-functions/atoll.texi: Mention the new module.
44859
44860 2008-10-19  Bruno Haible  <bruno@clisp.org>
44861
44862         Add strtoull() declaration to <stdlib.h>.
44863         * lib/stdlib.in.h (strtoull): New declaration.
44864         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
44865         Set HAVE_STRTOULL.
44866         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
44867         HAVE_STRTOULL.
44868         * modules/strtoull (Depends-on): Add stdlib.
44869         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
44870         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
44871         HAVE_STRTOULL.
44872
44873 2008-10-19  Bruno Haible  <bruno@clisp.org>
44874
44875         Add strtoll() declaration to <stdlib.h>.
44876         * lib/stdlib.in.h (strtoll): New declaration.
44877         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
44878         Set HAVE_STRTOLL.
44879         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
44880         HAVE_STRTOLL.
44881         * modules/strtoll (Depends-on): Add stdlib.
44882         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
44883         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
44884
44885 2008-10-19  Bruno Haible  <bruno@clisp.org>
44886
44887         * modules/bcopy (Depends-on): Add strings.
44888         (Include): Specify <strings.h>.
44889
44890 2008-10-19  Bruno Haible  <bruno@clisp.org>
44891
44892         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
44893
44894 2008-10-19  Bruno Haible  <bruno@clisp.org>
44895
44896         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
44897         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
44898         mingw.
44899
44900 2008-10-19  Bruno Haible  <bruno@clisp.org>
44901
44902         * lib/atanl.c: Don't include isnanl.h.
44903         * lib/cosl.c: Likewise.
44904         * lib/ldexpl.c: Likewise.
44905         * lib/logl.c: Likewise.
44906         * lib/sinl.c: Likewise.
44907         * lib/sqrtl.c: Likewise.
44908         * lib/tanl.c: Likewise.
44909
44910         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
44911         * lib/isnanf.h: Remove file.
44912         * lib/isnand.h: Remove file.
44913         * lib/isnanl.h: Remove file.
44914         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
44915         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
44916         macros.
44917         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
44918         HAVE_ISNANF, don't define it as a C macro.
44919         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
44920         HAVE_ISNAND, don't define it as a C macro.
44921         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
44922         HAVE_ISNANL, don't define it as a C macro.
44923         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
44924         HAVE_ISNAN[FDL].
44925         * modules/isnanf (Files): Remove lib/isnanf.h.
44926         (Depends-on): Add math.
44927         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
44928         (Include): Specify <math.h> instead of isnanf.h.
44929         * modules/isnand (Files): Remove lib/isnand.h.
44930         (Depends-on): Add math.
44931         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
44932         (Include): Specify <math.h> instead of isnand.h.
44933         * modules/isnanl (Files): Remove lib/isnanl.h.
44934         (Depends-on): Add math.
44935         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
44936         (Include): Specify <math.h> instead of isnanl.h.
44937         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
44938         HAVE_ISNAN[FDL].
44939         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
44940         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
44941         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
44942         * NEWS: Mention the change.
44943
44944 2008-10-18  Bruno Haible  <bruno@clisp.org>
44945
44946         Add getusershell(), setusershell(), endusershell() declarations to
44947         <unistd.h>.
44948         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
44949         declarations.
44950         * lib/getusershell.c: Include unistd.h.
44951         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
44952         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
44953         HAVE_GETUSERSHELL.
44954         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
44955         and HAVE_GETUSERSHELL.
44956         * modules/getusershell (Depends-on): Add unistd, extensions.
44957         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
44958         (Include): Specify <unistd.h>.
44959         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
44960         HAVE_GETUSERSHELL.
44961
44962 2008-10-18  Bruno Haible  <bruno@clisp.org>
44963
44964         Add a getloadavg() declaration to <stdlib.h>.
44965         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
44966         getloadavg declaration.
44967         (getloadavg): New declaration.
44968         * lib/getloadavg.c: Include <stdlib.h> first.
44969         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
44970         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
44971         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
44972         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
44973         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
44974         * modules/getloadavg (Depends-on): Add stdlib, extensions.
44975         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
44976         (Include): Specify <stdlib.h>.
44977         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
44978         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
44979
44980 2008-10-18  Bruno Haible  <bruno@clisp.org>
44981
44982         * lib/dirchownmod.c: Don't include lchmod.h.
44983
44984         Move the lchmod() declaration to <sys/stat.h>.
44985         * lib/lchmod.h: Remove file.
44986         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
44987         (lchmod): New declaration, moved here from lib/lchown.h.
44988         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
44989         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
44990         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
44991         and HAVE_LCHMOD.
44992         * modules/lchmod (Files): Remove lib/lchmod.h.
44993         (Depends-on): Add sys_stat, extensions.
44994         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
44995         (Include): Specify <sys/stat.h> instead of lchmod.h.
44996         * modules/sys_stat (Depends-on): Add link-warning.
44997         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
44998         definition of GL_LINK_WARNING.
44999         * NEWS: Mention the change.
45000
45001 2008-10-18  Bruno Haible  <bruno@clisp.org>
45002
45003         * lib/fchdir.c: Don't include dirfd.h.
45004         * lib/fts.c: Likewise.
45005         * lib/getcwd.c: Likewise.
45006         * lib/glob.c: Likewise.
45007
45008         Move the dirfd() declaration to <dirent.h>.
45009         * lib/dirfd.h: Remove file.
45010         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
45011         (dirfd): New declaration.
45012         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
45013         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
45014         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
45015         HAVE_DECL_DIRFD.
45016         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
45017         HAVE_DECL_DIRFD.
45018         * modules/dirfd (Files): Remove lib/dirfd.h.
45019         (Depends-on): Add dirent, extensions.
45020         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
45021         (Include): Specify <dirent.h> instead of dirfd.h.
45022         * modules/dirent (Depends-on): Add link-warning.
45023         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
45024         definition of GL_LINK_WARNING.
45025         * NEWS: Mention the change.
45026
45027 2008-10-18  Bruno Haible  <bruno@clisp.org>
45028
45029         Move the euidaccess() declaration to <unistd.h>.
45030         * lib/euidaccess.h: Remove file.
45031         * lib/unistd.in.h (euidaccess): New declaration.
45032         * lib/euidaccess.c: Don't include euidaccess.h.
45033         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
45034         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
45035         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
45036         and HAVE_EUIDACCESS.
45037         * modules/euidaccess (Files): Remove lib/euidaccess.h.
45038         (Depends-on): Add unistd.
45039         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
45040         (Include): Specify <unistd.h> instead of euidaccess.h.
45041         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
45042         HAVE_EUIDACCESS.
45043         * NEWS: Mention the change.
45044
45045 2008-10-18  Bruno Haible  <bruno@clisp.org>
45046
45047         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
45048
45049         Move the getdomainname() declaration to <unistd.h>.
45050         * lib/getdomainname.h: Remove file.
45051         * lib/unistd.in.h (getdomainname): New declaration.
45052         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
45053         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
45054         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
45055         HAVE_GETDOMAINNAME.
45056         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
45057         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
45058         * modules/getdomainname (Files): Remove lib/getdomainname.h.
45059         (Depends-on): Add unistd, extensions.
45060         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
45061         (Includes): Specify <unistd.h> instead of getdomainname.h.
45062         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
45063         HAVE_GETDOMAINNAME.
45064         * NEWS: Mention the change.
45065
45066 2008-10-18  Bruno Haible  <bruno@clisp.org>
45067
45068         * modules/dirent: New file.
45069         * m4/dirent_h.m4: New file.
45070         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
45071         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
45072         * modules/fchdir (Files): Remove lib/dirent.in.h.
45073         (Depends-on): Add dirent.
45074         (Makefile.am): Move rules to modules/dirent.
45075         * doc/posix-headers/dirent.texi: Mention the new module.
45076
45077 2008-10-18  Bruno Haible  <bruno@clisp.org>
45078
45079         Avoid -Wunused-parameter warnings in public gnulib header files.
45080         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
45081         macro.
45082         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
45083
45084 2008-10-18  Bruno Haible  <bruno@clisp.org>
45085
45086         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
45087         * doc/glibc-functions/error.texi: Mention the module 'error'.
45088         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
45089         * doc/glibc-functions/getdomainname.texi: Mention the module
45090         'getdomainname'.
45091         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
45092         * doc/glibc-functions/getpagesize.texi: Mention the module
45093         'getpagesize'.
45094         * doc/glibc-functions/getusershell.texi: Mention the module
45095         'getusershell'.
45096         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
45097         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
45098         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
45099         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
45100         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
45101         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
45102         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
45103         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
45104         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
45105         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
45106         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
45107         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
45108         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
45109         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
45110
45111 2008-10-17  Bruno Haible  <bruno@clisp.org>
45112
45113         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
45114         HP-UX and IRIX, use -0.0L.
45115         * tests/test-ceill.c (minus_zero): Likewise.
45116         * tests/test-floorl.c (minus_zero): Likewise.
45117         * tests/test-frexpl.c (minus_zero): Likewise.
45118         * tests/test-isnan.c (minus_zerol): Likewise.
45119         * tests/test-isnanl.h (minus_zero): Likewise.
45120         * tests/test-ldexpl.c (minus_zero): Likewise.
45121         * tests/test-roundl.c (minus_zero): Likewise.
45122         * tests/test-signbit.c (minus_zerol): Likewise.
45123         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
45124         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
45125         * tests/test-truncl.c (minus_zero): Likewise.
45126         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
45127         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
45128         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
45129         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
45130
45131 2008-10-17  Bruno Haible  <bruno@clisp.org>
45132
45133         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
45134         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
45135         that it gets activated only for gcc >= 3.0.
45136         * lib/dirent.in.h: Likewise.
45137         * lib/errno.in.h: Likewise.
45138         * lib/fcntl.in.h: Likewise.
45139         * lib/float.in.h: Likewise.
45140         * lib/iconv.in.h: Likewise.
45141         * lib/inttypes.in.h: Likewise.
45142         * lib/locale.in.h: Likewise.
45143         * lib/math.in.h: Likewise.
45144         * lib/netdb.in.h: Likewise.
45145         * lib/netinet_in.in.h: Likewise.
45146         * lib/search.in.h: Likewise.
45147         * lib/signal.in.h: Likewise.
45148         * lib/spawn.in.h: Likewise.
45149         * lib/stdarg.in.h: Likewise.
45150         * lib/stdint.in.h: Likewise.
45151         * lib/stdio.in.h: Likewise.
45152         * lib/stdlib.in.h: Likewise.
45153         * lib/string.in.h: Likewise.
45154         * lib/strings.in.h: Likewise.
45155         * lib/sys_file.in.h: Likewise.
45156         * lib/sys_ioctl.in.h: Likewise.
45157         * lib/sys_select.in.h: Likewise.
45158         * lib/sys_socket.in.h: Likewise.
45159         * lib/sys_stat.in.h: Likewise.
45160         * lib/sys_time.in.h: Likewise.
45161         * lib/sysexits.in.h: Likewise.
45162         * lib/time.in.h: Likewise.
45163         * lib/unistd.in.h: Likewise.
45164         * lib/wchar.in.h: Likewise.
45165         * lib/wctype.in.h: Likewise.
45166         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
45167
45168 2008-10-17  Jim Meyering  <meyering@redhat.com>
45169
45170         ignore-value: don't depend on inline module
45171         * modules/ignore-value (Depends-on): Remove 'inline'.
45172         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
45173         Suggestion from Bruno Haible.
45174
45175 2008-10-17  Bruno Haible  <bruno@clisp.org>
45176
45177         New implementation of condition variables for Win32.
45178         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
45179         (gl_linked_waitqueue_t): New type.
45180         (gl_cond_t): Use it.
45181         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
45182         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
45183         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
45184         (glthread_cond_init_func, glthread_cond_wait_func,
45185         glthread_cond_timedwait_func, glthread_cond_signal_func,
45186         glthread_cond_broadcast_func, glthread_cond_destroy_func):
45187         Reimplemented on the basis of gl_linked_waitqueue_t.
45188         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
45189         gl_waitqueue_t.
45190         (gl_rwlock_t): Update.
45191         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
45192
45193 2008-10-17  Simon Josefsson  <simon@josefsson.org>
45194
45195         * modules/recvfrom (Depends-on): Add dependency on getpeername.
45196         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
45197
45198 2008-10-17  Jim Meyering  <meyering@redhat.com>
45199
45200         ignore-value: new module
45201         * modules/ignore-value: New file.
45202         * lib/ignore-value.h: New file.
45203         * MODULES.html.sh (Compiler warning management): New section,
45204         just for this module.  More to come.
45205
45206 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
45207
45208         open-safer.c: avoid 'signed and unsigned in conditional...' warning
45209         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
45210         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
45211
45212 2008-10-16  Jim Meyering  <meyering@redhat.com>
45213
45214         openat-die.c: avoid 'no previous prototype' warning
45215         * lib/openat-die.c: Include "openat.h".
45216         Reported by Reuben Thomas <rrt@sc3d.org>.
45217
45218 2008-10-16  Simon Josefsson  <simon@josefsson.org>
45219
45220         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
45221         * lib/netdb.in.h: Fix typo.
45222         Reported by Bruno Haible  <bruno@clisp.org>
45223
45224         * lib/netdb.in.h: Include sys/socket.h for platforms without
45225         netdb.h, to get structures like hostent on MinGW.
45226         * modules/netdb (Depends-on): Add sys_socket.
45227
45228 2008-10-15  Simon Josefsson  <simon@josefsson.org>
45229
45230         * modules/netdb, modules/netdb-tests: New file.
45231         * m4/netdb_h.m4: New file.
45232         * lib/netdb.in.h: Add, currently just an empty file pending
45233         definitions.
45234         * tests/test-netdb.c: New file.
45235         * doc/posix-headers/netdb.texi: Mention that we replace it if
45236         needed.
45237         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
45238         netdb.
45239
45240 2008-10-15  Simon Josefsson  <simon@josefsson.org>
45241
45242         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
45243         with code.
45244
45245 2008-10-13  Bruno Haible  <bruno@clisp.org>
45246
45247         * lib/glthread/cond.c (glthread_cond_wait_func,
45248         glthread_cond_timedwait_func): Add a comment.
45249
45250 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
45251
45252         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
45253         * tests/test-select.c: Likewise,
45254
45255 2008-10-13  Bruno Haible  <bruno@clisp.org>
45256
45257         * lib/glthread/cond.c (glthread_cond_wait_func,
45258         glthread_cond_timedwait_func): Fix variable name.
45259         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
45260
45261 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
45262
45263         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
45264         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
45265         struct sockaddr.sa_len.
45266         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
45267
45268 2008-10-13  Simon Josefsson  <simon@josefsson.org>
45269
45270         * build-aux/pmccabe2html: Add css and css_url parameters.
45271
45272 2008-10-12  Bruno Haible  <bruno@clisp.org>
45273
45274         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
45275         calling aclx_get.
45276         Reported by Rainer Tammer <tammer@tammer.net>.
45277
45278 2008-10-12  Bruno Haible  <bruno@clisp.org>
45279
45280         Use msvcrt aware primitives for creation/termination of Win32 threads.
45281         * lib/glthread/thread.c: Include <process.h>.
45282         (glthread_create_func): Use _beginthreadex instead of CreateThread.
45283         (wrapper_func): Update signature.
45284         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
45285
45286 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
45287             Bruno Haible  <bruno@clisp.org>
45288
45289         Provide a Win32 implementation of the 'cond' module.
45290         * lib/glthread/cond.h [USE_WIN32]: New implementation.
45291         * lib/glthread/cond.c (glthread_cond_init_func,
45292         glthread_cond_wait_func, glthread_cond_timedwait_func,
45293         glthread_cond_signal_func, glthread_cond_broadcast_func,
45294         glthread_cond_destroy_func) [USE_WIN32]: New functions.
45295         * modules/cond (Dependencies): Add gettimeofday.
45296
45297 2008-10-11  Bruno Haible  <bruno@clisp.org>
45298
45299         Make sleep work on older versions of mingw.
45300         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
45301         only whether it exists.
45302         * doc/posix-functions/sleep.texi: Mention the problem with older
45303         versions of mingw.
45304
45305 2008-10-11  Bruno Haible  <bruno@clisp.org>
45306
45307         New module 'shutdown'.
45308         * modules/shutdown: New file.
45309         * lib/sys_socket.in.h (shutdown): New declaration.
45310         * lib/winsock.c (shutdown): New function.
45311         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
45312         GNULIB_SHUTDOWN.
45313         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
45314         * doc/posix-functions/shutdown.texi: Document the new module.
45315
45316 2008-10-11  Jim Meyering  <meyering@redhat.com>
45317
45318         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
45319
45320 2008-10-11  Bruno Haible  <bruno@clisp.org>
45321
45322         New module 'fclose'.
45323         * modules/fclose: New file.
45324         * lib/stdio.in.h (fclose): New declaration.
45325         * lib/fclose.c: New file.
45326         * m4/fclose.m4: New file.
45327         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
45328         REPLACE_FCLOSE.
45329         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
45330         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
45331         REPLACE_FCLOSE.
45332         * modules/close (Depends-on): fclose.
45333         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
45334
45335 2008-10-11  Bruno Haible  <bruno@clisp.org>
45336
45337         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
45338         set errno and don't call _close.
45339
45340 2008-10-10  Bruno Haible  <bruno@clisp.org>
45341
45342         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
45343         ACL, not afterwards. Fixes test failure on Cygwin.
45344
45345 2008-10-09  Ben Pfaff  <blp@gnu.org>
45346
45347         * build-aux/announce-gen: Fix gnulib version related part of usage
45348         message.  Die with a useful error message if no tarballs are
45349         found.
45350
45351 2008-10-10  Jim Meyering  <meyering@redhat.com>
45352
45353         bootstrap: use git's --depth=N option only if it's supported
45354         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
45355         recognize the --depth option.  Reported by Pádraig Brady.
45356
45357 2008-10-09  Bruno Haible  <bruno@clisp.org>
45358
45359         New module 'ioctl'.
45360         * modules/ioctl: New file.
45361         * lib/sys_socket.in.h (ioctl): Remove declaration.
45362         * lib/winsock.c: Include <sys/ioctl.h>.
45363         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
45364         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
45365         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
45366         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
45367         * doc/posix-functions/ioctl.texi: Mention the new module.
45368
45369 2008-10-09  Bruno Haible  <bruno@clisp.org>
45370
45371         New module 'sys_ioctl'.
45372         * lib/sys_ioctl.in.h: New file.
45373         * m4/sys_ioctl_h.m4: New file.
45374         * modules/sys_ioctl: New file.
45375         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
45376
45377 2008-10-09  Bruno Haible  <bruno@clisp.org>
45378
45379         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
45380         * lib/winsock.c: Include <stdarg.h>.
45381         (rpl_ioctl): Change to second argument 'int' and then varargs.
45382
45383 2008-10-09  Bruno Haible  <bruno@clisp.org>
45384
45385         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
45386         when the sys_socket module is present and the system has <winsock2.h>.
45387
45388 2008-10-09  Bruno Haible  <bruno@clisp.org>
45389
45390         * doc/posix-functions/close.texi: Mention module 'close' instead of
45391         module 'sys_socket'.
45392
45393 2008-10-09  Bruno Haible  <bruno@clisp.org>
45394
45395         * doc/glibc-headers/sys_ioctl.texi: New file.
45396         * doc/gnulib.texi: Include it.
45397
45398 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
45399             Bruno Haible  <bruno@clisp.org>
45400
45401         Combine the two replacements of 'close'.
45402         * lib/sys_socket.in.h (close): Define to a reminder to include
45403         <unistd.h>.
45404         (_gl_close_fd_maybe_socket): New declaration.
45405         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
45406         * lib/winsock.c (close): Remove undefinition.
45407         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
45408         needed for the gnulib module 'close'.
45409         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
45410         define to an error symbol or to a warning, if suitable.
45411         * lib/close.c: Include <sys/socket.h>.
45412         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
45413         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
45414         UNISTD_H_HAVE_WINSOCK2_H.
45415         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
45416         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
45417         UNISTD_H_HAVE_WINSOCK2_H.
45418         * modules/sys_socket (Files): Add m4/unistd_h.m4.
45419         (configure.ac): Set a module indicator.
45420         (Makefile.am): Substitute GNULIB_CLOSE.
45421         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
45422         * modules/poll-tests (Depends-on): Add close.
45423         * modules/select-tests (Depends-on): Likewise.
45424
45425 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
45426             Bruno Haible  <bruno@clisp.org>
45427
45428         New module 'close'.
45429         * modules/close: New file.
45430         * lib/unistd.in.h (close): Move declaration out of the
45431         FCHDIR_REPLACEMENT scope.
45432         (_gl_unregister_fd): New declaration.
45433         * lib/close.c: New file.
45434         * lib/fchdir.c (rpl_close): Remove function.
45435         * m4/close.m4: New file.
45436         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
45437         close.
45438         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
45439         REPLACE_CLOSE.
45440         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
45441         REPLACE_CLOSE.
45442         * modules/fchdir (Depends-on): Add close.
45443
45444 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
45445             Bruno Haible  <bruno@clisp.org>
45446
45447         * lib/fcntl.in.h (open): Simplify conditionals.
45448         (_gl_register_fd): New declaration.
45449         * lib/fchdir.c (rpl_open): Remove function.
45450         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
45451         also.
45452         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
45453         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
45454         open.
45455
45456 2008-10-09  Jim Meyering  <meyering@redhat.com>
45457
45458         GNUmakefile: use the more name-space-friendly "_version"
45459         * top/GNUmakefile (_dummy): Update.
45460         (_version): Rename from "version".
45461
45462 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
45463             Bruno Haible  <bruno@clisp.org>
45464
45465         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
45466         rpl_close.
45467         (_gl_register_fd): New function, extracted from rpl_open.
45468         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
45469         (rpl_open, rpl_opendir): Use _gl_register_fd.
45470
45471 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
45472
45473         Fix organization of 'open' replacement.
45474         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
45475         (gl_FUNC_OPEN): Use it.
45476         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
45477
45478 2008-10-08  Bruno Haible  <bruno@clisp.org>
45479
45480         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
45481
45482 2008-10-08  Simon Josefsson  <simon@josefsson.org>
45483
45484         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
45485         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
45486         listen).
45487
45488 2008-10-08  Eric Blake  <ebb9@byu.net>
45489
45490         GNUmakefile: add 'make version' target
45491         * top/GNUmakefile (_curr-ver): Split version update rules...
45492         (version): ...into a target.
45493
45494 2008-10-07  Bruno Haible  <bruno@clisp.org>
45495
45496         Use a more portable replacement expression for -0.0L.
45497         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
45498         instead of -0.0L. Fix m4 quotation.
45499
45500         * tests/test-signbit.c: Include <float.h>.
45501         (minus_zero): New variable.
45502         (test_signbitl): Use minus_zero instead of -zero.
45503         * modules/signbit-tests (Depends-on): Add float.
45504
45505         * tests/test-ceill.c: Include <float.h>.
45506         (zero): Remove variable.
45507         (minus_zero): New variable.
45508         (main): Use minus_zero instead of -zero.
45509         * modules/ceill-tests (Depends-on): Add float.
45510
45511         * tests/test-floorl.c: Include <float.h>.
45512         (zero): Remove variable.
45513         (minus_zero): New variable.
45514         (main): Use minus_zero instead of -zero.
45515         * modules/floorl-tests (Depends-on): Add float.
45516
45517         * tests/test-roundl.c: Include <float.h>.
45518         (zero): Remove variable.
45519         (minus_zero): New variable.
45520         (main): Use minus_zero instead of -zero.
45521         * modules/roundl-tests (Depends-on): Add float.
45522
45523         * tests/test-truncl.c: Include <float.h>.
45524         (zero): Remove variable.
45525         (minus_zero): New variable.
45526         (main): Use minus_zero instead of -zero.
45527         * modules/truncl-tests (Depends-on): Add float.
45528
45529         * tests/test-frexpl.c (zero): Remove variable.
45530         (minus_zero): New variable.
45531         (main): Use minus_zero instead of -zero.
45532         * modules/frexpl-tests (Depends-on): Add float.
45533
45534         * tests/test-isnan.c (zerol): Remove variable.
45535         (minus_zerol): New variable.
45536         (test_long_double): Use minus_zerol instead of -zerol.
45537         * modules/isnan-tests (Depends-on): Add float.
45538
45539         * tests/test-isnanl.h (zero): Remove variable.
45540         (minus_zero): New variable.
45541         (main): Use minus_zero instead of -zero.
45542         * modules/isnanl-nolibm-tests (Depends-on): Add float.
45543         * modules/isnanl-tests (Depends-on): Add float.
45544
45545         * tests/test-ldexpl.c (zero): Remove variable.
45546         (minus_zero): New variable.
45547         (main): Use minus_zero instead of -zero.
45548         * modules/ldexpl-tests (Depends-on): Add float.
45549
45550         * tests/test-snprintf-posix.h (zerol): Remove variable.
45551         (minus_zerol): New variable.
45552         (test_function): Use minus_zerol instead of -zerol.
45553         * modules/snprintf-posix-tests (Depends-on): Add float.
45554         * modules/vsnprintf-posix-tests (Depends-on): Add float.
45555
45556         * tests/test-sprintf-posix.h (zerol): Remove variable.
45557         (minus_zerol): New variable.
45558         (test_function): Use minus_zerol instead of -zerol.
45559         * modules/sprintf-posix-tests (Depends-on): Add float.
45560         * modules/vsprintf-posix-tests (Depends-on): Add float.
45561
45562         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
45563         (minus_zerol): New variable.
45564         (test_function): Use minus_zerol instead of -zerol.
45565         * modules/vasnprintf-posix-tests (Depends-on): Add float.
45566
45567         * tests/test-vasprintf-posix.c (zerol): Remove variable.
45568         (minus_zerol): New variable.
45569         (test_function): Use minus_zerol instead of -zerol.
45570         * modules/vasprintf-posix-tests (Depends-on): Add float.
45571
45572 2008-10-07  Simon Josefsson  <simon@josefsson.org>
45573
45574         * MODULES.html.sh (Support for building documentation): Mention
45575         pmccabe2html.  Sort entries.
45576
45577         Add pmccabe2html module, from gnupdf.
45578         * build-aux/pmccabe.css: New file.
45579         * build-aux/pmccabe2html: New file.
45580         * m4/pmccabe2html.m4: New file.
45581         * modules/pmccabe2html: New file.
45582
45583 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
45584
45585         flock: new module
45586         * MODULES.html.sh: Add to list of modules.
45587         * lib/flock.c: flock implementation for Windows and Unix systems
45588         which have fcntl.
45589         * doc/glibc-functions/flock.texi: Update documentation.
45590         * lib/sys_file.in.h: <sys/file.h> header file.
45591         * m4/flock.m4: M4 macros.
45592         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
45593         * modules/flock: flock module.
45594         * modules/flock-tests: flock tests module.
45595         * modules/sys_file: sys/file.h module.
45596         * tests/test-flock.c: test suite for flock.
45597
45598 2008-10-06  Jim Meyering  <meyering@redhat.com>
45599
45600         bootstrap: check for LT_INIT more portably still ;-)
45601         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
45602         Spotted by Bruno Haible.
45603
45604 2008-10-06  Eric Blake  <ebb9@byu.net>
45605
45606         test-signbit: avoid tripping Irix cc bug on -0.0L
45607         * tests/test-signbit.c (minus_zerol): Delete, and replace with
45608         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
45609         entire testsuite consistent and avoids an Irix 6.2 bug.
45610
45611 2008-10-05  Bruno Haible  <bruno@clisp.org>
45612             Jim Meyering  <jim@meyering.net>
45613
45614         Add an option for ignoring EPIPE during close_stdout.
45615         * lib/closeout.h: Include <stdbool.h>.
45616         (close_stdout_set_ignore_EPIPE): New declaration.
45617         * lib/closeout.c: Include <stdbool.h>.
45618         (ignore_EPIPE): New variable.
45619         (close_stdout_set_ignore_EPIPE): New function.
45620         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
45621         * lib/close-stream.c (close_stream): Mention the possible EPIPE
45622         failure.
45623         * modules/closeout (Depends-on): Add stdbool.
45624
45625 2008-10-05  Bruno Haible  <bruno@clisp.org>
45626
45627         * modules/accept: New file.
45628         * modules/bind: New file.
45629         * modules/connect: New file.
45630         * modules/getpeername: New file.
45631         * modules/getsockname: New file.
45632         * modules/getsockopt: New file.
45633         * modules/listen: New file.
45634         * modules/recv: New file.
45635         * modules/recvfrom: New file.
45636         * modules/send: New file.
45637         * modules/sendto: New file.
45638         * modules/setsockopt: New file.
45639         * modules/socket: New file.
45640         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
45641         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
45642         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
45643         the particular module is requested. Add a link warning when the
45644         particular module is not requested.
45645         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
45646         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
45647         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
45648         the particular module is requested.
45649         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
45650         gl_SYS_SOCKET_H_DEFAULTS): New macros.
45651         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
45652         * modules/sys_socket (Depends-on): Add link-warning.
45653         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
45654         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
45655         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
45656         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
45657         GL_LINK_WARNING.
45658         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
45659         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
45660         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
45661         * doc/posix-functions/getpeername.texi: Mention the new module
45662         'getpeername'.
45663         * doc/posix-functions/getsockname.texi: Mention the new module
45664         'getsockname'.
45665         * doc/posix-functions/getsockopt.texi: Mention the new module
45666         'getsockopt'.
45667         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
45668         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
45669         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
45670         * doc/posix-functions/send.texi: Mention the new module 'send'.
45671         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
45672         * doc/posix-functions/setsockopt.texi: Mention the new module
45673         'setsockopt'.
45674         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
45675         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
45676         listen, connect, accept.
45677         * modules/select-tests (Depends-on): Likewise.
45678
45679 2008-10-05  Bruno Haible  <bruno@clisp.org>
45680
45681         * lib/winsock.c (strerror): Remove unused #undef.
45682         (rpl_close): Remove unused local variable.
45683
45684         * modules/sys_socket (Depends-on); Add errno.
45685
45686 2008-10-05  Bruno Haible  <bruno@clisp.org>
45687
45688         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
45689         (select): Add a link warning when the 'select' module is not used.
45690         * modules/sys_select (Depends-on): Add link-warning.
45691         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
45692         Suggested by Paolo Bonzini.
45693
45694 2008-10-05  Jim Meyering  <meyering@redhat.com>
45695
45696         bootstrap: check for LT_INIT more portably
45697         * build-aux/bootstrap: Avoid using grep -E, since it's not
45698         portable enough.  Suggestion from Bruno Haible.
45699
45700 2008-10-05  Bruno Haible  <bruno@clisp.org>
45701
45702         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
45703         as being fixed by gnulib.
45704
45705 2008-10-05  Bruno Haible  <bruno@clisp.org>
45706
45707         * modules/select-tests: New file, mostly copied from
45708         modules/sys_select-tests.
45709         * tests/test-select.c: New file, mostly copied from
45710         tests/test-sys_select.c.
45711         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
45712         * modules/sys_select-tests (Depends-on): Remove all dependencies.
45713         (Makefile.am): Remove test_sys_select_LDADD.
45714
45715         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
45716         to an undefined symbol, for an error message.
45717         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
45718         (gl_SYS_SELECT_H_DEFAULTS): New macro.
45719         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
45720         winsock-select.c here.
45721         * modules/sys_select (Files): Remove lib/winsock-select.c.
45722         (Depends-on): Remove alloca.
45723         (Makefile.am): Substitute GNULIB_SELECT.
45724         * modules/select: New file.
45725         * doc/posix-functions/select.texi: Update.
45726
45727 2008-10-05  Bruno Haible  <bruno@clisp.org>
45728
45729         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
45730         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
45731         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
45732         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
45733         getdtablesize.
45734         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
45735         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
45736
45737 2008-10-05  Bruno Haible  <bruno@clisp.org>
45738
45739         * modules/getdtablesize-tests: New file.
45740         * tests/test-getdtablesize.c: New file.
45741
45742         New module 'getdtablesize'.
45743         * lib/unistd.in.h (getdtablesize): New declaration.
45744         * lib/getdtablesize.c: New file.
45745         * m4/getdtablesize.m4: New file.
45746         * modules/getdtablesize: New file.
45747         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
45748         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
45749         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
45750         HAVE_GETDTABLESIZE.
45751         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
45752
45753 2008-10-05  Bruno Haible  <bruno@clisp.org>
45754
45755         * modules/sched (Makefile.am): Fix typo.
45756         Reported by Simon Josefsson.
45757
45758 2008-10-05  Jim Meyering  <meyering@redhat.com>
45759
45760         bootstrap: check for LT_INIT, too
45761         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
45762         are deprecated.  Suggestion from Ralf Wildenhues.
45763
45764 2008-10-05  Bruno Haible  <bruno@clisp.org>
45765
45766         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
45767         overriding them by ours.
45768         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
45769
45770 2008-10-05  Jim Meyering  <meyering@redhat.com>
45771
45772         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
45773         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
45774         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
45775
45776 2008-10-04  Bruno Haible  <bruno@clisp.org>
45777
45778         * modules/dup2 (License): Change to LGPLv2+.
45779         * modules/sleep (License): Likewise.
45780         * modules/perror (License): Likewise.
45781         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
45782         Blake.
45783         * modules/signal (License): Likewise.
45784         * modules/sigprocmask (License): Likewise.
45785         * modules/raise (License): Change to LGPLv2+, with approval by Jim
45786         Meyering.
45787
45788 2008-10-04  Bruno Haible  <bruno@clisp.org>
45789
45790         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
45791         Reported by Rainer Tammer <tammer@tammer.net>.
45792
45793 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
45794             Bruno Haible  <bruno@clisp.org>
45795
45796         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
45797         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
45798         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
45799
45800 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
45801
45802         filevercmp: new module
45803         * lib/filevercmp.h: New function filevercmp comparing version strings.
45804         * lib/filevercmp.c: Implementation of filevercmp function.
45805         * modules/filevercmp: Module metadata.
45806         * tests/test-filevercmp.c: Unit test for new module.
45807         * modules/filevercmp-tests: Unit test metadata.
45808         * MODULES.html.sh: Add filevercmp module.
45809
45810 2008-10-03  Bruno Haible  <bruno@clisp.org>
45811
45812         * lib/c-ctype.h: Add comment.
45813         Reported by Jim Meyering.
45814
45815 2008-10-02  Bruno Haible  <bruno@clisp.org>
45816
45817         * modules/posix_spawn-internal (Depends-on): Add 'open'.
45818
45819 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
45820
45821         * build-aux/bootstrap: Allow renaming bootstrap, and change the
45822         name of bootstrap.conf accordingly.
45823
45824 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
45825
45826         * build-aux/bootstrap: Install git-merge-changelog configuration
45827         items into .gitconfig if needed.
45828
45829 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
45830
45831         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
45832         git repository, and initialize/update it accordingly.
45833
45834 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
45835
45836         * modules/fsync-tests: New file.
45837         * tests/test-fsync.c: New file.
45838
45839         New module 'fsync'.
45840         * lib/fsync.c: New file.
45841         * m4/fsync.m4: New file.
45842         * modules/fsync: New file.
45843         * lib/unistd.in.h (fsync): New declaration.
45844         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
45845         GNULIB_FSYNC and HAVE_FSYNC.
45846         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
45847         * MODULES.html.sh (posix_functions): Add fsync.
45848         * doc/posix-functions/fsync.texi: Mention the new module.
45849
45850 2008-10-02  Jim Meyering  <meyering@redhat.com>
45851
45852         fts.c: sync with similar code from coreutils' remove.c
45853         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
45854         Guard also with "#if defined __linux__", since for now at least,
45855         this code is Linux-kernel-specific.
45856
45857 2008-10-02  Jim Meyering  <meyering@redhat.com>
45858
45859         fts: bug fixes
45860         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
45861         Include <sys/vfs.h>, not <sys/statfs.h>.
45862
45863         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
45864         Include <sys/vfs.h>, not <sys/statfs.h>.
45865
45866 2008-10-01  Bruno Haible  <bruno@clisp.org>
45867
45868         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
45869         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
45870         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
45871         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
45872         * doc/posix-functions/posix_spawnp.texi: Likewise.
45873         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
45874         whether posix_spawn actually works.
45875         * m4/pipe.m4 (gl_PIPE): Likewise.
45876         * modules/execute (Files): Add m4/posix_spawn.m4.
45877         * modules/pipe (Files): Add m4/posix_spawn.m4.
45878         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
45879
45880 2008-10-01  Jim Meyering  <meyering@redhat.com>
45881
45882         remove trailing spaces
45883         * NEWS: Likewise.
45884         * lib/poll.c (poll): Likewise.
45885         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
45886         * lib/winsock.c (rpl_close): Likewise.
45887         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
45888         * modules/yield: Likewise.
45889         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
45890         * tests/test-sys_select.c (connect_to_socket): Likewise.
45891
45892         fts.c: adjust a new interface to be more generally useful
45893         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
45894         (fts_build): Adjust caller.
45895
45896 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45897
45898         * modules/cond-tests: New file.
45899         * tests/test-cond.c: New file.
45900
45901 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45902             Bruno Haible  <bruno@clisp.org>
45903
45904         * modules/cond (Dependencies): Add errno, time.
45905         * lib/glthread/cond.h: Include <time.h>.
45906         (gl_cond_define, gl_cond_define_initialized): Use the same definition
45907         across platforms.
45908
45909 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45910             Bruno Haible  <bruno@clisp.org>
45911
45912         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
45913
45914 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45915             Bruno Haible  <bruno@clisp.org>
45916
45917         * modules/tls-tests (Depends-on): Add thread, yield.
45918         (configure.ac): Remove all checks.
45919         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
45920         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
45921         gl_thread_self): Remove definitions. Include glthread/thread.h and
45922         glthread/yield.h instead.
45923         (test_tls): Pass an additional NULL argument to gl_thread_join.
45924
45925 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45926             Bruno Haible  <bruno@clisp.org>
45927
45928         * modules/lock-tests (Depends-on): Add thread, yield.
45929         (configure.ac): Remove all checks.
45930         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
45931         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
45932         gl_thread_self): Remove definitions. Include glthread/thread.h and
45933         glthread/yield.h instead.
45934         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
45935         additional NULL argument to gl_thread_join.
45936
45937 2008-09-30  Bruno Haible  <bruno@clisp.org>
45938
45939         Fix the Win32 implementation of the 'thread' module.
45940         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
45941         pointer type.
45942         (gl_thread_self): Invoke gl_thread_self_func.
45943         (gl_thread_self_func): New declaration.
45944         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
45945         (do_init_self_key, init_self_key): New functions.
45946         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
45947         Remove some fields.
45948         (running_threads, running_lock): Remove variables.
45949         (get_current_thread_handle): New function.
45950         (gl_thread_self_func, wrapper_func, glthread_create_func,
45951         glthread_join_func, gl_thread_exit_func): Largely rewritten and
45952         simplified.
45953
45954 2008-09-30  Bruno Haible  <bruno@clisp.org>
45955
45956         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
45957         files.
45958
45959 2008-09-30  Jim Meyering  <meyering@redhat.com>
45960
45961         fts.m4: correct the test for statfs.f_type
45962         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
45963         when checking for statfs.f_type.
45964
45965 2008-09-15  Simon Josefsson  <simon@josefsson.org>
45966
45967         tests: avoid some compiler warnings
45968         * tests/test-memchr.c (main): Pass NULL indirectly.
45969         * tests/test-getdate.c (main): Remove unused variable 'ret'.
45970
45971 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
45972
45973         getdate.y: disallow countable dayshifts like "4 yesterday ago"
45974         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
45975         exactly specified dayshifts.
45976         (dayshift): New rule.
45977         (rel): Add dayshift.
45978         (relative_time_table) [tomorrow, yesterday, today, now]:
45979         Use tDAY_SHIFT in place of tDAY_UNIT.
45980         * tests/test-getdate.c: Add tests for now-disallowed countable
45981         dayshifts, e.g., "4 yesterday ago".
45982
45983 2008-09-29  Bruno Haible  <bruno@clisp.org>
45984
45985         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
45986         * tests/test-posix_spawn1.in.sh: Renamed from
45987         tests/test-posix_spawn.in.sh.
45988         * tests/test-posix_spawn2.c: New file.
45989         * tests/test-posix_spawn2.in.sh: New file.
45990         * modules/posix_spawnp-tests (Files): Update.
45991         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
45992
45993 2008-09-29  Bruno Haible  <bruno@clisp.org>
45994
45995         Propagate effects of putenv/setenv/unsetenv to child processes.
45996         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
45997         * lib/pipe.c (create_pipe): Likewise.
45998
45999 2008-09-29  Bruno Haible  <bruno@clisp.org>
46000
46001         Enable use of shell scripts as executables in mingw.
46002         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
46003         run the program as a shell script.
46004         * lib/pipe.c (create_pipe): Likewise.
46005         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
46006         resulting array.
46007
46008 2008-09-29  Eric Blake  <ebb9@byu.net>
46009
46010         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
46011
46012 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
46013
46014         * doc/posix-functions/accept.texi: Update mingw problems.
46015         * doc/posix-functions/bind.texi: Update mingw problems.
46016         * doc/posix-functions/close.texi: Update mingw problems.
46017         * doc/posix-functions/connect.texi: Update mingw problems.
46018         * doc/posix-functions/getpeername.texi: Update mingw problems.
46019         * doc/posix-functions/getsockname.texi: Update mingw problems.
46020         * doc/posix-functions/getsockopt.texi: Update mingw problems.
46021         * doc/posix-functions/ioctl.texi: Update mingw problems.
46022         * doc/posix-functions/listen.texi: Update mingw problems.
46023         * doc/posix-functions/recv.texi: Update mingw problems.
46024         * doc/posix-functions/recvfrom.texi: Update mingw problems.
46025         * doc/posix-functions/select.texi: Update mingw problems.
46026         * doc/posix-functions/send.texi: Update mingw problems.
46027         * doc/posix-functions/sendto.texi: Update mingw problems.
46028         * doc/posix-functions/setsockopt.texi: Update mingw problems.
46029         * doc/posix-functions/socket.texi: Update mingw problems.
46030
46031 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
46032             Bruno Haible  <bruno@clisp.org>
46033
46034         * lib/sys_select.in.h: Include sys/time.h.
46035         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
46036         * modules/sys_select: Depend on sys_time.
46037         * tests/test-sys_select.c: Test that sys/select.h defines struct
46038         timeval fully.
46039
46040 2008-09-29  Bruno Haible  <bruno@clisp.org>
46041
46042         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
46043         * lib/sys_select.in.h: Likewise.
46044
46045 2008-09-29  Bruno Haible  <bruno@clisp.org>
46046
46047         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
46048
46049 2008-09-29  Bruno Haible  <bruno@clisp.org>
46050
46051         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
46052         Set LIBSOCKET instead of augmenting LIBS.
46053         * modules/sockets (Link): New section.
46054         * modules/sockets-tests (test_sockets_LDADD): New variable.
46055         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
46056         * modules/poll-tests (test_poll_LDADD): New variable.
46057         * NEWS: Document the change.
46058
46059 2008-09-29  Bruno Haible  <bruno@clisp.org>
46060
46061         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
46062         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
46063         ARPA_INET_H directly.
46064         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
46065
46066 2008-09-28  Bruno Haible  <bruno@clisp.org>
46067
46068         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
46069         from gl_HEADER_SYS_SOCKET.
46070         (gl_HEADER_SYS_SOCKET): Invoke it.
46071         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
46072
46073 2008-09-28  Bruno Haible  <bruno@clisp.org>
46074
46075         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
46076         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
46077         Needed on OSF/1 4.0.
46078
46079 2008-09-28  Bruno Haible  <bruno@clisp.org>
46080
46081         Override open more carefully.
46082         * lib/open.c (orig_open): New function.
46083         (rpl_open): Use orig_open instead of open.
46084         * lib/fcntl.in.h: Add special invocation convention.
46085         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
46086         (gl_FUNC_OPEN): Invoke it.
46087
46088         Override freopen more carefully.
46089         * lib/freopen.c (orig_freopen): New function.
46090         (rpl_freopen): Use orig_freopen instead of freopen.
46091         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
46092         (gl_FUNC_FREOPEN): Invoke it.
46093
46094         Override fopen more carefully.
46095         * lib/fopen.c (orig_fopen): New function.
46096         (rpl_fopen): Use orig_fopen instead of fopen.
46097         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
46098         (gl_FUNC_FOPEN): Invoke it.
46099         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
46100
46101 2008-09-28  Bruno Haible  <bruno@clisp.org>
46102
46103         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
46104         SIGPIPE.
46105
46106 2008-09-28  Bruno Haible  <bruno@clisp.org>
46107
46108         * tests/test-sigaction.c (handler, main): Disable the check whether
46109         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
46110         glibc systems with LinuxThreads.
46111
46112 2008-09-28  Bruno Haible  <bruno@clisp.org>
46113
46114         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
46115
46116         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
46117         with AIX xlc.
46118         * lib/fcntl.in.h (open): Likewise.
46119         Reported by Rainer Tammer <tammer@tammer.net>.
46120
46121 2008-09-28  Bruno Haible  <bruno@clisp.org>
46122
46123         * modules/posix_spawnp-tests: New file.
46124         * tests/test-posix_spawn.c: New file.
46125         * tests/test-posix_spawn.in.sh: New file.
46126
46127         New module 'posix_spawnp'.
46128         * modules/posix_spawnp: New file.
46129         * lib/spawnp.c: New file, from GNU libc with modifications.
46130         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
46131
46132         New module 'posix_spawn'.
46133         * modules/posix_spawn: New file.
46134         * lib/spawn.c: New file, from GNU libc with modifications.
46135         * doc/posix-functions/posix_spawn.texi: Mention the new module.
46136
46137         New module 'posix_spawnattr_destroy'.
46138         * modules/posix_spawnattr_destroy: New file.
46139         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
46140         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
46141         module.
46142
46143         New module 'posix_spawnattr_setsigmask'.
46144         * modules/posix_spawnattr_setsigmask: New file.
46145         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
46146         modifications.
46147         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
46148         new module.
46149
46150         New module 'posix_spawnattr_getsigmask'.
46151         * modules/posix_spawnattr_getsigmask: New file.
46152         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
46153         modifications.
46154         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
46155         new module.
46156
46157         New module 'posix_spawnattr_setsigdefault'.
46158         * modules/posix_spawnattr_setsigdefault: New file.
46159         * lib/spawnattr_setdefault.c: New file, from GNU libc with
46160         modifications.
46161         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
46162         new module.
46163
46164         New module 'posix_spawnattr_getsigdefault'.
46165         * modules/posix_spawnattr_getsigdefault: New file.
46166         * lib/spawnattr_getdefault.c: New file, from GNU libc with
46167         modifications.
46168         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
46169         new module.
46170
46171         New module 'posix_spawnattr_setschedpolicy'.
46172         * modules/posix_spawnattr_setschedpolicy: New file.
46173         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
46174         modifications.
46175         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
46176         new module.
46177
46178         New module 'posix_spawnattr_getschedpolicy'.
46179         * modules/posix_spawnattr_getschedpolicy: New file.
46180         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
46181         modifications.
46182         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
46183         new module.
46184
46185         New module 'posix_spawnattr_setschedparam'.
46186         * modules/posix_spawnattr_setschedparam: New file.
46187         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
46188         modifications.
46189         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
46190         new module.
46191
46192         New module 'posix_spawnattr_getschedparam'.
46193         * modules/posix_spawnattr_getschedparam: New file.
46194         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
46195         modifications.
46196         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
46197         new module.
46198
46199         New module 'posix_spawnattr_setpgroup'.
46200         * modules/posix_spawnattr_setpgroup: New file.
46201         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
46202         modifications.
46203         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
46204         module.
46205
46206         New module 'posix_spawnattr_getpgroup'.
46207         * modules/posix_spawnattr_getpgroup: New file.
46208         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
46209         modifications.
46210         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
46211         module.
46212
46213         New module 'posix_spawnattr_setflags'.
46214         * modules/posix_spawnattr_setflags: New file.
46215         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
46216         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
46217         module.
46218
46219         New module 'posix_spawnattr_getflags'.
46220         * modules/posix_spawnattr_getflags: New file.
46221         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
46222         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
46223         module.
46224
46225         New module 'posix_spawnattr_init'.
46226         * modules/posix_spawnattr_init: New file.
46227         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
46228         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
46229         module.
46230
46231         New module 'posix_spawn_file_actions_destroy'.
46232         * modules/posix_spawn_file_actions_destroy: New file.
46233         * lib/spawn_faction_destroy.c: New file, from GNU libc with
46234         modifications.
46235         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
46236         the new module.
46237
46238         New module 'posix_spawn_file_actions_addopen'.
46239         * modules/posix_spawn_file_actions_addopen: New file.
46240         * lib/spawn_faction_addopen.c: New file, from GNU libc with
46241         modifications.
46242         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
46243         the new module.
46244
46245         New module 'posix_spawn_file_actions_adddup2'.
46246         * modules/posix_spawn_file_actions_adddup2: New file.
46247         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
46248         modifications.
46249         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
46250         the new module.
46251
46252         New module 'posix_spawn_file_actions_addclose'.
46253         * modules/posix_spawn_file_actions_addclose: New file.
46254         * lib/spawn_faction_addclose.c: New file, from GNU libc with
46255         modifications.
46256         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
46257         the new module.
46258
46259         New module 'posix_spawn_file_actions_init'.
46260         * modules/posix_spawn_file_actions_init: New file.
46261         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
46262         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
46263         new module.
46264
46265         New module 'posix_spawn-internal'.
46266         * modules/posix_spawn-internal: New file.
46267         * lib/spawn_int.h: New file, from GNU libc with modifications.
46268         * lib/spawni.c: New file, from GNU libc with modifications.
46269         * m4/posix_spawn.m4: New file.
46270
46271         New module 'spawn'.
46272         * modules/spawn: New file.
46273         * lib/spawn.in.h: New file, from GNU libc with modifications.
46274         * m4/spawn_h.m4: New file.
46275         * doc/posix-headers/spawn.texi: Mention the new module.
46276
46277 2008-09-28  Bruno Haible  <bruno@clisp.org>
46278
46279         * modules/sched-tests: New file.
46280         * tests/test-sched.c: New file.
46281
46282         New module 'sched'.
46283         * modules/sched: New file.
46284         * lib/sched.in.h: New file.
46285         * m4/sched_h.m4: New file.
46286         * doc/posix-headers/sched.texi: Mention the new module.
46287
46288 2008-09-27  Eric Blake  <ebb9@byu.net>
46289
46290         Fix previous patch, and tweak references to $0.
46291         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
46292         (func_version, func_gnulib_dir): Don't call this program
46293         gnulib-tool.
46294         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
46295         with using $0 in function.
46296         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
46297         (func_fatal_error): Reuse the name the user invoked us with.
46298
46299 2008-09-27  Bruno Haible  <bruno@clisp.org>
46300
46301         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
46302         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
46303         (gl_ICONV_H): Not here.
46304         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
46305         instead of assigning ICONV_H directly.
46306
46307         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
46308         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
46309         WCHAR_H directly.
46310
46311 2008-09-27  Bruno Haible  <bruno@clisp.org>
46312
46313         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
46314         * modules/arpa_inet (Depends-on): Add link-warning.
46315         (Makefile.am): Insert the definition of GL_LINK-WARNING.
46316         * modules/unistd (Makefile.am): Likewise.
46317
46318 2008-09-26  Bruno Haible  <bruno@clisp.org>
46319
46320         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
46321         variables.
46322         (func_version): Essentially copied from gnulib-tool.
46323         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
46324         func_readlink): Copied from gnulib-tool.
46325
46326 2008-09-26  Bruno Haible  <bruno@clisp.org>
46327
46328         * gnulib-tool (func_version): Change directory to $gnulib_dir before
46329         invoking git-version-gen.
46330
46331 2008-09-26  Bruno Haible  <bruno@clisp.org>
46332
46333         * posix-modules: Update to directory names changed on 2008-01-19.
46334         Remove commas in output before splitting into words. No more need to
46335         avoid 'ftruncate' since 2007-02-19.
46336
46337 2008-09-26  Bruno Haible  <bruno@clisp.org>
46338
46339         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
46340
46341 2008-09-26  Bruno Haible  <bruno@clisp.org>
46342
46343         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
46344         * modules/fwriteerror (Depends-on): Add errno.
46345
46346 2008-09-26  Bruno Haible  <bruno@clisp.org>
46347
46348         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
46349         * tests/test-vc-list-files-cvs.sh: Likewise.
46350
46351 2008-09-26  Bruno Haible  <bruno@clisp.org>
46352
46353         * doc/posix-headers/sys_resource.texi: Reorder items.
46354
46355 2008-09-26  Jim Meyering  <meyering@redhat.com>
46356
46357         fts: tweak inode comparison function
46358         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
46359         inode numbers, as documented.
46360
46361         fts: sort dirent entries on inode number before traversing
46362         This avoids a quadratic, seek-related performance penalty when
46363         operating on a directory containing many entries (measurable at 10k;
46364         3.5 hours at 2 million entries with a cold cache) on certain types
46365         of file systems, including ext3 and ext4, but not tmpfs.
46366         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
46367         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
46368         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
46369         (fs_handles_readdir_ordered_dirents_efficiently): New function.
46370         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
46371         (fts_build): Set the stat.st_ino member from D_INO.
46372         If it is likely to be useful, sort dirent entries on inode number.
46373
46374         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
46375         and the struct statfs.f_type member.
46376         * modules/fts (Depends-on): Add d-ino.
46377
46378 2008-09-26  Bruno Haible  <bruno@clisp.org>
46379
46380         * modules/sigpipe-die (Depends-on): Add sigpipe.
46381
46382         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
46383         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
46384         and GNULIB_STDIO_H_SIGPIPE are set.
46385         * lib/stdio-write.c: New file.
46386         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
46387         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
46388         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
46389         REPLACE_STDIO_WRITE_FUNCS.
46390         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
46391         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
46392         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
46393         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
46394         * modules/stdio (Files): Add lib/stdio-write.c.
46395         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
46396         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
46397         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
46398         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
46399         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
46400         REPLACE_FPRINTF_POSIX.
46401         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
46402         REPLACE_PRINTF_POSIX.
46403         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
46404         REPLACE_VFPRINTF_POSIX.
46405         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
46406         REPLACE_VPRINTF_POSIX.
46407         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
46408         SIGPIPE issue.
46409         * doc/posix-functions/fputc.texi: Likewise.
46410         * doc/posix-functions/fputs.texi: Likewise.
46411         * doc/posix-functions/fwrite.texi: Likewise.
46412         * doc/posix-functions/printf.texi: Likewise.
46413         * doc/posix-functions/putc.texi: Likewise.
46414         * doc/posix-functions/putchar.texi: Likewise.
46415         * doc/posix-functions/puts.texi: Likewise.
46416         * doc/posix-functions/vfprintf.texi: Likewise.
46417         * doc/posix-functions/vprintf.texi: Likewise.
46418
46419         * modules/safe-write (Depends-on): Add write.
46420
46421         * modules/sigpipe-tests: New file.
46422         * tests/test-sigpipe.c: New file.
46423         * tests/test-sigpipe.sh: New file.
46424
46425         * modules/write: New file.
46426         * lib/unistd.in.h: Include <sys/types.h>.
46427         (write): New declaration.
46428         * lib/write.c: New file.
46429         * m4/write.m4: New file.
46430         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
46431         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
46432         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
46433         GNULIB_WRITE, REPLACE_WRITE.
46434         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
46435         and the SIGPIPE issue.
46436
46437         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
46438         (raise): New declaration.
46439         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
46440         (ext_signal): New function.
46441         (rpl_raise): New function.
46442         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
46443         GNULIB_SIGNAL_H_SIGPIPE.
46444         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
46445         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
46446
46447         * modules/sigpipe: New file.
46448         * m4/sigpipe.m4: New file.
46449
46450 2008-09-25  Derek Price  <derek@ximbiot.com>
46451             Bruno Haible  <bruno@clisp.org>
46452
46453         * gnulib-tool (func_import): Report all license incompatibilities, not
46454         just the first one.
46455
46456 2008-09-25  Bruno Haible  <bruno@clisp.org>
46457
46458         * gnulib-tool (func_import): When computing the edits, consider not
46459         only the Makefile.ams that exist but also those that will be generated.
46460
46461 2008-09-25  Simon Josefsson  <simon@josefsson.org>
46462
46463         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
46464         fixes gnulib-tool --test warning about duplicate dependency.
46465
46466 2008-09-25  Bruno Haible  <bruno@clisp.org>
46467
46468         * gnulib-tool: Don't ask the user to perform edits in the generated
46469         Makefile.ams.
46470         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
46471         apply to the Makefile.am being generated.
46472         (func_emit_tests_Makefile_am): Execute edits that apply to the
46473         Makefile.am being generated.
46474         (func_import): Setup list of Makefile.am edits before emitting the
46475         Makefile.ams, not at the end.
46476         (func_create_testdir): Update.
46477         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
46478
46479 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46480
46481         * gnulib-tool (func_import): Store the --tests-base option in the
46482         comment in gnulib-cache.m4.
46483
46484 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
46485
46486         * NEWS: Document increased portability that sys_select now provides.
46487
46488         * lib/sys_select.in.h: Install select wrapper.
46489         * lib/sys_socket.in.h: Use more descriptive name when there is no
46490         select wrapper.
46491         * lib/winsock-select.c: New.
46492         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
46493         Require gl_HEADER_SYS_SOCKET.
46494         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
46495         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
46496         * tests/test-sys_select.c: Add functional tests.
46497
46498 2008-09-24  Eric Blake  <ebb9@byu.net>
46499
46500         open, fopen: close fd leak in last patch
46501         * lib/open.c (rpl_open): Close fd before returning error.
46502         * lib/fopen.c (rpl_fopen): Close fd before returning error.
46503         * doc/posix-functions/open.texi (open): Document that Irix also
46504         has the bug.
46505         * doc/posix-functions/fopen.texi (fopen): Likewise.
46506         Reported by Paolo Bonzini.
46507
46508 2008-09-24  Bruno Haible  <bruno@clisp.org>
46509
46510         Ensure that a filename ending in a slash cannot be used to access a
46511         non-directory.
46512         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
46513         to check whether it's really a directory.
46514         * lib/fopen.c: Include fcntl.h, unistd.h.
46515         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
46516         and fdopen().
46517         * modules/fopen (Depends-on): Add unistd.
46518         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
46519         * tests/test-fopen.c (main): Likewise.
46520         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
46521         * doc/posix-functions/fopen.texi: Likewise.
46522         Reported by Eric Blake.
46523
46524 2008-09-23  Eric Blake  <ebb9@byu.net>
46525
46526         c-stack: avoid compiler optimizations when provoking overflow
46527         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
46528         recursion harder to optimize, to ensure a stack overflow occurs.
46529         * tests/test-c-stack.c (recurse): Likewise.
46530         Borrowed from libsigsegv.
46531
46532         c-stack: work around Irix sigaltstack bug
46533         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
46534         whether sigaltstack uses wrong end of stack_t (copied in part from
46535         libsigsegv).
46536         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
46537         Irix bug, without requiring an over-allocation.
46538         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
46539         bug.
46540
46541         fopen: document mingw bug on directories
46542         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
46543         not allowing a stream visiting a directory, even though reading
46544         from such a stream is not portable.
46545
46546 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
46547
46548         * lib/poll.c: Rewrite.
46549         * modules/poll: Depend on alloca.
46550
46551 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
46552
46553         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
46554         instead define prototypes for a full set of wrappers.  Ensure
46555         that Cygwin does not use the compatibility code, which is only
46556         for MinGW.
46557         * lib/winsock.c: New.
46558         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
46559         * modules/sys_socket: Add lib/winsock.c.
46560
46561         * modules/poll-tests: Add errno and perror.
46562         * tests/test-poll.c: Use ioctl, not ioctlsocket.
46563
46564 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
46565
46566         * tests/test-poll.c: Downgrade minimum needed Winsock version.
46567
46568 2008-09-23  Bruno Haible  <bruno@clisp.org>
46569
46570         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
46571         * doc/glibc-functions/*: Likewise.
46572
46573 2008-09-23  Simon Josefsson  <simon@josefsson.org>
46574
46575         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
46576         success.
46577
46578 2008-09-22  Eric Blake  <ebb9@byu.net>
46579             Bruno Haible  <bruno@clisp.org>
46580
46581         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
46582         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
46583         supply %A but mishandle pseudo-NaN.
46584         Reported by Simon Josefsson.
46585
46586 2008-09-21  Bruno Haible  <bruno@clisp.org>
46587
46588         * tests/test-lock.c (main): Tweak skip message.
46589         * tests/test-tls.c (main): Likewise.
46590
46591 2008-09-21  Bruno Haible  <bruno@clisp.org>
46592
46593         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
46594         whether 'struct sigaction' has sa_sigaction here...
46595         (gl_PREREQ_SIG_HANDLER_H): ... not here.
46596         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
46597
46598 2008-09-21  Bruno Haible  <bruno@clisp.org>
46599
46600         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
46601         section.
46602         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
46603         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
46604         the new section.
46605         (Support for obsolete systems lacking POSIX:2001): New section.
46606         (String handling <string.h>): Move strdup to the new section.
46607         Suggested by Simon Josefsson and Paolo Bonzini.
46608
46609 2008-09-21  Bruno Haible  <bruno@clisp.org>
46610
46611         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
46612         exponents in %e and %g results on 'long double'. Needed for mingw's
46613         improved *printf functions.
46614         * tests/test-vasprintf-posix.c (test_function): Likewise.
46615         * tests/test-snprintf-posix.h (test_function): Likewise.
46616         * tests/test-sprintf-posix.h (test_function): Likewise.
46617         Reported by Eric Blake.
46618
46619 2008-09-21  Bruno Haible  <bruno@clisp.org>
46620
46621         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
46622         * tests/test-sprintf-posix.h (test_function): Likewise.
46623
46624 2008-09-21  Bruno Haible  <bruno@clisp.org>
46625
46626         * modules/getpass (Depends-on): Add strdup-posix.
46627
46628         New module 'strdup-posix'.
46629         * modules/strdup-posix: New file.
46630         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
46631         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
46632         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
46633         REPLACE_STRDUP.
46634         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
46635         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
46636         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
46637         strdup-posix.
46638
46639         * modules/strdup (Depends-on): Remove malloc-posix.
46640
46641 2008-09-20  Bruno Haible  <bruno@clisp.org>
46642
46643         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
46644         Wildenhues.
46645
46646 2008-09-20  Bruno Haible  <bruno@clisp.org>
46647
46648         Ensure that wint_t gets defined on IRIX 5.3.
46649         * lib/wchar.in.h (wint_t): Define if not defined by the system.
46650         * lib/wctype.in.h (wint_t): Likewise.
46651         (__wctype_wint_t): Remove type.
46652         (isw*): Use wint_t instead of __wctype_wint_t.
46653         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
46654         * modules/wchar (Files): Add m4/wint_t.m4.
46655         (Makefile.am): Substitute HAVE_WINT_T.
46656         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
46657         * tests/test-wctype.c: Check that wint_t is defined.
46658         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
46659         * doc/posix-headers/wctype.texi: Likewise.
46660         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46661
46662 2008-09-18  Bruno Haible  <bruno@clisp.org>
46663
46664         * gnulib-tool (func_exit): Update comment.
46665
46666 2008-09-18  Simon Josefsson  <simon@josefsson.org>
46667
46668         * modules/getaddrinfo (Depends-on): Remove strdup, this module
46669         assumes strdup exists and does not depend on strdup to return
46670         ENOMEM on out of memory conditions.
46671
46672 2008-09-18  Bruno Haible  <bruno@clisp.org>
46673
46674         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
46675         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
46676         digits for the exponent.
46677
46678 2008-09-18  Jim Meyering  <meyering@redhat.com>
46679             Bruno Haible  <bruno@clisp.org>
46680
46681         * lib/vasnprintf.c (decimal_point_char): Define also if
46682         NEED_PRINTF_INFINITE_LONG_DOUBLE.
46683
46684 2008-09-16  Bruno Haible  <bruno@clisp.org>
46685         and Eric Blake  <ebb9@byu.net>
46686
46687         vasnprintf: support Irix 5.3
46688         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
46689         that mishandle long double infinity.
46690         Reported by Tom G. Christensen.
46691
46692 2008-09-16  Bruno Haible  <bruno@clisp.org>
46693
46694         * doc/glibc-functions/scandir.texi: Mention the function is missing on
46695         Solaris 9.
46696         * doc/glibc-functions/alphasort.texi: Likewise.
46697         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
46698
46699 2008-09-16  Jim Meyering  <meyering@redhat.com>
46700
46701         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
46702         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
46703         a umask modification leak out of a subshell.  Otherwise, the
46704         opensolaris /bin/sh would be accepted and thus cause unwarranted
46705         failures in the coreutils test suite.
46706
46707 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
46708
46709         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
46710         to succeed.
46711
46712 2008-09-16  Jim Meyering  <meyering@redhat.com>
46713
46714         avoid spurious test failure when library is built without ACL support
46715         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
46716         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
46717         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
46718         * tests/test-copy-acl.sh: Likewise.
46719
46720 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46721
46722         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
46723         based on character occurrence counts.
46724
46725 2008-09-15  Eric Blake  <ebb9@byu.net>
46726
46727         tests: avoid some compiler warnings
46728         * tests/test-memchr.c (main): Pass NULL indirectly.
46729         * tests/test-closein.c (main): Avoid unused variable.
46730
46731 2008-09-15  Bruno Haible  <bruno@clisp.org>
46732
46733         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
46734         are missing on OpenBSD 4.0 individually.
46735         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
46736
46737 2008-09-15  Bruno Haible  <bruno@clisp.org>
46738
46739         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
46740         * doc/posix-functions/strerror.texi: Mention also Cygwin.
46741         * doc/posix-functions/perror.texi: Likewise.
46742         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
46743         is missing.
46744         Reported by Eric Blake.
46745
46746         * lib/errno.in.h: Use replacement values >= 2000.
46747         Reported by Eric Blake.
46748
46749 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46750
46751         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
46752         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
46753         limit.
46754         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
46755         compareseq was aborted.
46756
46757 2008-09-14  Bruno Haible  <bruno@clisp.org>
46758
46759         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
46760         yvec_edit_count.
46761         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
46762         (fstrcmp_bounded): Simplify result computation accordingly.
46763
46764 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46765
46766         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
46767         (fstrcmp): Define in terms of fstrcmp_bounded.
46768         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
46769         lower_bound argument.
46770         Return quickly if the result is certainly < lower_bound.
46771         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
46772
46773 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46774
46775         * lib/diffseq.h (EARLY_ABORT): New macro.
46776         (compareseq): Change return type to bool. Return true when EARLY_ABORT
46777         evaluates to true.
46778
46779 2008-09-14  Bruno Haible  <bruno@clisp.org>
46780
46781         * modules/perror-tests: New file.
46782         * tests/test-perror.sh: New file.
46783         * tests/test-perror.c: New file.
46784
46785         New module 'perror'.
46786         * lib/stdio.in.h (perror): New declaration.
46787         * lib/perror.c: New file.
46788         * m4/perror.m4: New file.
46789         * modules/perror: New file.
46790         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
46791         * doc/posix-functions/perror.texi: Mention the perror module.
46792         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
46793         REPLACE_PERROR.
46794         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
46795         REPLACE_PERROR.
46796
46797 2008-09-14  Bruno Haible  <bruno@clisp.org>
46798
46799         * modules/stdio (Makefile.am): Reorder to match the order in
46800         lib/stdio.in.h.
46801         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
46802
46803 2008-09-13  Bruno Haible  <bruno@clisp.org>
46804
46805         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
46806
46807 2008-09-13  Bruno Haible  <bruno@clisp.org>
46808
46809         Extend strerror to cover the added errno values.
46810         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
46811         (rpl_strerror): Provide error messages for the added errno values and
46812         for the WSA* values.
46813         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
46814         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
46815         strerror.
46816         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
46817         * modules/strerror (Depends-on): Add errno.
46818         * doc/posix-functions/strerror.texi: Document the change.
46819         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
46820         and EOVERFLOW.
46821
46822 2008-09-13  Bruno Haible  <bruno@clisp.org>
46823
46824         * modules/EOVERFLOW: Remove file.
46825         * m4/eoverflow.m4: Remove file.
46826         * modules/EOVERFLOW-tests: Remove file.
46827         * tests/test-EOVERFLOW.c: Remove file.
46828         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
46829         * modules/ftell (Depends-on): Likewise.
46830         * modules/getdelim (Depends-on): Likewise.
46831         * modules/getugroups (Depends-on): Likewise.
46832         * modules/poll (Depends-on): Likewise.
46833         * modules/snprintf (Depends-on): Likewise.
46834         * modules/sprintf-posix (Depends-on): Likewise.
46835         * modules/vasnprintf (Depends-on): Likewise.
46836         * modules/vasprintf (Depends-on): Likewise.
46837         * modules/vfprintf-posix (Depends-on): Likewise.
46838         * modules/vsnprintf (Depends-on): Likewise.
46839         * modules/vsprintf-posix (Depends-on): Likewise.
46840         * modules/xvasprintf (Depends-on): Likewise.
46841         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
46842         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
46843         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
46844         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
46845         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
46846         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
46847         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
46848         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
46849         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
46850         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
46851         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
46852         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
46853         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
46854         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
46855         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
46856         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
46857         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
46858         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
46859         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
46860         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
46861         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
46862         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
46863         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
46864         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
46865         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
46866         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
46867         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
46868         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
46869         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
46870         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
46871         * MODULES.html.sh: Remove EOVERFLOW.
46872         * NEWS: Mention the change.
46873
46874 2008-09-13  Bruno Haible  <bruno@clisp.org>
46875
46876         * modules/errno-tests: New file.
46877         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
46878
46879         * lib/errno.in.h: New file.
46880         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
46881         * modules/errno: New file.
46882         * doc/posix-headers/errno.texi: Update documentation.
46883         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
46884
46885 2008-09-13  Bruno Haible  <bruno@clisp.org>
46886
46887         * tests/test-poll.c: Use #if for native Windows, rather than testing
46888         __MSVCRT__.
46889
46890 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46891             Bruno Haible  <bruno@clisp.org>
46892
46893         * lib/glob.c: Don't include <pwd.h> on native Windows.
46894         (WINDOWS32): New macro.
46895         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
46896
46897 2008-09-13  Bruno Haible  <bruno@clisp.org>
46898
46899         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
46900         (ETIMEDOUT): Remove macro.
46901         (glthread_cond_timedwait_multithreaded): New declaration.
46902         (glthread_cond_timedwait): Use it.
46903         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
46904         (glthread_cond_timedwait_multithreaded): New function.
46905
46906 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
46907
46908         * modules/poll-tests: Do not check for io.h.
46909         * tests/test-poll.c: Check for __MSVCRT__ instead.
46910
46911 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
46912
46913         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
46914         * modules/poll-tests: Add inet_pton, stdbool, sockets.
46915         * tests/test-poll.c: Use them.  Use _pipe on Windows.
46916
46917 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
46918
46919         * modules/poll-tests: New.
46920         * tests/test-poll.c: New.
46921
46922 2008-09-12  Eric Blake  <ebb9@byu.net>
46923
46924         frexp: test for NetBSD failure on -0.0
46925         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
46926         not all, bugs from NetBSD 3.0 have been fixed.
46927         * doc/posix-functions/frexp.texi (frexp): Document bug.
46928         Reported by Thomas Klausner.
46929
46930         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
46931         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
46932         literal -0.0.
46933         Reported by Jonathan C. Patschke <jp@centtech.com>.
46934
46935 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46936
46937         * lib/glthread/cond.h: Use dummy implementation also if
46938         USE_WIN32_THREADS.
46939
46940 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46941
46942         * modules/fnmatch-posix (License): Change to LGPLv2+.
46943         * modules/fnmatch-gnu (License): Likewise.
46944
46945 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46946
46947         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
46948
46949 2008-09-11  Jim Meyering  <meyering@redhat.com>
46950
46951         * users.txt: Add gtk-vnc.
46952
46953 2008-09-08  Simon Josefsson  <simon@josefsson.org>
46954
46955         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
46956         rotate amounts.
46957
46958         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
46959         required for 16-bit and 8-bit rotates.
46960         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
46961         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
46962         UINT8_MAX instead of hard-coded constants.
46963         Suggested by Paul Eggert.
46964
46965 2008-09-07  Bruno Haible  <bruno@clisp.org>
46966
46967         * tests/test-striconveh.c (main): Check behaviour when converting from
46968         UTF-7.
46969
46970         Make striconveh work better with stateful encodings.
46971         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
46972         that iconv does not increment the inptr when returning -1/EINVAL.
46973
46974 2008-09-07  Bruno Haible  <bruno@clisp.org>
46975
46976         * build-aux/config.rpath: Update according to libtool-2.2.6.
46977         * build-aux/config.libpath: Likewise.
46978
46979 2008-09-06  Bruno Haible  <bruno@clisp.org>
46980
46981         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
46982         * lib/freadptr.c (freadptr): Likewise.
46983         * lib/freadseek.c (freadptrinc): Likewise.
46984         Reported by Simon Josefsson.
46985
46986 2008-09-06  Bruno Haible  <bruno@clisp.org>
46987
46988         * modules/freadptr (License): Change to LGPLv2+.
46989         * modules/freadseek (License): Likewise.
46990         Suggested by Eric Blake.
46991
46992         * modules/memchr2 (License): Change to LGPLv2+.
46993         Approved by Eric Blake.
46994
46995 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46996             Bruno Haible  <bruno@clisp.org>
46997
46998         Make gnulib-tool work with native 'sed' on AIX.
46999         * gnulib-tool (sed_noop): New variable.
47000         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
47001         func_add_or_update, func_create_testdir): Use it to initialize sed
47002         script variables.
47003         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
47004
47005 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
47006             Bruno Haible  <bruno@clisp.org>
47007
47008         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
47009         also works after #include directives.
47010
47011 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
47012
47013         getdate.y: reject an out-of-range timezone value
47014         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
47015         the range [-24...+24].  When specified with only one or two digits,
47016         * tests/test-getdate.c: Tests for the fix.
47017         * doc/getdate.texi: Document this change.
47018
47019 2008-09-03  Bruno Haible  <bruno@clisp.org>
47020
47021         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
47022
47023 2008-09-02  Simon Josefsson  <simon@josefsson.org>
47024
47025         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
47026         <bruce.korb@gmail.com> with ideas from Ben Pfaff
47027         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
47028         Blake <ebb9@byu.net>.
47029
47030         * tests/test-bitrotate.c: Add more test vectors.
47031
47032 2008-09-02  Eric Blake  <ebb9@byu.net>
47033
47034         vasnprintf-posix: handle large precision via %.*d
47035         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
47036         when handling it ourselves.
47037         * tests/test-vasnprintf-posix.c (test_function): Add test.
47038         * tests/test-snprintf-posix.h (test_function): Likewise.
47039         * tests/test-sprintf-posix.h (test_function): Likewise.
47040         * tests/test-vasprintf-posix.c (test_function): Likewise.
47041         Reported by Alain Guibert.
47042
47043 2008-09-01  Eric Blake  <ebb9@byu.net>
47044
47045         c-stack: make configure-time check more robust
47046         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
47047         successful sigaction call.
47048         Reported by Tom G. Christensen.
47049
47050 2008-09-01  Bruno Haible  <bruno@clisp.org>
47051
47052         New module 'findprog-lgpl'.
47053         * modules/findprog-lgpl: New file.
47054         * lib/findprog-lgpl.c: New file.
47055         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
47056         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
47057         to decide whether to use strdup or xstrdup, concatenated_filename or
47058         xconcatenated_filename.
47059
47060 2008-09-01  Bruno Haible  <bruno@clisp.org>
47061
47062         Split module 'concat-filename' into 'concat-filename' (LGPL) and
47063         'xconcat-filename' (GPL).
47064         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
47065         (License): Change to LGPLv2+.
47066         * modules/xconcat-filename: New file.
47067         * lib/concat-filename.h (concatenated_filename): Change specification.
47068         (xconcatenated_filename): New declaration.
47069         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
47070         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
47071         memory situations.
47072         * lib/xconcat-filename.c: New file.
47073         * NEWS: Mention the change.
47074         * lib/findprog.c: Include concat-filename.h, not filename.h.
47075         (find_in_path): Use xconcatenated_filename instead of
47076         concatenated_filename.
47077         * lib/javacomp.c: Include concat-filename.h, not filename.h.
47078         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
47079         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
47080         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
47081         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
47082         instead of concatenated_filename.
47083         * lib/javaexec.c: Include concat-filename.h, not filename.h.
47084         (execute_java_class): Use xconcatenated_filename instead of
47085         concatenated_filename.
47086         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
47087         * modules/javacomp (Depends-on): Likewise.
47088         * modules/javaexec (Depends-on): Likewise.
47089
47090 2008-09-01  Bruno Haible  <bruno@clisp.org>
47091
47092         Split module 'filename' into 'filename' and 'concat-filename'.
47093         * modules/filename: Keep only lib/filename.h.
47094         (License): Change to LGPLv2+.
47095         * modules/concat-filename: New file, extracted from modules/filename.
47096         * lib/filename.h (concatenated_filename): Remove declaration.
47097         * lib/concat-filename.h: New file, extracted from lib/filename.h.
47098         * lib/concat-filename.c: Include concat-filename.h.
47099         * NEWS: Mention the change.
47100
47101 2008-09-01  Simon Josefsson  <simon@josefsson.org>
47102
47103         * lib/bitrotate.h (rotl8, rotr8): Add.
47104
47105         * modules/bitrotate (configure.ac): Need
47106         AC_REQUIRE([AC_C_INLINE]).
47107         (Description): Mention stdint.h.  Reported by Bruno Haible
47108         <bruno@clisp.org>.
47109
47110         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
47111         Paolo Bonzini <bonzini@gnu.org>.
47112
47113 2008-08-31  Bruno Haible  <bruno@clisp.org>
47114
47115         Assume Solaris specific bi-arch conventions on Solaris systems.
47116         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
47117         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
47118         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
47119         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
47120         like acl_libdirstem.
47121         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
47122         acl_libdirstem.
47123         * NEWS: Mention the change.
47124         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
47125
47126 2008-08-31  Jim Meyering  <meyering@redhat.com>
47127
47128         * lib/strftime.h: Add comments describing the two added arguments.
47129
47130         remove duplicate #include directives
47131         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
47132         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
47133
47134 2008-08-31  Bruno Haible  <bruno@clisp.org>
47135
47136         New module 'sigpipe-die'.
47137         * modules/sigpipe-die: New file.
47138         * lib/sigpipe-die.h: New file.
47139         * lib/sigpipe-die.c: New file.
47140         * MODULES.html.sh (Signal handling): Add sigpipe-die.
47141
47142 2008-08-31  Bruno Haible  <bruno@clisp.org>
47143
47144         Don't override previously installed signal handlers.
47145         * lib/fatal-signal.c (saved_sigactions): New variable.
47146         (uninstall_handlers): Reset the signal to the saved handler, not
47147         to SIG_DFL (except when ignored).
47148         (install_handlers): Save the previous handlers.
47149
47150 2008-08-30  Bruno Haible  <bruno@clisp.org>
47151
47152         * gnulib-tool (func_reset_sigpipe): New function.
47153         (func_get_automake_snippet, func_modules_transitive_closure,
47154         func_import): Invoke it before a join command that reads from stdin,
47155         to avoid "echo: write error: Broken pipe" error messages on stderr.
47156         Reported by Sam Steingold <sds@gnu.org>.
47157
47158 2008-08-30  Bruno Haible  <bruno@clisp.org>
47159
47160         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
47161         Code copied from m4/open.m4.
47162         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
47163         access and the filename ends in a slash. Code copied from lib/open.c.
47164         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
47165         * tests/test-fopen.c (main): Check against bug with trailing slash.
47166
47167 2008-08-29  Bruno Haible  <bruno@clisp.org>
47168
47169         Avoid some "gcc -pedantic" warnings.
47170         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
47171         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
47172         * lib/dirent.in.h: Likewise.
47173         * lib/fcntl.in.h: Likewise.
47174         * lib/float.in.h: Likewise.
47175         * lib/iconv.in.h: Likewise.
47176         * lib/inttypes.in.h: Likewise.
47177         * lib/locale.in.h: Likewise.
47178         * lib/math.in.h: Likewise.
47179         * lib/netinet_in.in.h: Likewise.
47180         * lib/search.in.h: Likewise.
47181         * lib/signal.in.h: Likewise.
47182         * lib/stdarg.in.h: Likewise.
47183         * lib/stdint.in.h: Likewise.
47184         * lib/stdio.in.h: Likewise.
47185         * lib/stdlib.in.h: Likewise.
47186         * lib/string.in.h: Likewise.
47187         * lib/strings.in.h: Likewise.
47188         * lib/sys_select.in.h: Likewise.
47189         * lib/sys_socket.in.h: Likewise.
47190         * lib/sys_stat.in.h: Likewise.
47191         * lib/sys_time.in.h: Likewise.
47192         * lib/sysexits.in.h: Likewise.
47193         * lib/time.in.h: Likewise.
47194         * lib/unistd.in.h: Likewise.
47195         * lib/wchar.in.h: Likewise.
47196         * lib/wctype.in.h: Likewise.
47197         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
47198         * modules/fchdir (Makefile.am): Likewise.
47199         * modules/fcntl (Makefile.am): Likewise.
47200         * modules/float (Makefile.am): Likewise.
47201         * modules/iconv_open (Makefile.am): Likewise.
47202         * modules/inttypes (Makefile.am): Likewise.
47203         * modules/locale (Makefile.am): Likewise.
47204         * modules/math (Makefile.am): Likewise.
47205         * modules/netinet_in (Makefile.am): Likewise.
47206         * modules/search (Makefile.am): Likewise.
47207         * modules/signal (Makefile.am): Likewise.
47208         * modules/stdarg (Makefile.am): Likewise.
47209         * modules/stdint (Makefile.am): Likewise.
47210         * modules/stdio (Makefile.am): Likewise.
47211         * modules/stdlib (Makefile.am): Likewise.
47212         * modules/string (Makefile.am): Likewise.
47213         * modules/strings (Makefile.am): Likewise.
47214         * modules/sys_select (Makefile.am): Likewise.
47215         * modules/sys_socket (Makefile.am): Likewise.
47216         * modules/sys_stat (Makefile.am): Likewise.
47217         * modules/sys_time (Makefile.am): Likewise.
47218         * modules/sysexits (Makefile.am): Likewise.
47219         * modules/time (Makefile.am): Likewise.
47220         * modules/unistd (Makefile.am): Likewise.
47221         * modules/wchar (Makefile.am): Likewise.
47222         * modules/wctype (Makefile.am): Likewise.
47223         Reported by Reuben Thomas <rrt@sc3d.org>.
47224
47225 2008-08-29  Bruno Haible  <bruno@clisp.org>
47226
47227         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
47228         any more.
47229
47230 2008-08-29  Simon Josefsson  <simon@josefsson.org>
47231
47232         * MODULES.html.sh (Misc): Add bitrotate.
47233
47234         * modules/bitrotate: New file.
47235
47236         * lib/bitrotate.h: New file.
47237
47238         * modules/bitrotate-tests: New file.
47239
47240         * tests/test-bitrotate.c: New file.
47241
47242         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
47243         on the bitrotate module.
47244
47245         * lib/arctwo.c: Use new bitrotate module.
47246
47247 2008-08-29  Jim Meyering  <meyering@redhat.com>
47248
47249         bootstrap: merge changes from coreutils
47250         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
47251         of copied files.  Remove a kludge, now that this is fixed.
47252         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
47253         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
47254         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
47255
47256 2008-08-29  Bruno Haible  <bruno@clisp.org>
47257
47258         * MODULES.html.sh: Remove --cvs-urls option.
47259
47260 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
47261
47262         maint.mk: adjust to file name change
47263         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
47264
47265 2008-08-28  Jim Meyering  <meyering@redhat.com>
47266
47267         * modules/getndelim2 (License): Relicense to LGPLv2+.
47268         Approved by Richard Stallman for the version of 1995, and by
47269         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
47270
47271 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
47272
47273         * lib/getdelim.c (flockfile, funlockfile): Make all of them
47274         dummy if one is not available.  Do not touch them if
47275         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
47276         (getc_maybe_unlocked): New.
47277         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
47278
47279 2008-08-26  Eric Blake  <ebb9@byu.net>
47280
47281         doc/INSTALL: resync from autoconf
47282         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
47283         (INSTALL_PRELUDE): Delete; this is done more efficiently by
47284         moving...
47285         * install.texi [!autoconf]: ...here.  Resync from autoconf.
47286         * INSTALL: Regenerate.
47287         * INSTALL.ISO: New file.
47288         * INSTALL.UTF-8: Likewise.
47289
47290 2008-08-26  Jim Meyering  <meyering@redhat.com>
47291
47292         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
47293         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
47294         these definitions conditional, so that they may be overridden, too.
47295
47296 2008-08-26  Bruno Haible  <bruno@clisp.org>
47297
47298         Generate INSTALL file variants with prettier quotes.
47299         * doc/Makefile (INSTALL_PRELUDE): New macro.
47300         (INSTALL): Use it.
47301         (INSTALL.ISO, INSTALL.UTF-8): New rules.
47302
47303 2008-08-26  Bruno Haible  <bruno@clisp.org>
47304
47305         Run makeinfo in an English locale.
47306         * doc/Makefile (MAKEINFO): New variable.
47307
47308 2008-08-26  Bruno Haible  <bruno@clisp.org>
47309
47310         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
47311         Suggested by Eric Blake.
47312
47313 2008-08-25  Bruno Haible  <bruno@clisp.org>
47314
47315         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
47316
47317 2008-08-25  Eric Blake  <ebb9@byu.net>
47318
47319         c-stack: test that stack overflow can be caught
47320         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
47321         that platform allows handling stack overflow; at least OS/2 EMX
47322         has sigaltstack, but crashes before transferring control to
47323         handler on stack overflow.
47324         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
47325         check for HAVE_STACK_OVERFLOW_HANDLING.
47326         Reported by Elbert Pol.
47327
47328 2008-08-25  Bruno Haible  <bruno@clisp.org>
47329
47330         * doc/posix-functions/strftime.texi: Fix description of strftime
47331         module.
47332
47333 2008-08-24  Bruno Haible  <bruno@clisp.org>
47334
47335         * tests/uniwidth/test-uc_width2.c: New file.
47336         * tests/uniwidth/test-uc_width2.sh: New file.
47337         * modules/uniwidth/width-tests (Files): Add the new files.
47338         (TESTS): Add uniwidth/test-uc_width2.sh.
47339         (TESTS_ENVIRONMENT): New variable.
47340         (check_PROGRAMS): Add test-uc_width2.
47341         (test_uc_width2_SOURCES): New variable.
47342
47343         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
47344         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
47345         not 0x00AB.
47346         Reported by Alexander V. Lukyanov <lav@netis.ru>.
47347
47348 2008-08-22  Eric Blake  <ebb9@byu.net>
47349
47350         test-lock, test-tls: mention why a test is skipped
47351         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
47352         skipped.
47353         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
47354
47355         count-one-bits: relax license
47356         * modules/count-one-bits (License): Relicense to LGPLv2+.
47357         Suggested by Ludovic Courtès, approved by Ben Pfaff.
47358
47359 2008-08-22  Andreas Schwab  <schwab@suse.de>
47360
47361         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
47362         Remove spurious space in assignment.
47363
47364 2008-08-21  Simon Josefsson  <simon@josefsson.org>
47365
47366         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
47367         Paul Eggert <eggert@CS.UCLA.EDU>.
47368
47369 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
47370
47371         * modules/gettext: Add m4/threadlib.m4.
47372
47373 2008-08-19  Eric Blake  <ebb9@byu.net>
47374
47375         test-c-stack: fix compilation failure on FreeBSD 5.0
47376         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
47377         headers before <sys/resource.h>.
47378         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
47379         the bug.
47380         Reported by Nelson H. F. Beebe.
47381
47382         strverscmp: migrate from "strverscmp.h" to <string.h>
47383         * modules/string (Makefile.am): Add new hooks.
47384         * modules/strverscmp (Files): Remove strverscmp.h.
47385         (Depends-on): Add string.
47386         (configure.ac): Add indicator.
47387         (Include): Mention new header.
47388         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
47389         defaults.
47390         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
47391         results.
47392         * lib/strverscmp.h: Delete.
47393         * lib/string.in.h (strverscmp): Provide declaration, when needed.
47394         * tests/test-strverscmp.c (includes): Adjust client.
47395         * lib/check-version.c (includes): Likewise.
47396         * NEWS: Document the change.
47397
47398         strverscmp: add unit test
47399         * modules/strverscmp-tests: New file.
47400         * tests/test-strverscmp.c: Likewise.
47401
47402 2008-08-19  Simon Josefsson  <simon@josefsson.org>
47403
47404         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
47405         regarding Windows crypto stuff, from Mono.
47406
47407 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
47408
47409         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
47410         if present, for intel RND.  Return error on failures.
47411
47412 2008-08-18  Ben Pfaff  <blp@gnu.org>
47413
47414         gitlog-to-changelog: give better diagnostic for failed pipe-open
47415         * build-aux/gitlog-to-changelog: Improve error message: suggest
47416         that the version of Git may be too old.
47417
47418 2008-08-18  Simon Josefsson  <simon@josefsson.org>
47419
47420         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
47421         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
47422
47423 2008-08-18  Bruno Haible  <bruno@clisp.org>
47424
47425         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
47426         pthread_in_use().
47427
47428 2008-08-18  Bruno Haible  <bruno@clisp.org>
47429
47430         * lib/glthread/threadlib.c: Include <pthread.h>.
47431
47432 2008-08-18  Bruno Haible  <bruno@clisp.org>
47433
47434         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
47435         glthread_recursive_lock_* macros.
47436         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
47437         Fix syntax error.
47438
47439 2008-08-18  Bruno Haible  <bruno@clisp.org>
47440
47441         * lib/glthread/thread.c: Avoid forcing a context switch right after
47442         thread creation.
47443
47444 2008-08-17  Bruno Haible  <bruno@clisp.org>
47445
47446         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
47447         * lib/glthread/thread.h: Provide Win32 specific implementation.
47448         * modules/thread (Files): Add lib/glthread/thread.c.
47449         (Depends-on): Add lock.
47450         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
47451
47452 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47453
47454         New module 'yield'.
47455         * modules/yield: New file.
47456         * lib/glthread/yield.h: New file.
47457         * m4/yield.m4: New file.
47458         * MODULES.html.sh (Multithreading): Add yield.
47459
47460 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47461
47462         New module 'thread'.
47463         * modules/thread: New file.
47464         * lib/glthread/thread.h: New file.
47465         * m4/thread.m4: New file.
47466         * MODULES.html.sh (Multithreading): Add thread.
47467
47468 2008-08-17  Bruno Haible  <bruno@clisp.org>
47469
47470         * lib/glthread/lock.h: Include <stdlib.h> always.
47471         * lib/glthread/tls.h: Likewise.
47472         * lib/glthread/cond.h: Likewise.
47473
47474 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47475
47476         New module 'cond'.
47477         * modules/cond: New file.
47478         * lib/glthread/cond.h: New file.
47479         * lib/glthread/cond.c: New file.
47480         * m4/cond.m4: New file.
47481         * MODULES.html.sh (Multithreading): Add cond.
47482
47483 2008-08-16  Eric Blake  <ebb9@byu.net>
47484
47485         c-stack: fix regression on Irix 5.3 from 2008-06-21
47486         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
47487         sa_sigaction...
47488         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
47489         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
47490         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
47491         * modules/signal (Makefile.am): Use the value.
47492         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
47493         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
47494         * doc/posix-headers/signal.texi (signal.h): Document this
47495         portability issue.
47496         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
47497         Reported by Tom G. Christensen.
47498
47499 2008-08-17  Bruno Haible  <bruno@clisp.org>
47500
47501         New module 'threadlib'.
47502         * modules/threadlib: New file.
47503         * lib/glthread/threadlib.c: New file, extracted from
47504         lib/glthread/lock.c.
47505         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
47506         functions.
47507         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
47508         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
47509         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
47510         macros.
47511         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
47512         (gl_DISABLE_THREADS): Remove macro.
47513         * modules/lock (Files): Remove build-aux/config.rpath.
47514         (Depends-on): Remove havelib. Add threadlib.
47515         (configure.ac-early): Remove section.
47516         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
47517         * modules/tls (Depends-on): Remove lock. Add threadlib.
47518         (Link): New section, copied from threadlib.
47519         * MODULES.html.sh (Multithreading): Add threadlib.
47520
47521 2008-08-14  Bruno Haible  <bruno@clisp.org>
47522
47523         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
47524         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
47525         glthread_rwlock_unlock, glthread_rwlock_destroy,
47526         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
47527         glthread_recursive_lock_destroy): Define as macros always.
47528         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
47529         glthread_lock_lock.
47530         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
47531         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
47532         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
47533         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
47534         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
47535         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
47536         (glthread_recursive_lock_lock_func): Renamed from
47537         glthread_recursive_lock_lock.
47538         (glthread_recursive_lock_unlock_func): Renamed from
47539         glthread_recursive_lock_unlock.
47540         (glthread_recursive_lock_destroy_func): Renamed from
47541         glthread_recursive_lock_destroy.
47542
47543 2008-08-14  Bruno Haible  <bruno@clisp.org>
47544
47545         * lib/glthread/lock.h: Renamed from lib/lock.h.
47546         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
47547         * lib/glthread/tls.h: Renamed from lib/tls.h.
47548         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
47549         * lib/fstrcmp.c: Update includes.
47550         * lib/strsignal.c: Update includes.
47551         * modules/lock (Files, Makefile.am): Update.
47552         (Include): Change to "glthread/lock.h".
47553         * modules/tls (Files, Makefile.am): Update.
47554         (Include): Change to "glthread/tls.h".
47555         * tests/test-lock.c: Update includes.
47556         * tests/test-tls.c: Update includes.
47557         * NEWS: Mention the renamed header files.
47558
47559 2008-08-11  Jim Meyering  <meyering@redhat.com>
47560
47561         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
47562
47563 2008-08-11  Eric Blake  <ebb9@byu.net>
47564
47565         test-c-stack: avoid C99-ism
47566         * tests/test-c-stack.c (main): Fix whitespace, move declaration
47567         before statement.
47568         Reported by Alain Guibert.
47569
47570 2008-08-10  Jim Meyering  <meyering@redhat.com>
47571
47572         ensure that return value of uinttostr et al are not ignored
47573         * lib/inttostr.h (__GNUC_PREREQ): Define.
47574         (__attribute_warn_unused_result__): Define.
47575         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
47576
47577 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
47578
47579         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
47580         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
47581
47582 2008-08-07  Jim Meyering  <meyering@redhat.com>
47583
47584         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
47585
47586         * modules/mkstemp (License): Relicense under LGPLv2+.
47587         * modules/tempname (License): Likewise.
47588
47589 2008-08-06  Bruno Haible  <bruno@clisp.org>
47590
47591         * lib/poll.c (poll): Further micro-optimization.
47592
47593 2008-08-06  Jim Meyering  <meyering@redhat.com>
47594
47595         inet_pton.c: use locale-independent tolower
47596         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
47597         (inet_pton6): Use c_tolower rather than tolower.
47598         * modules/inet_pton (Depends-on): Add c-ctype.
47599
47600 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
47601
47602         * lib/poll.c (poll): Avoid division when timeout is 0, cache
47603         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
47604
47605 2008-08-06  Jim Meyering  <meyering@redhat.com>
47606
47607         * modules/inet_pton (License): Relicense under LGPLv2+.
47608
47609 2008-08-03  Bruno Haible  <bruno@clisp.org>
47610
47611         Additional non-aborting API for lock and tls.
47612         * lib/lock.h: Include <errno.h>.
47613         (glthread_lock_init): New macro/function.
47614         (gl_lock_init): Define as wrapper around glthread_lock_init.
47615         (glthread_lock_lock): New macro/function.
47616         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
47617         (glthread_lock_unlock): New macro/function.
47618         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
47619         (glthread_lock_destroy): New macro/function.
47620         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
47621         (glthread_rwlock_init): New macro/function.
47622         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
47623         (glthread_rwlock_rdlock): New macro/function.
47624         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
47625         (glthread_rwlock_wrlock): New macro/function.
47626         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
47627         (glthread_rwlock_unlock): New macro/function.
47628         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
47629         (glthread_rwlock_destroy): New macro/function.
47630         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
47631         (glthread_recursive_lock_init): New macro/function.
47632         (gl_recursive_lock_init): Define as wrapper around
47633         glthread_recursive_lock_init.
47634         (glthread_recursive_lock_lock): New macro/function.
47635         (gl_recursive_lock_lock): Define as wrapper around
47636         glthread_recursive_lock_lock.
47637         (glthread_recursive_lock_unlock): New macro/function.
47638         (gl_recursive_lock_unlock): Define as wrapper around
47639         glthread_recursive_lock_unlock.
47640         (glthread_recursive_lock_destroy): New macro/function.
47641         (gl_recursive_lock_destroy): Define as wrapper around
47642         glthread_recursive_lock_destroy.
47643         (glthread_once): New macro/function.
47644         (gl_once): Define as wrapper around glthread_once.
47645         Update function declarations.
47646         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
47647         glthread_rwlock_init. Return error code.
47648         (glthread_rwlock_rdlock_multithreaded): Renamed from
47649         glthread_rwlock_rdlock. Return error code.
47650         (glthread_rwlock_wrlock_multithreaded): Renamed from
47651         glthread_rwlock_wrlock. Return error code.
47652         (glthread_rwlock_unlock_multithreaded): Renamed from
47653         glthread_rwlock_unlock. Return error code.
47654         (glthread_rwlock_destroy_multithreaded): Renamed from
47655         glthread_rwlock_destroy. Return error code.
47656         (glthread_recursive_lock_init_multithreaded): Renamed from
47657         glthread_recursive_lock_init. Return error code.
47658         (glthread_recursive_lock_lock_multithreaded): Renamed from
47659         glthread_recursive_lock_lock. Return error code.
47660         (glthread_recursive_lock_unlock_multithreaded): Renamed from
47661         glthread_recursive_lock_unlock. Return error code.
47662         (glthread_recursive_lock_destroy_multithreaded): Renamed from
47663         glthread_recursive_lock_destroy. Return error code.
47664         (glthread_once_call): Make static.
47665         (glthread_once_multithreaded): Renamed from glthread_once.
47666         * lib/tls.h: Include <errno.h>.
47667         (glthread_tls_key_init): New macro/function.
47668         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
47669         (glthread_tls_set): New macro/function.
47670         (gl_tls_set): Define as wrapper around glthread_tls_set.
47671         (glthread_tls_key_destroy): New macro/function.
47672         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
47673         Update function declarations.
47674         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
47675         glthread_tls_get.
47676         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
47677
47678 2008-08-04  Eric Blake  <ebb9@byu.net>
47679
47680         gnumakefile: use space, not TAB, outside of targets
47681         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
47682
47683 2008-08-02  Jim Meyering  <meyering@redhat.com>
47684
47685         getdate.y: avoid locale-dependent date parsing failure
47686         In Turkish locales, getdate would fail to recognize keywords
47687         containing a lowercase "i".  The solution is not to rely on
47688         locale-sensitive case-conversion.
47689         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
47690         (lookup_word): Use c_toupper in place of toupper.
47691         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
47692         Reported by Vefa Bicakci <bicave@superonline.com> in
47693         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
47694         * modules/getdate (Depends-on): Add c-ctype.
47695
47696 2008-08-02  Bruno Haible  <bruno@clisp.org>
47697
47698         * gnulib-tool (func_import): When updating or creating a .gitignore
47699         file, prepend each added line with a slash, and ignore leading slashes
47700         from the existing lines.
47701         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
47702
47703 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47704
47705         Portability fix for GNU make 3.79.1.
47706         * top/GNUmakefile: Avoid 'else COND', which older GNU make
47707         versions do not understand.
47708
47709 2008-08-01  Bruno Haible  <bruno@clisp.org>
47710
47711         Work around bug of HP-UX 10.20 cc with -0.0 literal.
47712         * tests/test-isnanf.h (zero): New variable.
47713         (main): Avoid literal -0.0f.
47714         * tests/test-isnand.h (zero): New variable.
47715         (main): Avoid literal -0.0.
47716         * tests/test-isnanl.h (zero): New variable.
47717         (main): Avoid literal -0.0L.
47718         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
47719         (test_float, test_double, test_long_double): Avoid literals -0.0f,
47720         -0.0, -0.0L.
47721         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
47722         (test_signbitd): Avoid literal -0.0.
47723         (test_signbitl): Avoid literal -0.0L.
47724         * tests/test-ceilf1.c (zero): New variable.
47725         (main): Avoid literal -0.0f.
47726         * tests/test-ceill.c (zero): New variable.
47727         (main): Avoid literal -0.0L.
47728         * tests/test-floorf1.c (zero): New variable.
47729         (main): Avoid literal -0.0f.
47730         * tests/test-floorl.c (zero): New variable.
47731         (main): Avoid literal -0.0L.
47732         * tests/test-roundf1.c (zero): New variable.
47733         (main): Avoid literal -0.0f.
47734         * tests/test-round1.c (zero): New variable.
47735         (main): Avoid literal -0.0.
47736         * tests/test-roundl.c (zero): New variable.
47737         (main): Avoid literal -0.0L.
47738         * tests/test-truncf1.c (zero): New variable.
47739         (main): Avoid literal -0.0f.
47740         * tests/test-trunc1.c (zero): New variable.
47741         (main): Avoid literal -0.0.
47742         * tests/test-truncl.c (zero): New variable.
47743         (main): Avoid literal -0.0L.
47744         * tests/test-frexp.c (zero): New variable.
47745         (main): Avoid literal -0.0.
47746         * tests/test-frexpl.c (zero): New variable.
47747         (main): Avoid literal -0.0L.
47748         * tests/test-ldexpl.c (zero): New variable.
47749         (main): Avoid literal -0.0L.
47750         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
47751         (zerod, zerol): New variables.
47752         (test_function): Avoid literals -0.0, -0.0L.
47753         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
47754         (zerod, zerol): New variables.
47755         (test_function): Avoid literals -0.0, -0.0L.
47756         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
47757         (zerod, zerol): New variables.
47758         (test_function): Avoid literals -0.0, -0.0L.
47759         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
47760         (zerod, zerol): New variables.
47761         (test_function): Avoid literals -0.0, -0.0L.
47762         * tests/test-strtod.c (zero): New variable.
47763         (main): Avoid literal -0.0.
47764         Reported by Jonathan C. Patschke <jp@centtech.com>.
47765
47766 2008-07-31  Jim Meyering  <meyering@redhat.com>
47767
47768         sha256.h: correct definition of SHA224_DIGEST_SIZE
47769         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
47770         Reported by Paulie Pena IV <paulie4@gmail.com>.
47771         Define as 224 / 8, rather than as a literal.
47772         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
47773         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
47774         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
47775
47776 2008-07-31  Bruno Haible  <bruno@clisp.org>
47777
47778         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
47779         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
47780         Reported by Jonathan Patschke <jp@centtech.com>.
47781
47782 2008-07-31  Bruno Haible  <bruno@clisp.org>
47783
47784         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
47785         Reported by Paolo Bonzini <bonzini@gnu.org>.
47786
47787 2008-07-30  Eric Blake  <ebb9@byu.net>
47788
47789         test-strtod: allow compilation without -lm
47790         * tests/test-strtod.c (main): Avoid link dependence on fabs.
47791         Reported by Dennis Clarke <blastwave@gmail.com>.
47792
47793 2008-07-28  Jim Meyering  <meyering@redhat.com>
47794
47795         bootstrap: work also when there are no .po files in po/
47796         * build-aux/bootstrap (update_po_files): Complete the change
47797         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
47798
47799 2008-07-27  Jim Meyering  <meyering@redhat.com>
47800
47801         * users.txt: Add zile.
47802
47803 2008-07-26  Ben Pfaff  <blp@gnu.org>
47804
47805         Add missing dependencies on new m4/exponent[fdl].m4 files.
47806         * modules/isnanf-nolibm: Add m4/exponentf.m4.
47807         * modules/isnand-nolibm: Add m4/exponentd.m4.
47808         * modules/isnanl-nolibm: Add m4/exponentl.m4.
47809         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
47810         m4/isnan[fdl].m4, because the macros actually used moved.
47811         Reported by Jim Meyering.
47812
47813 2008-07-14  Ben Pfaff  <blp@gnu.org>
47814
47815         Add isinf module.
47816         * lib/isinf.c: New file.
47817         * lib/math.in.h: Define isinf macro if we have decided to replace
47818         it.
47819         * m4/isinf.m4: New file.
47820         * m4/math_h.m4: Initialize and substitute variables for isinf
47821         module.
47822         * modules/isinf: New file.
47823         * modules/isinf-tests: New file.
47824         * modules/math: Add substitutions for new module.
47825         * tests/test-isinf.c: New file.
47826         * doc/posix-functions/isinf.texi: Mention new module.
47827         * MODULES.html.sh: Mention new module.
47828
47829 2008-07-14  Ben Pfaff  <blp@gnu.org>
47830
47831         Factor out some macros for use by additional modules.
47832         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
47833         exponentf.m4.
47834         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
47835         exponentd.m4.
47836         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
47837         file exponentl.m4.
47838         * m4/exponentf.m4: New file.
47839         * m4/exponentd.m4: New file.
47840         * m4/exponentl.m4: New file.
47841         * modules/isnanf: Use new file m4/exponentf.m4.
47842         * modules/isnand: Use new file m4/exponentd.m4.
47843         * modules/isnanl: Use new file m4/exponentl.m4.
47844
47845 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
47846
47847         mktime.c: normalize tp->tm_isdst value to -1/0/1.
47848         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
47849         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
47850         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
47851
47852         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
47853         readlink on platforms without PATH_MAX.
47854
47855 2008-07-21  Eric Blake  <ebb9@byu.net>
47856
47857         Warn, not fail, on stale version.
47858         * top/GNUmakefile (_curr-ver): Tone down previous patch.
47859
47860         Don't allow installation with stale devel version number.
47861         * top/GNUmakefile (_is-install-target): New macro.
47862         (_curr-ver): Forbid installation with stale version number.
47863
47864 2008-07-20  Bruno Haible  <bruno@clisp.org>
47865
47866         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
47867         TESTS_ENVIRONMENT.
47868         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
47869
47870 2008-07-20  Bruno Haible  <bruno@clisp.org>
47871
47872         * lib/c-stack.h (c_stack_action): Add documentation.
47873         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
47874
47875 2008-07-20  Bruno Haible  <bruno@clisp.org>
47876
47877         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
47878         * modules/readlink (License): Likewise.
47879
47880 2008-07-17  Eric Blake  <ebb9@byu.net>
47881
47882         * modules/c-stack (Link): Fix typo.
47883
47884         Make c-stack use libsigsegv, when available.
47885         * modules/c-stack (Depends-on): Add libsigsegv.
47886         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
47887         needed.
47888         * lib/c-stack.c (SIGSTKSZ): Define fallback.
47889         (segv_handler, overflow_handler, c_stack_action)
47890         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
47891         implementation when libsigsegv is available, but only when using
47892         the library is necessary.
47893         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
47894         comment, explaining why XSI check fails on Linux.
47895         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
47896         * tests/test-c-stack2.sh: Tweak skip message.
47897         * NEWS: Document new link-time requirements.
47898
47899 2008-07-16  Eric Blake  <ebb9@byu.net>
47900
47901         c-stack: Expose false positives when not using libsigsegv.
47902         * modules/c-stack-tests (Files): Expand test.
47903         * tests/test-c-stack.c (main): Add means to conditionally trigger
47904         non-overflow SIGSEGV.
47905         * tests/test-c-stack2.sh: New file.
47906
47907 2008-07-14  Bruno Haible  <bruno@clisp.org>
47908
47909         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
47910         Reported by Eric Blake.
47911
47912 2008-07-14  Sam Steingold  <sds@gnu.org>
47913             Bruno Haible  <bruno@clisp.org>
47914
47915         New module libsigsegv.
47916         * modules/libsigsegv: New file.
47917         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
47918         modifications.
47919         * MODULES.html.sh (Signal handling): New section.
47920
47921 2008-07-14  Bruno Haible  <bruno@clisp.org>
47922
47923         * modules/unictype/ctype-* (Description): Add the word "function".
47924         Improves the resulting doc in MODULES.html.
47925
47926 2008-07-12  Ben Pfaff  <blp@gnu.org>
47927
47928         Add longlong module.
47929         * modules/longlong: New file.
47930
47931 2008-07-12  Bruno Haible  <bruno@clisp.org>
47932
47933         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
47934         to empty.
47935
47936 2008-07-10  Ben Pfaff  <blp@gnu.org>
47937
47938         Add isnan module.
47939         * doc/posix-functions/isnan.texi: Mention new module.
47940         * lib/math.in.h: Define isnan macro if we have decided to replace
47941         it.
47942         * m4/isnan.m4: New file.
47943         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
47944         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
47945         also.
47946         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
47947         redundancy.
47948         * m4/math_h.m4: Initialize and substitute variables for isnan
47949         module.
47950         * modules/isnan: New file.
47951         * modules/isnan-tests: New file.
47952         * modules/math: Add substitutions for new module.
47953         * tests/test-isnan.c: New file.
47954         * MODULES.html.sh: Mention new module.
47955
47956 2008-07-10  Ben Pfaff  <blp@gnu.org>
47957
47958         Add isnanf module.
47959         * lib/isnanf.m4: New file.
47960         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
47961         (gl_HAVE_ISNANF_IN_LIBM): New macro.
47962         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
47963         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
47964         * modules/isnanf: New file.
47965         * modules/isnanf-tests: New file.
47966         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
47967         files.
47968         * tests/test-isnanf-nolibm.c: factored most of its contents into
47969         new file tests/test-isnanf.h.
47970         * tests/test-isnanf.h: New file.
47971         * tests/test-isnanf.c: New file.
47972         * MODULES.html.sh: Mention new module.
47973         * doc/glibc-functions/isnanf.texi: Mention new module.
47974
47975 2008-07-10  Ben Pfaff  <blp@gnu.org>
47976
47977         Add isnand module.
47978         * lib/isnand.h: New file.
47979         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
47980         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
47981         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
47982         functionality also.
47983         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
47984         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
47985         (gl_HAVE_ISNAND_IN_LIBM): New macro.
47986         * modules/isnand: New file.
47987         * modules/isnand-tests: New file.
47988         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
47989         files.
47990         * tests/test-isnand-nolibm.c: factored most of its contents into
47991         new file tests/test-isnand.h.
47992         * tests/test-isnand.h: New file.
47993         * tests/test-isnand.c: New file.
47994         * MODULES.html.sh: Mention new module.
47995
47996 2008-07-10  Ben Pfaff  <blp@gnu.org>
47997
47998         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
47999         * lib/isnand.h: Rename lib/isnand-nolibm.h.
48000         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
48001         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
48002         * modules/isnanf-nolibm: Update references to renamed files.
48003         * modules/isnand-nolibm: Likewise.
48004         * modules/isnanf-nolibm-tests: Likewise.
48005         * modules/isnand-nolibm-tests: Likewise.
48006         * lib/frexp.c: Likewise.
48007         * lib/isfinite.c: Likewise.
48008         * lib/signbitd.c: Likewise.
48009         * lib/signbitf.c: Likewise.
48010         * lib/vasnprintf.c: Likewise.
48011         * tests/test-ceilf1.c: Likewise.
48012         * tests/test-ceilf2.c: Likewise.
48013         * tests/test-floorf1.c: Likewise.
48014         * tests/test-floorf2.c: Likewise.
48015         * tests/test-frexp.c: Likewise.
48016         * tests/test-round1.c: Likewise.
48017         * tests/test-round2.c: Likewise.
48018         * tests/test-roundf1.c: Likewise.
48019         * tests/test-strtod.c: Likewise.
48020         * tests/test-trunc1.c: Likewise.
48021         * tests/test-trunc2.c: Likewise.
48022         * tests/test-truncf1.c: Likewise.
48023         * tests/test-truncf2.c: Likewise.
48024         * NEWS: Mention the renamed header files.
48025
48026 2008-07-11  Jim Meyering  <meyering@redhat.com>
48027
48028         vc-list-files: make the last-resort awk code more portable
48029         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
48030         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
48031         does not support it.
48032
48033 2008-07-10  Eric Blake  <ebb9@byu.net>
48034
48035         Work with tar's bootstrap.
48036         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
48037         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
48038         an m4 comment.
48039
48040 2008-07-09  Jim Meyering  <meyering@redhat.com>
48041
48042         posix-shell.m4: fix typo that made this test malfunction
48043         * m4/posix-shell.m4: Remove capitalization in variable name.
48044
48045 2008-07-08  Bruno Haible  <bruno@clisp.org>
48046
48047         * m4/onceonly.m4: Update comments.
48048         Reported by Ben Pfaff <blp@cs.stanford.edu>.
48049
48050 2008-07-04  Jim Meyering  <meyering@redhat.com>
48051
48052         * users.txt: Add vc-dwim.
48053         (bison, coreutils): Use the gitweb URL.
48054
48055 2008-07-03  Jim Meyering  <meyering@redhat.com>
48056
48057         * users.txt: Add libffcall.  From Sam Steingold.
48058
48059 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
48060
48061         getdate.y: do not ignore TZ with relative day, month or year offset
48062         * lib/getdate.y (get_date): Move the tz-handling block to follow the
48063         relative-date-handling, since otherwise, the latter would clobber the
48064         sole output (an updated Start value) of the tz-handling block.
48065         * tests/test-getdate.c: Tests for the fix
48066
48067 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48068
48069         Recognize 'foo_LIBRARIES += libgnu.a'.
48070         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
48071         makefile snippet has already specified an installation location,
48072         also using '+='.
48073
48074 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
48075
48076         getdate.y: factor out common actions
48077         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
48078         Use them in place of open-coded actions.
48079
48080 2008-07-01  Simon Josefsson  <simon@josefsson.org>
48081
48082         Add self-test for getdate module.
48083         * modules/getdate-tests: New file.
48084         * tests/test-getdate.c: New file.
48085
48086 2008-06-29  Bruno Haible  <bruno@clisp.org>
48087
48088         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
48089         .gitignore.
48090         Reported by Sylvain Beucler <beuc@beuc.net>.
48091
48092 2008-06-29  Bruno Haible  <bruno@clisp.org>
48093
48094         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
48095         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
48096
48097 2008-06-29  Bruno Haible  <bruno@clisp.org>
48098
48099         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
48100         EXTRA_DIST.
48101         Reported by Sylvain Beucler <beuc@beuc.net>.
48102
48103 2008-06-26  Jim Meyering  <meyering@redhat.com>
48104
48105         make several modules depend on the "open" module
48106         This provides slightly increased consistency when opening-for-write
48107         the name of a non-directory spelled with a trailing slash.
48108         * modules/chdir-safer: Likewise.
48109         * modules/chown: Likewise.
48110         * modules/clean-temp: Likewise.
48111         * modules/copy-file: Likewise.
48112         * modules/fchdir: Likewise.
48113         * modules/fcntl-safer: Likewise.
48114         * modules/pipe: Likewise.
48115         * modules/utime: Likewise.
48116         Prompted by Eric Blake and Bruno Haible.
48117
48118 2008-06-24  Andreas Schwab  <schwab@suse.de>
48119
48120         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
48121         literals can be used as initializers for global variables.
48122
48123 2008-06-23  Eric Blake  <ebb9@byu.net>
48124
48125         Make gnulib-cache.m4 easier to diff.
48126         * gnulib-tool (func_import): Allow newlines when reading cached
48127         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
48128
48129 2008-06-23  Bruno Haible  <bruno@clisp.org>
48130
48131         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
48132         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
48133         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
48134         m4/signalblocking.m4.
48135         (gl_PREREQ_SIGACTION): Don't invoke it.
48136         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
48137         gl_PREREQ_SIG_HANDLER_H.
48138         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
48139         Don't check for sigaction here.
48140
48141 2008-06-23  Bruno Haible  <bruno@clisp.org>
48142
48143         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
48144         (install_handlers): Don't set the SA_RESETHAND flag.
48145
48146 2008-06-23  Bruno Haible  <bruno@clisp.org>
48147
48148         * m4/sigaction.m4: Comment fixes.
48149         * lib/signal.in.h: Likewise.
48150
48151 2008-06-23  Eric Blake  <ebb9@byu.net>
48152
48153         Fix typo.
48154         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
48155
48156         Avoid SA_ namespace.
48157         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
48158         Reported by Ralf Wildenhues.
48159
48160         Avoid test failure due to SA_RESTORER.
48161         * tests/test-sigaction.c (SA_MASK): New macro.
48162         (main): Avoid failing due to extension flags being set.
48163         Reported by Jim Meyering.
48164
48165         Revert use of sig-handler.h in sigprocmask.c.
48166         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
48167         it requires the existence of struct sigaction.
48168         * lib/sigprocmask.c (handler_t): Restore typedef.
48169         (rpl_signal, old_handlers): Use local type.
48170
48171 2008-06-22  Bruno Haible  <bruno@clisp.org>
48172
48173         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
48174         conditionally.
48175         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
48176
48177 2008-06-22  Bruno Haible  <bruno@clisp.org>
48178
48179         * doc/posix-functions/siginterrupt.texi: Move note.
48180
48181         * lib/signal.in.h (SA_RESTART): New macro.
48182         * lib/sigaction.c: Update comment.
48183
48184         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
48185
48186         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
48187         (gl_PREREQ_SIGPROCMASK): Invoke it.
48188         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
48189
48190         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
48191
48192         * lib/sigprocmask.c: Update a comment.
48193
48194 2008-06-21  Eric Blake  <ebb9@byu.net>
48195
48196         Use sigaction module rather than signal().
48197         * modules/c-stack (Depends-on): Add sigaction.
48198         * modules/fatal-signal (Depends-on): Likewise.
48199         * modules/nanosleep (Depends-on): Likewise.
48200         * modules/sigprocmask (Files): Add sig-handler.h.
48201         * modules/sigaction (Files): Likewise.
48202         * lib/sig-handler.h (get_handler): New file, suggested by Paul
48203         Eggert.
48204         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
48205         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
48206         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
48207         (init_fatal_signals): Likewise.
48208         * lib/nanosleep.c (rpl_nanosleep): Likewise.
48209         (siginterrupt): Delete fallback.
48210         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
48211         instead.
48212         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
48213         siginterrupt.
48214
48215         New module sigaction, for mingw.
48216         * modules/sigaction: New module...
48217         * modules/sigaction-tests: ...and its test.
48218         * m4/sigaction.m4: New file.
48219         * lib/sigaction.c: Likewise.
48220         * tests/test-sigaction.c: Likewise.
48221         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
48222         * modules/signal (Makefile.am): Likewise.
48223         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
48224         needed.
48225         * doc/posix-headers/signal.texi (signal.h): Mention provided
48226         types.
48227         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
48228         that sigaction is preferable.
48229         * doc/posix-functions/sigaction.texi (sigaction): Mention new
48230         module.
48231         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
48232         sigaction.
48233
48234         Improve robustness of sigprocmask by overriding signal.
48235         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
48236         is in use.
48237         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
48238         (SIGKILL, SIGSTOP): Provide fallbacks.
48239         (rpl_signal): Implement.
48240         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
48241         signal can be called inside handlers.
48242
48243         Fix nanosleep module on mingw.
48244         * modules/nanosleep (Depends-on): Add sys_select.
48245         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
48246
48247         Fix licensing of sigprocmask.
48248         * modules/raise (License): Relicense as LGPL.
48249
48250 2008-06-21  Bruno Haible  <bruno@clisp.org>
48251
48252         * lib/propername.c (proper_name_utf8): Don't use the transliterated
48253         result if it contains question marks.
48254         Reported by Michael Geng <linux@michaelgeng.de>.
48255
48256 2008-06-19  Bruno Haible  <bruno@clisp.org>
48257
48258         Fix CVS-ism.
48259         * doc/gnulib.texi: Include updated-stamp.texi.
48260         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
48261         (updated-stamp.texi): New rule.
48262         (gnulib.info): Depend on it.
48263         * doc/.gitignore: Add updated-stamp.texi.
48264         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
48265
48266 2008-06-19  Bruno Haible  <bruno@clisp.org>
48267
48268         * doc/Makefile (gnulib.info): Update and simplify dependencies.
48269         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
48270
48271 2008-06-19  Eric Blake  <ebb9@byu.net>
48272
48273         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
48274         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
48275         Reported by Stepan Kasal.
48276
48277 2008-06-18  Bruno Haible  <bruno@clisp.org>
48278
48279         * lib/fatal-signal.c (init_fatal_signals): Add comment.
48280         Reported by Eric Blake.
48281
48282 2008-06-18  Eric Blake  <ebb9@byu.net>
48283
48284         Work around cygwin 1.5.25 strsignal bug.
48285         * tests/test-strsignal.c: Allow for const char *.
48286         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
48287
48288 2008-06-18  Simon Josefsson  <simon@josefsson.org>
48289
48290         * users.txt: Update URL to article and add author/date
48291         information.
48292
48293 2008-06-17  Bruno Haible  <bruno@clisp.org>
48294
48295         New macro gl_DISABLE_THREADS.
48296         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
48297         if the user did not pass --enable-threads or --disable-threads option.
48298         (gl_DISABLE_THREADS): New macro.
48299         Reported by Eric Blake <ebb9@byu.net>.
48300
48301 2008-06-17  Bruno Haible  <bruno@clisp.org>
48302
48303         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
48304         when the macro ignores it.
48305         Based on a patch by Eric Blake <ebb9@byu.net>.
48306
48307 2008-06-17  Bruno Haible  <bruno@clisp.org>
48308
48309         * modules/tls (License): Change to LGPLv2+.
48310         Reported by Eric Blake.
48311
48312 2008-06-17  Eric Blake  <ebb9@byu.net>
48313
48314         Simplify c-stack prerequisites.
48315         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
48316         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
48317         no longer requires <ucontext.h> to exist.  Optimize setrlimit
48318         check.
48319         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
48320         <sys/resource.h>.
48321
48322         Move c-stack test into testsuite.
48323         * modules/c-stack-tests: New file.
48324         * lib/c-stack.c [DEBUG]: Move test program...
48325         * tests/test-c-stack.c: ...into this new file.  Skip rather than
48326         fail test if sigaltstack is lacking.
48327         * tests/test-c-stack.sh: New driver file.
48328
48329 2008-06-16  Eric Blake  <ebb9@byu.net>
48330
48331         Use raise module consistently.
48332         * modules/fatal-signal (Depends-on): Add raise.
48333         * modules/sigprocmask (Depends-on): Likewise.
48334         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
48335         * lib/sigprocmask.c (sigprocmask): Likewise.
48336         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
48337         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
48338
48339         Fix compliance bug in sigpending.
48340         * lib/sigprocmask.c (sigpending): Return pending array via
48341         parameter, not return value.
48342
48343 2008-06-14  Eric Blake  <ebb9@byu.net>
48344
48345         Improve obstack-printf test code.
48346         * tests/test-obstack-printf.c (test_function): Fix comment, and
48347         simplify usage of obstack_* in macros.  Add a test for coverage.
48348         Reported by Bruno Haible.
48349
48350 2008-06-14  Bruno Haible  <bruno@clisp.org>
48351
48352         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
48353         array size as a constant, not as a const variable.
48354         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
48355         AC_USE_SYSTEM_EXTENSIONS.
48356         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
48357         Test whether the obstack_printf function actually exists.
48358         * modules/obstack-printf (Depends-on): Add extensions.
48359         (Include): Remove obstack.h.
48360         * modules/obstack-printf-posix (Depends-on): Add extensions.
48361         (Include): Remove obstack.h.
48362
48363 2008-06-13  Eric Blake  <ebb9@byu.net>
48364
48365         Add obstack-printf and obstack-printf-posix modules.
48366         * modules/obstack-printf: New file.
48367         * modules/obstack-printf-posix: Likewise.
48368         * MODULES.html.sh (Misc): Mention them.
48369         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
48370         Likewise.
48371         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
48372         Likewise.
48373         * modules/stdio (Makefile.am): Accomodate new modules.
48374         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
48375         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
48376         Declare.
48377         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
48378         functions.
48379         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
48380         (gl_REPLACE_OBSTACK_PRINTF): New macros
48381         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
48382         * tests/test-obstack-printf.c: New file.
48383         * modules/obstack-printf-tests: Likewise.
48384         * modules/obstack-printf-posix-tests: Likewise.
48385
48386 2008-06-11  Bruno Haible  <bruno@clisp.org>
48387
48388         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
48389         * lib/open.c: Include errno.h.
48390         (open): Fail when attempting to write to a file that has a trailing
48391         slash.
48392         * tests/test-open.c (main): Test against trailing slash bug.
48393         * doc/posix-functions/open.texi: Mention the trailing slash bug.
48394
48395 2008-06-10  Bruno Haible  <bruno@clisp.org>
48396
48397         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
48398         for $? to work inside the trap command, with various /bin/sh-s.
48399         * tests/test-vc-list-files-cvs.sh: Likewise.
48400
48401 2008-06-10  Bruno Haible  <bruno@clisp.org>
48402
48403         * lib/acl-internal.h: Don't include gettext.h here.
48404         * lib/set-mode-acl.c: Include gettext.h here.
48405         * lib/copy-acl.c: Likewise.
48406
48407 2008-06-10  Bruno Haible  <bruno@clisp.org>
48408
48409         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
48410         * lib/wait-process.c (wait_subprocess): Likewise.
48411         * lib/execute.h (execute): Add termsigp argument.
48412         * lib/execute.c (execute): Likewise.
48413         * lib/csharpcomp.c (compile_csharp_using_pnet,
48414         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
48415         * lib/csharpexec.c (execute_csharp_using_pnet,
48416         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
48417         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
48418         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
48419         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
48420         is_jikes_present): Update.
48421         * lib/javaexec.c (execute_java_class): Update.
48422         * lib/javaversion.c (execute_and_read_line): Update.
48423         * NEWS: Document the changes.
48424         Reported by Eric Blake.
48425
48426 2008-06-10  Eric Blake  <ebb9@byu.net>
48427
48428         Add missing include.
48429         * tests/test-strstr.c (includes): Add <signal.h>.
48430         * tests/test-strcasestr.c (includes): Likewise.
48431         * tests/test-memmem.c (includes): Likewise.
48432
48433 2008-06-10  Bruno Haible  <bruno@clisp.org>
48434
48435         * lib/wait-process.c (wait_subprocess): Add an assertion.
48436
48437 2008-06-10  Bruno Haible  <bruno@clisp.org>
48438
48439         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
48440
48441 2008-06-10  Bruno Haible  <bruno@clisp.org>
48442
48443         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
48444         using alarm().
48445         * tests/test-strcasestr.c (main): Likewise.
48446         * tests/test-strstr.c (main): Likewise.
48447
48448 2008-06-09  Bruno Haible  <bruno@clisp.org>
48449
48450         Work around the Solaris 10 ACE ACLs ABI change.
48451         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
48452         declare if ACL_NO_TRIVIAL is present.
48453         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
48454         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
48455         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
48456         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
48457         define if ACL_NO_TRIVIAL is present.
48458         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
48459         and use the current ABI.
48460         (file_has_acl): Use same #if condition as elsewhere.
48461         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
48462         in use, and use the current ABI.
48463         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
48464         Reported by Jim Meyering.
48465
48466 2008-06-09  Eric Blake  <ebb9@byu.net>
48467
48468         Work around environments that (stupidly) ignore SIGALRM.
48469         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
48470         before using alarm().
48471         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
48472         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
48473         Reported by Ian Beckwith <ianb@erislabs.net>.
48474
48475         Produce autobuild blurb earlier in log.
48476         * modules/autobuild (configure.ac-early): Move AB_INIT here.
48477
48478 2008-06-09  Jim Meyering  <meyering@redhat.com>
48479         and Ondřej Vašík  <ovasik@redhat.com>
48480
48481         utimens.c: correct kernel bug work-around
48482         Ondřej Vašík found that the invalid return value of 280 indicates
48483         failure, not success, and the kernel bug we're trying to work
48484         around affects not just the utimensat call, but also the fallback
48485         futimens call.
48486         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
48487         not success.
48488         [HAVE_FUTIMENS]: Use the same work-around, here.
48489
48490 2008-06-09  Jim Meyering  <meyering@redhat.com>
48491
48492         add more guards around definition of ACE_-related code
48493         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
48494         ALLOW and ACE_OWNER are also defined.
48495
48496 2008-06-08  Bruno Haible  <bruno@clisp.org>
48497
48498         * lib/acl-internal.h: Add me as co-author.
48499         * lib/file-has-acl.c: Likewise.
48500         * lib/set-mode-acl.c: Likewise.
48501         * lib/copy-acl.c: Likewise.
48502
48503 2008-06-08  Bruno Haible  <bruno@clisp.org>
48504
48505         Add support for AIX ACLs.
48506         * lib/acl-internal.h (acl_nontrivial): New declaration.
48507         * lib/file-has-acl.c (acl_nontrivial): New function.
48508         (file_has_acl): Add implementation using AIX 4 ACL API.
48509         * lib/set-mode-acl.c (qset_acl): Likewise.
48510         * lib/copy-acl.c (qcopy_acl): Likewise.
48511
48512 2008-06-08  Bruno Haible  <bruno@clisp.org>
48513
48514         Add support for HP-UX ACLs.
48515         * lib/acl-internal.h (acl_nontrivial): New declaration.
48516         * lib/file-has-acl.c (acl_nontrivial): New function.
48517         (file_has_acl): Add implementation using HP-UX 11 ACL API.
48518         * lib/set-mode-acl.c (qset_acl): Likewise.
48519         * lib/copy-acl.c (qcopy_acl): Likewise.
48520
48521 2008-06-08  Bruno Haible  <bruno@clisp.org>
48522
48523         Add support for Cygwin ACLs.
48524         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
48525         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
48526         the chmod_or_fchmod call.
48527         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
48528
48529 2008-06-08  Bruno Haible  <bruno@clisp.org>
48530
48531         Fix bug with setuid modes in Solaris 10+ code.
48532         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
48533         succeeded, when the mode contains some special bits.
48534
48535 2008-06-08  Bruno Haible  <bruno@clisp.org>
48536
48537         Add support for Solaris 7..10 ACLs.
48538         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
48539         declarations.
48540         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
48541         functions.
48542         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
48543         * lib/set-mode-acl.c (qset_acl): Likewise.
48544         * lib/copy-acl.c (qcopy_acl): Likewise.
48545
48546 2008-06-08  Bruno Haible  <bruno@clisp.org>
48547
48548         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
48549         declaration.
48550         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
48551         (acl_access_nontrivial): Remove MacOS X case.
48552         (file_has_acl): Use acl_extended_nontrivial.
48553         * lib/copy-acl.c (qcopy_acl): Likewise.
48554
48555 2008-06-08  Bruno Haible  <bruno@clisp.org>
48556
48557         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
48558
48559 2008-06-08  Jim Meyering  <meyering@redhat.com>
48560
48561         * modules/acl (Maintainer): Add Bruno Haible.
48562
48563 2008-06-07  Bruno Haible  <bruno@clisp.org>
48564
48565         Improve support for Tru64 ACLs.
48566         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
48567         ACL on OSF/1.
48568
48569 2008-06-07  Bruno Haible  <bruno@clisp.org>
48570
48571         Add support for MacOS X ACLs.
48572         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
48573         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
48574         * lib/set-mode-acl.c (qset_acl): Likewise.
48575         * lib/copy-acl.c (qcopy_acl): Likewise.
48576
48577 2008-06-07  Bruno Haible  <bruno@clisp.org>
48578
48579         Fix memory leak introduced on 2008-05-22.
48580         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
48581         use.
48582
48583 2008-06-07  Bruno Haible  <bruno@clisp.org>
48584
48585         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
48586         to construct an empty ACL.
48587
48588 2008-06-07  Bruno Haible  <bruno@clisp.org>
48589
48590         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
48591         precisely.
48592         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
48593
48594 2008-06-07  Bruno Haible  <bruno@clisp.org>
48595
48596         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
48597         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
48598
48599 2008-06-07  Bruno Haible  <bruno@clisp.org>
48600
48601         * doc/posix-functions/_setjmp.texi: Explain the use of this function
48602         regardless of POSIX.
48603         * doc/posix-functions/_longjmp.texi: Likewise.
48604         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
48605         SystemV platform in this case.
48606
48607 2008-06-06  Eric Blake  <ebb9@byu.net>
48608
48609         Document abort() bugs.
48610         * doc/posix-functions/abort.texi (abort): Mention anomalies.
48611
48612         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
48613         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
48614         sigsetjmp.
48615         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
48616         siglongjmp, but only as a macro.
48617         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
48618         is obsolete.
48619         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
48620
48621         Tweak documentation to cover cygwin argz bugs.
48622         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
48623         argz bug fix; no code change needed since no cygwin releases
48624         occurred between the last fix and the bug being tested.
48625         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
48626         module and recently fixed cygwin bugs.
48627         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
48628         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
48629         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
48630         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
48631         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
48632         Likewise.
48633         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
48634         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
48635         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
48636         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
48637         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
48638         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
48639         Likewise.
48640
48641         Avoid gcc warning on cygwin.
48642         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
48643         !ACL_NO_TRIVIAL]: Avoid unused variable.
48644
48645 2008-06-05  Eric Blake  <ebb9@byu.net>
48646
48647         Be tolerant of UNKNOWN version in gnulib-tool test dir.
48648         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
48649         git-version-gen fails to come up with a version.
48650         Reported by Simon Josefsson.
48651
48652 2008-06-05  Jim Meyering  <meyering@redhat.com>
48653             Paul Eggert  <eggert@cs.ucla.edu>
48654
48655         utimens.c: work around a probable Linux kernel bug
48656         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
48657         appears to be a kernel bug that causes utimensat to return 280
48658         instead of 0, indicating success.
48659
48660 2008-06-04  Bruno Haible  <bruno@clisp.org>
48661
48662         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
48663         2008-06-01 commit.
48664
48665 2008-06-04  Bruno Haible  <bruno@clisp.org>
48666
48667         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
48668         * lib/file-has-acl.c (acl_access_nontrivial): New function.
48669         (file_has_acl): Use it. Save errno afterwards.
48670         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
48671
48672 2008-06-03  Bruno Haible  <bruno@clisp.org>
48673
48674         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
48675         draft code. Simplify #ifs.
48676         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
48677         Put Solaris code after POSIX-draft code. Fix comments regarding
48678         Solaris 10, HP-UX. Mention Cygwin.
48679         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
48680
48681 2008-06-03  Eric Blake  <ebb9@byu.net>
48682
48683         Provide fallback for older kernels.
48684         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
48685         Provide runtime fallback if kernel lacks support.
48686         Reported by Mike Frysinger.
48687
48688 2008-06-02  Bruno Haible  <bruno@clisp.org>
48689
48690         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
48691         it exists.
48692
48693 2008-06-02  Bruno Haible  <bruno@clisp.org>
48694
48695         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
48696         * lib/copy-acl.c (qcopy_acl): Update comment.
48697
48698 2008-06-02  Bruno Haible  <bruno@clisp.org>
48699
48700         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
48701         like ACL APIs.
48702
48703 2008-06-02  Bruno Haible  <bruno@clisp.org>
48704
48705         * tests/test-file-has-acl.sh: Use different code for Cygwin.
48706         * tests/test-set-mode-acl.sh: Likewise.
48707         * tests/test-copy-acl.sh: Likewise.
48708         * tests/test-copy-file.sh: Likewise.
48709
48710 2008-06-02  Bruno Haible  <bruno@clisp.org>
48711
48712         * tests/test-file-has-acl.sh: Remove unused code.
48713
48714 2008-06-01  Bruno Haible  <bruno@clisp.org>
48715
48716         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
48717         (copy_acl): Just a wrapper around qcopy_acl that emits the error
48718         messages.
48719         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
48720
48721 2008-06-01  Bruno Haible  <bruno@clisp.org>
48722
48723         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
48724         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
48725         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
48726         APIs.
48727         * modules/acl-tests (configure.ac): Remove tests now contained in
48728         m4/acl.m4.
48729
48730 2008-06-02  Jim Meyering  <meyering@redhat.com>
48731
48732         announce-gen: use a better key-server host name
48733         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
48734         it may be more consistently reliable.  Suggested by Werner Koch
48735         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
48736
48737 2008-06-01  Bruno Haible  <bruno@clisp.org>
48738
48739         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
48740         Reported by Voroskoi Andras <voroskoi@gmail.com>.
48741
48742 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
48743
48744         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
48745
48746 2008-06-01  Bruno Haible  <bruno@clisp.org>
48747
48748         New ACL tests.
48749         * tests/test-file-has-acl.sh: New file.
48750         * tests/test-file-has-acl.c: New file.
48751         * tests/test-set-mode-acl.sh: New file.
48752         * tests/test-set-mode-acl.c: New file.
48753         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
48754         * tests/test-copy-acl.c: New file.
48755         * modules/acl-tests: New file, based on modules/copy-file-tests.
48756         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
48757         (Depends-on): Add acl-tests.
48758         (configure.ac): Remove checks.
48759         (Makefile.am): Don't create test-sameacls program here any more.
48760
48761 2008-06-01  Bruno Haible  <bruno@clisp.org>
48762
48763         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
48764         * tests/test-sameacls.c: Include progname.h.
48765         (main): Invoke set_program_name. Portability fixes for MacOS X,
48766         Solaris, HP-UX.
48767
48768 2008-06-01  Bruno Haible  <bruno@clisp.org>
48769
48770         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
48771         function.
48772         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
48773
48774 2008-06-01  Bruno Haible  <bruno@clisp.org>
48775
48776         * modules/rpmatch (Depends-on): Add strdup.
48777
48778 2008-06-01  Bruno Haible  <bruno@clisp.org>
48779
48780         * lib/pipe.c: Include unistd-safer.h.
48781         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
48782         * modules/pipe (Depends-on): Add unistd-safer.
48783
48784 2008-05-30  Simon Josefsson  <simon@josefsson.org>
48785
48786         * modules/autobuild (configure.ac): Call AB_INIT.
48787
48788 2008-05-30  Simon Josefsson  <simon@josefsson.org>
48789
48790         * tests/test-getaddrinfo.c: Don't print debug messages by default.
48791         Suggested by Bruno Haible <bruno@clisp.org>.
48792
48793 2008-05-30  Simon Josefsson  <simon@josefsson.org>
48794
48795         * tests/test-base64.c: Cast size_t to unsigned long when invoking
48796         printf.  Use %lu instead of %d.  Reported by Bruno Haible
48797         <bruno@clisp.org>.
48798
48799 2008-05-29  Eric Blake  <ebb9@byu.net>
48800
48801         Prefer new POSIX 200x interfaces over futimesat.
48802         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
48803         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
48804         when available.
48805         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
48806
48807 2008-05-28  Bruno Haible  <bruno@clisp.org>
48808
48809         * modules/stpcpy (License): Change to LGPLv2+.
48810         Requested by David Lutterkort <dlutter@redhat.com>.
48811
48812 2008-05-27  Bruno Haible  <bruno@clisp.org>
48813
48814         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
48815         current mingw.
48816         Reported by Jose E. Marchesi <jemarch@gnu.org>.
48817
48818 2008-05-27  Bruno Haible  <bruno@clisp.org>
48819
48820         * modules/iconv_open (Link): New section, from module 'iconv'.
48821         * modules/striconv (Link): Likewise.
48822         * modules/striconveh (Link): Likewise.
48823         * modules/xstriconv (Link): Likewise.
48824         * modules/unicodeio (Link): Likewise.
48825         * modules/propername (Link): Likewise.
48826         Reported by Jim Meyering.
48827
48828 2008-05-26  Jim Meyering  <meyering@redhat.com>
48829
48830         sha256: do not artificially restrict buffer length to be < 2^32
48831         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
48832         uint32_t to size_t.
48833         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
48834         to match.
48835
48836         avoid unaligned access errors, e.g., on sparc
48837         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
48838         direct access through a possibly-unaligned uint64* pointer.
48839         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
48840         direct access through a possibly-unaligned uint32* pointer.
48841         Prompted by this patch from Tom "spot" Callaway:
48842         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
48843
48844         sha512.c: fix typo in comment
48845         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
48846
48847 2008-05-25  Bruno Haible  <bruno@clisp.org>
48848
48849         * lib/set-mode-acl.c: Renamed from lib/acl.c.
48850         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
48851         (Makefile.am): Update lib_SOURCES.
48852
48853 2008-05-25  Bruno Haible  <bruno@clisp.org>
48854
48855         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
48856
48857 2008-05-25  Jim Meyering  <meyering@redhat.com>
48858
48859         useless-if-before-free: freed expr may have white-space differences
48860         * build-aux/useless-if-before-free: Recognize cases in which the
48861         freed expression differs from the tested one in embedded white
48862         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
48863         $1 was used, so we can't make any regexp shy.  Improved tests now
48864         detect this.
48865
48866         useless-if-before-free: accept white space in the expression.
48867         * build-aux/useless-if-before-free: For now, any white space
48868         in the expression must be identical in the free argument.
48869
48870         useless-if-before-free: efficiency tweak
48871         * build-aux/useless-if-before-free: Make the expression-matching
48872         regexp "shy".
48873         Make the *outer* regexp shy, not the expr-matching one.
48874
48875         update code-in-comment to accept cast of free arg
48876         * build-aux/useless-if-before-free: Update regexp.
48877
48878 2008-05-25  Bruno Haible  <bruno@clisp.org>
48879
48880         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
48881         * modules/copy-file-tests (Files, Makefile.am): Update.
48882         * tests/test-copy-file.c (func_test_copy): Update.
48883
48884 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
48885
48886         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
48887
48888 2008-05-23  Bruno Haible  <bruno@clisp.org>
48889
48890         Improve support for ACLs on OSF/1.
48891         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
48892         Remove fallback for unknown flavors of ACLs.
48893
48894 2008-05-22  Bruno Haible  <bruno@clisp.org>
48895
48896         Add support for ACLs on OSF/1.
48897         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
48898         replacements.
48899         (acl_free_text): New macro fallback.
48900         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
48901         acl_free.
48902         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
48903         acl_free_text function. Require AC_C_INLINE.
48904
48905 2008-05-22  Bruno Haible  <bruno@clisp.org>
48906
48907         Make copy_acl work on MacOS X 10.5.
48908         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
48909         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
48910         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
48911         If MODE_INSIDE_ACL, don't assume that every system has the same text
48912         representation for ACLs as FreeBSD.
48913         * lib/copy-acl.c (copy_acl): Add support for platforms with
48914         !MODE_INSIDE_ACL.
48915         * lib/file-has-acl.c (file_has_acl): Likewise.
48916         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
48917         FreeBSD, MacOS X, or IRIX, respectively.
48918
48919 2008-05-22  Bruno Haible  <bruno@clisp.org>
48920
48921         * lib/acl.h: Don't include <sys/acl.h>.
48922         (GETACLCNT): Move fallback to lib/acl-internal.h.
48923         * lib/acl-internal.h: Include <sys/acl.h> here.
48924         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
48925
48926 2008-05-22  Bruno Haible  <bruno@clisp.org>
48927
48928         Split off copy_acl function to separate file.
48929         * lib/copy-acl.c: New file, extracted from lib/acl.c.
48930         * lib/acl.c (copy_acl): Moved function to separate file.
48931         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
48932         * modules/acl (Files): Add lib/copy-acl.c.
48933         (Makefiles.am): Augment lib_SOURCES.
48934
48935 2008-05-22  Bruno Haible  <bruno@clisp.org>
48936
48937         * modules/copy-file-tests: New file.
48938         * tests/test-copy-file.sh: New file.
48939         * tests/test-copy-file.c: New file.
48940         * tests/test-copy-file-sameacls.c: New file.
48941
48942 2008-05-22  Eric Blake  <ebb9@byu.net>
48943
48944         Avoid gcc warning.
48945         * tests/test-memcmp.c (main): Pass NULL indirectly.
48946
48947 2008-05-21  Bruno Haible  <bruno@clisp.org>
48948
48949         Add reference doc about ACLs.
48950         * doc/acl-resources.txt: New file.
48951         * doc/acl-cygwin.txt: New file.
48952
48953 2008-05-21  Bruno Haible  <bruno@clisp.org>
48954
48955         Avoid one more warning from gcc.
48956         * lib/vasnprintf.c (IF_LINT): Update comments.
48957         (VASNPRINTF): Use it also for the 'prefix' array initializer.
48958
48959 2008-05-21  Jim Meyering  <meyering@redhat.com>
48960
48961         avoid a warning from gcc
48962         * lib/vasnprintf.c (IF_LINT): Define.
48963         (scale10_round_decimal_long_double):
48964         Use it to avoid a "may be used uninitialized" warning.
48965         (scale10_round_decimal_double): Likewise.
48966
48967 2008-05-21  Simon Josefsson  <simon@josefsson.org>
48968
48969         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
48970         declared.
48971
48972 2008-05-20  Bruno Haible  <bruno@clisp.org>
48973
48974         * tests/test-memcmp.c (main): Test also the sign of the result. Test
48975         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
48976
48977 2008-05-20  Simon Josefsson  <simon@josefsson.org>
48978
48979         * modules/memcmp-tests: New file.
48980         * tests/test-memcmp.c: New file.
48981
48982 2008-05-19  Bruno Haible  <bruno@clisp.org>
48983
48984         * modules/propername (Notice, configure.ac): Put quoted "..." into
48985         --keyword option.
48986         * lib/propername.h: Update comments accordingly.
48987         Reported by Eric Blake.
48988
48989 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
48990
48991         * modules/getpass-gnu (Depends-on): Add fseeko.
48992
48993 2008-05-19  Simon Josefsson  <simon@josefsson.org>
48994
48995         * modules/base64-tests: New file.
48996
48997 2008-05-19  Bo Borgerson <gigabo@gmail.com>
48998
48999         * lib/base64.c (base64_decode_ctx): If a decode context structure
49000         was passed in use it to ignore newlines.  If a context structure
49001         was _not_ passed in, continue to treat newlines as garbage (this
49002         is the historical behavior).  Formerly base64_decode.
49003         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
49004         takes a decode context structure.
49005         * lib/base64.h (base64_decode): Macro for four-argument calls.
49006         (base64_decode_alloc): Likewise.
49007         * lib/base64.c (base64_decode_ctx): If a decode context structure
49008         was passed in use it to ignore newlines.  If a context structure
49009         was _not_ passed in, continue to treat newlines as garbage (this
49010         is the historical behavior).  Formerly base64_decode.
49011         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
49012         takes a decode context structure.
49013         * lib/base64.h (base64_decode): Macro for four-argument calls.
49014         (base64_decode_alloc): Likewise.
49015
49016 2008-05-19  Jim Meyering  <meyering@redhat.com>
49017
49018         avoid a warning from gcc
49019         * lib/trim.c (IF_LINT): Define.
49020         (trim2): Use it to avoid a "may be used uninitialized" warning.
49021
49022         Fix doc typo.
49023         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
49024
49025 2008-05-19  Bruno Haible  <bruno@clisp.org>
49026
49027         * doc/glibc-functions/getpass.texi: Document limits of other
49028         implementations.
49029
49030 2008-05-19  Simon Josefsson  <simon@josefsson.org>
49031             Bruno Haible <bruno@clisp.org>
49032
49033         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
49034
49035 2008-05-18  Bruno Haible  <bruno@clisp.org>
49036
49037         * modules/propername: New file, from GNU gettext.
49038         * lib/propername.h: New file, from GNU gettext.
49039         * lib/propername.c: New file, from GNU gettext.
49040         * MODULES.html.sh (Internationalization functions): Add propername.
49041
49042 2008-05-16  Jim Meyering  <meyering@redhat.com>
49043             Bruno Haible  <bruno@clisp.org>
49044
49045         Avoid some warnings from "gcc -Wshadow".
49046         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
49047
49048 2008-05-15  Eric Blake  <ebb9@byu.net>
49049
49050         Extend previous patch to cygwin 1.7.0.
49051         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
49052         fast implementation in cygwin >= 1.7.0.
49053         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
49054         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
49055
49056 2008-05-15  Bruno Haible  <bruno@clisp.org>
49057
49058         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
49059         implementation in glibc >= 2.9.
49060         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
49061         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
49062
49063 2008-05-15  Bruno Haible  <bruno@clisp.org>
49064
49065         * MODULES.html.sh (Internationalization functions): Remove linebreak.
49066         (Unicode string functions): Add unilbrk/*.
49067         Reported by Karl Berry.
49068
49069 2008-05-15  Eric Blake  <ebb9@byu.net>
49070
49071         Fix violation of <stdbool.h> replacement in regex.
49072         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
49073         * lib/regexec.c (re_search_internal): Likewise.
49074         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
49075
49076 2008-05-15  Jim Meyering  <meyering@redhat.com>
49077
49078         avoid distracting test output when git or cvs is not found
49079         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
49080         * tests/test-vc-list-files-git.sh: Likewise.
49081
49082 2008-05-15  Eric Blake  <ebb9@byu.net>
49083
49084         Glibc finally accepted the memmem speedup code, bugzilla #5514.
49085         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
49086         glibc version.
49087         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
49088         * doc/posix-functions/strstr.texi (strstr): Likewise.
49089         * lib/str-two-way.h (MAX): Sychronize with glibc.
49090
49091 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
49092
49093         * lib/regcomp.c (optimize_utf8): Add a note on why we test
49094         opr.ctx_type.
49095         (calc_first): Initialize constraint field.
49096         (duplicate_node_closure): Use it instead of special casing ANCHORS.
49097         Fix grammar.
49098         (duplicate_node): Merge constraint field for all node types.
49099         (calc_eclosure_iter): Look at constraint field for all node types.
49100         * lib/regex_internal.c (create_cd_newstate): Don't look at
49101         opr.ctx_type.
49102
49103 2008-05-14  Bruno Haible  <bruno@clisp.org>
49104
49105         Help GCC to do better code generation.
49106         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
49107         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
49108         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
49109         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
49110         Declare with attribute 'malloc' if supported.
49111
49112 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
49113
49114         use "echo STR|wc -c" rather than unportable "expr length STR"
49115         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
49116         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
49117
49118 2008-05-14  Jim Meyering  <meyering@redhat.com>
49119
49120         use dd ibs=$n count=1 ... rather than less-portable head -c$n
49121         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
49122         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
49123         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
49124         via Collin Lasse.
49125
49126 2008-05-14  Eric Blake  <ebb9@byu.net>
49127
49128         Avoid quadratic growth in gl_LIBSOURCES.
49129         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
49130         Suggested by Bruno Haible.
49131
49132         Test xmemdup0.
49133         * modules/xmemdup0-tests: New file.
49134         * tests/test-xmemdup0.c: Likewise.
49135
49136 2008-05-13  Eric Blake  <ebb9@byu.net>
49137
49138         Split xmemdup0 into its own module.
49139         * modules/xmemdup0: New file.
49140         * lib/xmemdup0.h: Likewise.
49141         * lib/xmemdup0.c: Likewise.
49142         * MODULES.html.sh (Memory management functions): Add xmemdup0.
49143         * lib/xalloc.h (xmemdup0): Remove.
49144         * lib/xmalloc.c (xmemdup0): Likewise.
49145
49146 2008-05-13  Eric Blake  <ebb9@byu.net>
49147             Bruno Haible  <bruno@clisp.org>
49148
49149         Reduce number of forks required during autoconf.
49150         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
49151         and gl_LIBSOURCES_DIR.
49152         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
49153         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
49154         m4_syscmd per file.
49155         <m4_foreach_w>: Move...
49156         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
49157
49158 2008-05-13  Eric Blake  <ebb9@byu.net>
49159
49160         * gnulib-tool: Fix various comment typos.
49161
49162 2008-05-12  Bruno Haible  <bruno@clisp.org>
49163
49164         Tailor the linebreaking algorithm.
49165         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
49166
49167 2008-05-12  Bruno Haible  <bruno@clisp.org>
49168
49169         Update to Unicode 5.0.0.
49170         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
49171         LBP_JV, LBP_JT. Redistribute values.
49172         (unilbrk_table): Change size.
49173         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
49174         Unicode TR#14 rev. 22.
49175         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
49176         LBP_JV, LBP_JT. Redistribute values.
49177         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
49178         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
49179         Update.
49180         * lib/unilbrk/lbrkprop1.h: Regenerated.
49181         * lib/unilbrk/lbrkprop2.h: Regenerated.
49182         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
49183         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
49184         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
49185         Likewise.
49186         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
49187         Likewise.
49188         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
49189         result.
49190         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
49191         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
49192         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
49193         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
49194         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
49195         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
49196
49197 2008-05-11  Bruno Haible  <bruno@clisp.org>
49198
49199         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
49200
49201 2008-05-11  Bruno Haible  <bruno@clisp.org>
49202
49203         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
49204         * modules/unilbrk/gen-lbrk: New file.
49205
49206 2008-05-11  Bruno Haible  <bruno@clisp.org>
49207
49208         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
49209         * m4/sha512.m4 (gl_SHA512): Likewise.
49210
49211 2008-05-11  Jim Meyering  <meyering@redhat.com>
49212
49213         New modules: crypto/sha256, crypto/sha512 (from coreutils)
49214         * modules/crypto/sha256: New file.
49215         * modules/crypto/sha512: Likewise.
49216         * lib/sha256.c: Likewise.
49217         * lib/sha256.h: Likewise.
49218         * lib/sha512.c: Likewise.
49219         * lib/sha512.h: Likewise.
49220         * lib/u64.h: Likewise.
49221         * m4/sha256.m4: Likewise.
49222         * m4/sha512.m4: Likewise.
49223         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
49224
49225 2008-05-10  Bruno Haible  <bruno@clisp.org>
49226
49227         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
49228         (Input/Output <stdio.h>): Add xprintf.
49229         (Signal handling <signal.h>): Add strsignal.
49230         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
49231         (Core language properties): Add func.
49232         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
49233         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
49234         strings.
49235         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
49236         (Input/output): New section.
49237         (File system functions): Add openat-die, stat-macros.
49238         (Networking functions): Add sockets.
49239         (Unicode string functions): Add unictype/*.
49240         (Support for building libraries and executables): Add gperf.
49241         (Support for building documentation): Add agpl-3.0.
49242         (Misc): Add nocrash.
49243
49244 2008-05-10  Bruno Haible  <bruno@clisp.org>
49245
49246         * modules/unictype/gen-ctype: New file.
49247
49248 2008-05-10  Jim Meyering  <meyering@redhat.com>
49249
49250         Make chdir-safer.c more efficient on a system with no symlinks.
49251         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
49252         also if ELOOP is zero.  Suggested by Bruno Haible.
49253
49254         Make chdir-safer.c slightly safer.
49255         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
49256         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
49257
49258         Avoid compile failure on systems without ELOOP (like mingw).
49259         * lib/chdir-safer.c (ELOOP): Define if not already defined.
49260         Reported by Bruno Haible.
49261
49262 2008-05-10  Bruno Haible  <bruno@clisp.org>
49263
49264         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
49265         (is_utf8_encoding): Use a case-insensitive comparison.
49266         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
49267         streq.
49268
49269 2008-05-10  Bruno Haible  <bruno@clisp.org>
49270
49271         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
49272         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
49273         * lib/unilbrk/ulc-common.h (iconv_string_length,
49274         iconv_string_keeping_offsets): Remove declarations.
49275         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
49276         Don't include <iconv.h>, streq.h, xsize.h.
49277         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
49278         conversion.
49279         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
49280         <iconv.h>, streq.h, xsize.h.
49281         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
49282         conversion.
49283         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
49284         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
49285         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
49286         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
49287
49288 2008-05-10  Bruno Haible  <bruno@clisp.org>
49289
49290         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
49291         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
49292
49293         * modules/unilbrk/u32-width-linebreaks-tests: New file.
49294         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
49295
49296         * modules/unilbrk/u16-width-linebreaks-tests: New file.
49297         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
49298
49299         * modules/unilbrk/u8-width-linebreaks-tests: New file.
49300         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
49301
49302         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
49303         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
49304
49305         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
49306         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
49307
49308         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
49309         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
49310
49311         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
49312         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
49313
49314 2008-05-10  Bruno Haible  <bruno@clisp.org>
49315
49316         Split up 'linebreak' module.
49317         * lib/unilbrk.h: New file, based on lib/linebreak.h.
49318         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
49319         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
49320         modifications.
49321         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
49322         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
49323         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
49324         lib/linebreak.c.
49325         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
49326         lib/linebreak.c.
49327         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
49328         lib/linebreak.c.
49329         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
49330         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
49331         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
49332         lib/linebreak.c.
49333         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
49334         lib/linebreak.c.
49335         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
49336         lib/linebreak.c.
49337         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
49338         lib/linebreak.c.
49339         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
49340         lib/linebreak.c.
49341         * modules/unilbrk/base: New file.
49342         * modules/unilbrk/tables: New file.
49343         * modules/unilbrk/u8-possible-linebreaks: New file.
49344         * modules/unilbrk/u16-possible-linebreaks: New file.
49345         * modules/unilbrk/u32-possible-linebreaks: New file.
49346         * modules/unilbrk/ulc-common: New file.
49347         * modules/unilbrk/ulc-possible-linebreaks: New file.
49348         * modules/unilbrk/u8-width-linebreaks: New file.
49349         * modules/unilbrk/u16-width-linebreaks: New file.
49350         * modules/unilbrk/u32-width-linebreaks: New file.
49351         * modules/unilbrk/ulc-width-linebreaks: New file.
49352         * lib/linebreak.h: Remove file.
49353         * lib/linebreak.c: Remove file.
49354         * m4/linebreak.m4: Remove file.
49355         * modules/linebreak: Remove file.
49356         * NEWS: Mention the changes.
49357
49358 2008-05-09  Eric Blake  <ebb9@byu.net>
49359
49360         Add xmemdup0.
49361         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
49362         implementation.
49363         * lib/xmalloc.c (xmemdup0): New C implementation.
49364
49365 2008-05-08  Bruno Haible  <bruno@clisp.org>
49366
49367         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
49368
49369 2008-05-07  Eric Blake  <ebb9@byu.net>
49370
49371         Support cross-compilation of <wctype.h>.
49372         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
49373         AC_CACHE_CHECK.
49374
49375 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
49376
49377         * build-aux/vc-list-files: Add support for bzr.
49378
49379 2008-05-03  Jim Meyering  <meyering@redhat.com>
49380
49381         avoid failed assertion with tight malloc
49382         * tests/test-getndelim2.c: Correct an off-by-one assertion.
49383
49384 2008-05-03  Simon Josefsson  <simon@josefsson.org>
49385
49386         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
49387         are needed from arpa/inet.h.
49388         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
49389         Reported by Bruno Haible.
49390
49391 2008-05-02  Jim Meyering  <meyering@redhat.com>
49392
49393         avoid compilation error on FreeBSD 6
49394         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
49395
49396 2008-05-01  Jim Meyering  <meyering@redhat.com>
49397
49398         useless-if-before-free: correct --help's exit status description
49399         * build-aux/useless-if-before-free (usage): Like grep, exit 0
49400         for one or more matches, etc.  Reported by Bruno Haible.
49401
49402         vc-list-files: make the stand-alone gnulib test work
49403         * modules/vc-list-files-tests (configure.ac):
49404         Define and AC_SUBST abs_aux_dir.
49405         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
49406         $(abs_top_srcdir) to each script and having each of them
49407         duplicate the work of setting PATH, set PATH here, using
49408         the new variable, abs_aux_dir instead.
49409         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
49410         * tests/test-vc-list-files-git.sh: Likewise.
49411         Reported by Bruno Haible.
49412
49413 2008-05-01  Bruno Haible  <bruno@clisp.org>
49414
49415         * lib/getndelim2.c (getndelim2): Fix newsize computation during
49416         reallocation. Rename 'done' to 'found_delimiter'.
49417
49418 2008-05-01  Jim Meyering  <meyering@redhat.com>
49419
49420         vc-list-files: accommodate /bin/sh like the one from Solaris 10
49421         * build-aux/vc-list-files: Use `...`, not $(...).
49422
49423 2008-04-30  Jim Meyering  <meyering@redhat.com>
49424
49425         add tests for vc-list-files
49426         * modules/vc-list-files-tests: New module.
49427         * tests/test-vc-list-files-cvs.sh: New file.
49428         * tests/test-vc-list-files-git.sh: New file.
49429
49430         avoid a warning from gcc
49431         * lib/getndelim2.c (IF_LINT): Define.
49432         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
49433
49434         vc-list-files: work properly with build-aux/cvsu, too
49435         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
49436         to all cvs-based clauses.
49437
49438         vc-list-files: work properly in the CVS+awk case, too
49439         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
49440
49441         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
49442         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
49443         take more than one file argument, so .  Add quotes, just in case $dir
49444         ever contains a shell meta-character.  Prompted by Soren Hansen in
49445         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
49446
49447 2008-04-29  Eric Blake  <ebb9@byu.net>
49448
49449         Optimize getndelim2 to use block operations when possible.
49450         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
49451         freadseek, and memchr2.
49452         * lib/getndelim2.c (getndelim2): Use them for block reads.
49453
49454 2008-04-29  Bruno Haible  <bruno@clisp.org>
49455
49456         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
49457         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
49458         * modules/inet_ntop (Depends-on): Add extensions.
49459         * modules/inet_pton (Depends-on): Likewise.
49460         Reported by Simon Josefsson.
49461
49462 2008-04-29  Jim Meyering  <meyering@redhat.com>
49463
49464         When the is more than one match in a block, match all of them.
49465         * build-aux/useless-if-before-free: Iterate through each block
49466         until there are no more matches.
49467
49468         Fix broken useless-if-before-free script.
49469         * build-aux/useless-if-before-free: Fix typo: missing "?" after
49470         the expression to match cast of argument to free-like function.
49471
49472 2008-04-29  Eric Blake  <ebb9@byu.net>
49473
49474         Use new header.
49475         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
49476
49477 2008-04-29  Jim Meyering  <meyering@redhat.com>
49478
49479         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
49480         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
49481         by gnulib to exist and to declare e.g., inet_ntop.
49482         Don't include "inet_ntop.h", now removed.
49483
49484         * m4/arpa_inet_h.m4: Remove trailing blanks.
49485
49486 2008-04-29  Eric Blake  <ebb9@byu.net>
49487
49488         Silence valgrind on safe reads beyond potential array bounds.
49489         * lib/rawmemchr.valgrind: New file.
49490         * lib/strchrnul.valgrind: Likewise.
49491         * modules/rawmemchr (Files): Distribute new file.
49492         * modules/strchrnul (Files): Likewise.
49493         Suggested by Bruno Haible.
49494
49495 2008-04-29  Bruno Haible  <bruno@clisp.org>
49496
49497         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
49498         (inet_ntop, inet_pton): Change portability warning's wording.
49499         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
49500         Invoke gl_CHECK_NEXT_HEADERS.
49501         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
49502         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
49503         set ARPA_INET_H.
49504         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
49505         * modules/arpa_inet (Description): No longer only for systems that
49506         lack it.
49507         (Depends-on): Add include_next.
49508         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
49509         HAVE_ARPA_INET_H.
49510
49511 2008-04-29  Jim Meyering  <meyering@redhat.com>
49512
49513         * modules/mkdir (License): Re-license as LGPLv2+.
49514
49515 2008-04-29  Bruno Haible  <bruno@clisp.org>
49516
49517         * modules/rawmemchr (Maintainer): Set to Eric.
49518         * modules/strchrnul (Maintainer): Likewise.
49519
49520 2008-04-29  Simon Josefsson  <simon@josefsson.org>
49521
49522         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
49523         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
49524
49525         * modules/arpa_inet (arpa/inet.h): Use them.
49526
49527 2008-04-28  Eric Blake  <ebb9@byu.net>
49528
49529         Test getndelim2.
49530         * modules/getndelim2-tests: New file.
49531         * tests/test-getndelim2.c: Likewise.
49532         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
49533         stream.
49534         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
49535
49536         * MODULES.html.sh: Document new module.
49537
49538 2008-04-20  Bruno Haible  <bruno@clisp.org>
49539
49540         * lib/c-stack.c (die): Use raise.
49541         * modules/c-stack (Depends-on): Add raise.
49542
49543 2008-04-28  Bruno Haible  <bruno@clisp.org>
49544
49545         Expect rpmatch to be declared.
49546         * lib/yesno.c (rpmatch): Remove declaration.
49547
49548         Declare rpmatch.
49549         * lib/stdlib.in.h (rpmatch): New declaration.
49550         * lib/rpmatch.c: Include <stdlib.h> first.
49551         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
49552         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
49553         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
49554         HAVE_RPMATCH.
49555         * modules/rpmatch (Depends-on): Add stdlib, extensions.
49556         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
49557         (Include): Set to <stdlib.h>.
49558         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
49559         HAVE_RPMATCH.
49560         * NEWS: Document the change.
49561
49562 2008-04-28  Bruno Haible  <bruno@clisp.org>
49563
49564         Change rpmatch to use nl_langinfo when appropriate.
49565         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
49566         (N_): New macro.
49567         (localized_pattern): New function/macro.
49568         (try): Remove match, nomatch arguments. Copy the pattern into safe
49569         memory before caching it.
49570         (rpmatch): Use localized_pattern. Add translator comments.
49571         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
49572         Suggested by Eric Blake.
49573         * modules/rpmatch (Depends-on): Add stdbool.
49574
49575 2008-04-28  Eric Blake  <ebb9@byu.net>
49576
49577         Add rawmemchr module, matching glibc.
49578         * modules/string (Makefile.am): New indicator.
49579         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
49580         * lib/string.in.h (rawmemchr): Declare when appropriate.
49581         * modules/rawmemchr: New file.
49582         * m4/rawmemchr.m4: Likewise.
49583         * lib/rawmemchr.c: Likewise.
49584         * modules/rawmemchr-tests: Likewise.
49585         * tests/test-rawmemchr.c: Likewise.
49586         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
49587         module.
49588         * modules/strchrnul (Depends-on): Add rawmemchr.
49589         * lib/strchrnul.c (strchrnul): Optimize a corner case.
49590
49591         Whitespace cleanup.
49592         * tests/test-strchrnul.c: Reindent.
49593         * lib/strchrnul.c: Likewise.
49594
49595         Optimize and test strchrnul.
49596         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
49597         * modules/strchrnul-tests: New file.
49598         * tests/test-strchrnul.c: Likewise.
49599
49600         Remove intprops dependency.
49601         * modules/memchr (Depends-on): Remove intprops.
49602         * modules/memrchr (Depends-on): Likewise.
49603         * modules/memchr2 (Depends-on): Likewise.
49604         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
49605         * lib/memrchr.c (__memrchr): Likewise.
49606         * lib/memrchr2.c (memchr2): Likewise.
49607         Reported by Simon Josefsson.
49608
49609 2008-04-28  Simon Josefsson  <simon@josefsson.org>
49610
49611         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
49612         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49613
49614 2008-04-28  Simon Josefsson  <simon@josefsson.org>
49615
49616         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
49617
49618         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
49619
49620         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
49621
49622         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
49623         declarations.
49624         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
49625
49626         * m4/inet_pton.m4: Don't check for header files.
49627
49628         * m4/inet_ntop.m4: Don't check for header files.
49629
49630 2008-04-28  Simon Josefsson  <simon@josefsson.org>
49631
49632         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
49633         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
49634         trigger for cygwin).
49635         Reported by Bruno Haible  <bruno@clisp.org>.
49636
49637 2008-04-28  Bruno Haible  <bruno@clisp.org>
49638
49639         * doc/posix-functions/strdup.texi: Mention mingw problem.
49640
49641 2008-04-27  Bruno Haible  <bruno@clisp.org>
49642
49643         * modules/stat-time-tests (Depends-on): Add sleep.
49644         * tests/test-stat-time.c (force_unlink): New function.
49645         (cleanup): Use it.
49646         (test_mtime): Remove the ctime related tests.
49647         (test_ctime): New function, containing the ctime related tests.
49648         (main): Call test_ctime, except on native Windows platforms.
49649
49650 2008-04-27  Bruno Haible  <bruno@clisp.org>
49651
49652         * lib/rpmatch.c (rpmatch): Add some comments.
49653         Reported by James Youngman <jay@gnu.org>.
49654
49655 2008-04-27  Bruno Haible  <bruno@clisp.org>
49656
49657         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
49658         quiet NaNs.
49659
49660 2008-04-27  Bruno Haible  <bruno@clisp.org>
49661
49662         Make test-yesno.sh work on mingw.
49663         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
49664         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
49665         (main): Set stdin to binary mode.
49666         * modules/yesno-tests (Depends-on): Add binary-io.
49667
49668 2008-04-27  Bruno Haible  <bruno@clisp.org>
49669
49670         Fix 'isfinite' on x86, x86_64, ia64 platforms.
49671         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
49672         argument that lie outside the IEEE 854 domain.
49673         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
49674         (gl_ISFINITE): Use it.
49675         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
49676
49677 2008-04-27  Bruno Haible  <bruno@clisp.org>
49678
49679         Allow local renaming in config.h.
49680         * lib/memrchr.c (memrchr): Don't undefine outside libc.
49681
49682 2008-04-27  Bruno Haible  <bruno@clisp.org>
49683
49684         * lib/memchr.c (__memchr): Change type of 'i'.
49685         * lib/memchr2.c (memchr2): Likewise.
49686
49687 2008-04-26  Eric Blake  <ebb9@byu.net>
49688         and Bruno Haible  <bruno@clisp.org>
49689
49690         Optimize and test memrchr.
49691         * modules/memrchr (Depends-on): Add intprops.
49692         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
49693         * modules/memrchr-tests: New file.
49694         * tests/test-memrchr.c: New file.
49695
49696 2008-04-26  Bruno Haible  <bruno@clisp.org>
49697
49698         Add tentative support for DragonFly BSD.
49699         * lib/stdio-impl.h: Add macros for DragonFly BSD.
49700         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
49701         fp.
49702         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
49703         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
49704         * lib/fpurge.c (fpurge): Likewise.
49705         * lib/freadable.c (freaadable): Likewise.
49706         * lib/freadahead.c (freadahead): Likewise.
49707         * lib/freading.c (freading): Likewise.
49708         * lib/freadptr.c (freadptr): Likewise.
49709         * lib/freadseek.c (freadptrinc): Likewise.
49710         * lib/fseeko.c (fseeko): Likewise.
49711         * lib/fseterr.c (fseterr): Likewise.
49712         * lib/fwritable.c (fwritable): Likewise.
49713         * lib/fwriting.c (fwriting): Likewise.
49714
49715 2008-04-26  Bruno Haible  <bruno@clisp.org>
49716
49717         * lib/stdio-impl.h: New file.
49718         * lib/fbufmode.c: Include stdio-impl.h.
49719         (fbufmode): Use fp_, remove redundant #defines.
49720         * lib/fflush.c: Include stdio-impl.h.
49721         (clear_ungetc_buffer): Remove redundant #defines.
49722         * lib/fpurge.c: Include stdio-impl.h.
49723         (fpurge): Remove redundant #defines.
49724         * lib/freadable.c: Include stdio-impl.h.
49725         (freadable): Remove redundant #defines.
49726         * lib/freadahead.c: Include stdio-impl.h.
49727         (freadahead): Remove redundant #defines.
49728         * lib/freading.c: Include stdio-impl.h.
49729         (freading): Remove redundant #defines.
49730         * lib/freadptr.c: Include stdio-impl.h.
49731         (freadptr): Remove redundant #defines.
49732         * lib/freadseek.c: Include stdio-impl.h.
49733         (freadptrinc): Remove redundant #defines.
49734         * lib/fseeko.c: Include stdio-impl.h.
49735         (rpl_fseeko): Remove redundant #defines.
49736         * lib/fseterr.c: Include stdio-impl.h.
49737         (fseterr): Remove redundant #defines.
49738         * lib/fwritable.c: Include stdio-impl.h.
49739         (fwritable: Remove redundant #defines.
49740         * lib/fwriting.c: Include stdio-impl.h.
49741         (fwriting): Remove redundant #defines.
49742         * modules/fbufmode (Files): Add lib/stdio-impl.h.
49743         * modules/fflush (Files): Likewise.
49744         * modules/fpurge (Files): Likewise.
49745         * modules/freadable (Files): Likewise.
49746         * modules/freadahead (Files): Likewise.
49747         * modules/freading (Files): Likewise.
49748         * modules/freadptr (Files): Likewise.
49749         * modules/freadseek (Files): Likewise.
49750         * modules/fseeko (Files): Likewise.
49751         * modules/fseterr (Files): Likewise.
49752         * modules/fwritable (Files): Likewise.
49753         * modules/fwriting (Files): Likewise.
49754
49755 2008-04-26  Bruno Haible  <bruno@clisp.org>
49756
49757         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
49758         restore_seek_optimization, update_fpos_cache): New functions, extracted
49759         from rpl_fflush.
49760         (rpl_fflush): Use them.
49761         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
49762         (gl_REPLACE_FFLUSH): Use it.
49763
49764 2008-04-26  Bruno Haible  <bruno@clisp.org>
49765
49766         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
49767         on Solaris.
49768         * tests/test-xstrtoimax.sh: Likewise.
49769         * tests/test-xstrtoumax.sh: Likewise.
49770         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49771
49772 2008-04-26  Bruno Haible  <bruno@clisp.org>
49773
49774         * modules/memchr-tests: New file.
49775         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
49776
49777 2008-04-26  Eric Blake  <ebb9@byu.net>
49778             Bruno Haible  <bruno@clisp.org>
49779
49780         * lib/memchr.c: Include intprops.h.
49781         (__memchr): Optimize parallel detection of matching bytes. Rename local
49782         variables. Add explanatory comments.
49783
49784 2008-04-26  Bruno Haible  <bruno@clisp.org>
49785
49786         Fix module 'memchr', broken since 2000-10-28.
49787         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
49788
49789 2008-04-26  Bruno Haible  <bruno@clisp.org>
49790
49791         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
49792         comments.
49793
49794 2008-04-25  Eric Blake  <ebb9@byu.net>
49795
49796         Use native fstatat on cygwin 1.7.0.
49797         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
49798         first.
49799
49800 2008-04-23  Eric Blake  <ebb9@byu.net>
49801
49802         Improve memchr2 performance.
49803         * lib/memchr2.c (memchr2): Further optimize parallel detection of
49804         NUL bytes.
49805         * modules/memchr2 (Depends-on): Use intprops.h.
49806
49807 2008-04-23  Simon Josefsson  <simon@josefsson.org>
49808
49809         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
49810         an inline function instead of a CPP macro.  Patch by Ben Pfaff
49811         <blp@cs.stanford.edu>.
49812
49813 2008-04-23  Simon Josefsson  <simon@josefsson.org>
49814
49815         * lib/arpa_inet.in.h: New file.
49816
49817         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
49818         (Makefile.am): Sed in substitute header file.
49819
49820         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
49821         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
49822
49823         * modules/inet_ntop (configure.ac): Use
49824         gl_ARPA_INET_MODULE_INDICATOR.
49825
49826         * modules/inet_pton (configure.ac): Use
49827         gl_ARPA_INET_MODULE_INDICATOR.
49828
49829 2008-04-22  Jim Meyering  <meyering@redhat.com>
49830
49831         * modules/verify (License): Re-license as LGPLv2+.
49832
49833 2008-04-22  Simon Josefsson  <simon@josefsson.org>
49834
49835         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
49836         parameter to void* as per POSIX standard (MinGW uses char*).
49837
49838 2008-04-21  Bruno Haible  <bruno@clisp.org>
49839
49840         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
49841         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
49842         Define to replacements if REPLACE_ISWCNTRL is 1.
49843         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
49844         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
49845         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
49846         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
49847         what it fixes.
49848         * doc/posix-functions/iswalpha.texi: Likewise.
49849         * doc/posix-functions/iswblank.texi: Likewise.
49850         * doc/posix-functions/iswcntrl.texi: Likewise.
49851         * doc/posix-functions/iswdigit.texi: Likewise.
49852         * doc/posix-functions/iswgraph.texi: Likewise.
49853         * doc/posix-functions/iswlower.texi: Likewise.
49854         * doc/posix-functions/iswprint.texi: Likewise.
49855         * doc/posix-functions/iswpunct.texi: Likewise.
49856         * doc/posix-functions/iswspace.texi: Likewise.
49857         * doc/posix-functions/iswupper.texi: Likewise.
49858         * doc/posix-functions/iswxdigit.texi: Likewise.
49859         Reported by Alain Guibert.
49860
49861 2008-04-21  Bruno Haible  <bruno@clisp.org>
49862
49863         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
49864         Patch by Alain Guibert.
49865
49866 2008-04-21  Bruno Haible  <bruno@clisp.org>
49867
49868         Fix test failures on mingw.
49869         * tests/test-xstrtol.c (print_no_progname): New function.
49870         (main): Install it in error_print_progname hook.
49871         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
49872         * tests/test-xstrtoimax.sh: Likewise.
49873         * tests/test-xstrtoumax.sh: Likewise.
49874
49875 2008-04-21  Bruno Haible  <bruno@clisp.org>
49876
49877         Fix test failure on mingw.
49878         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
49879
49880 2008-04-21  Bruno Haible  <bruno@clisp.org>
49881
49882         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
49883         Actually assign a value.
49884
49885 2008-04-20  Bruno Haible  <bruno@clisp.org>
49886
49887         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
49888         take 2.
49889         * lib/canonicalize.c (canonicalize_file_name): Elide if the
49890         'canonicalize-lgpl' module is also used.
49891         * lib/canonicalize-lgpl.c: Undo last change.
49892         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
49893
49894 2008-04-20  Bruno Haible  <bruno@clisp.org>
49895
49896         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
49897         config.h. Provide _mkdir based fallback for mingw.
49898         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
49899         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
49900         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
49901         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
49902         rather than defining mkdir in config.h.
49903         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
49904         (gl_SYS_STAT_H_DEFAULTS): New macro.
49905         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
49906         HAVE_IO_H any more.
49907         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
49908         HAVE_DECL_MKDIR and HAVE_IO_H.
49909
49910 2008-04-20  Bruno Haible  <bruno@clisp.org>
49911
49912         * lib/isapipe.c: Port to native Windows platforms.
49913
49914 2008-04-20  Bruno Haible  <bruno@clisp.org>
49915
49916         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
49917
49918 2008-04-21  Eric Blake  <ebb9@byu.net>
49919
49920         Work around preprocessors that don't handle UINTMAX_MAX.
49921         * lib/memchr2.c (memchr2): Avoid embedded #if.
49922         Reported by Alain Guibert, fix suggested by Bruno Haible.
49923
49924 2008-04-21  Simon Josefsson  <simon@josefsson.org>
49925
49926         * doc/posix-functions/strftime.texi (strftime): Explain better
49927         Windows incompatibility.  Suggested by Micah Cowan
49928         <micah@cowan.name>.
49929
49930 2008-04-20  Bruno Haible  <bruno@clisp.org>
49931
49932         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
49933         unistr/u8-mblen.
49934
49935 2008-04-20  Bruno Haible  <bruno@clisp.org>
49936
49937         Fix test failure on platforms with non-GNU iconv.
49938         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
49939         (U_TO_U8): Use it, rather than u16_to_u8.
49940         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
49941         units at the end of the input string.
49942         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
49943
49944 2008-04-20  Bruno Haible  <bruno@clisp.org>
49945
49946         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
49947         when the resulting length is 0.
49948         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
49949
49950 2008-04-20  Bruno Haible  <bruno@clisp.org>
49951
49952         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
49953         works.
49954         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
49955
49956 2008-04-20  Bruno Haible  <bruno@clisp.org>
49957
49958         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
49959         * modules/tsearch-tests (configure.ac): Test for initstate function.
49960
49961 2008-04-20  Bruno Haible  <bruno@clisp.org>
49962
49963         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
49964         for nlink_t if missing.
49965         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
49966
49967 2008-04-19  Bruno Haible  <bruno@clisp.org>
49968
49969         Work around snprintf bug on Linux libc5.
49970         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
49971         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
49972         gl_SNPRINTF_SIZE1.
49973         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
49974         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
49975         that test failed.
49976         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
49977         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
49978         * modules/snprintf (Files): Add m4/printf.m4.
49979         * modules/vsnprintf (Files): Likewise.
49980         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
49981         * doc/posix-functions/vsnprintf.texi: Likewise.
49982
49983 2008-04-19  Bruno Haible  <bruno@clisp.org>
49984
49985         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
49986         from 0.0058 to less than 10^-7.
49987
49988 2008-04-19  Bruno Haible  <bruno@clisp.org>
49989
49990         Fix rounding when a precision is given.
49991         * lib/vasnprintf.c (is_borderline): New function.
49992         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
49993         9...9x.
49994         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
49995         %e, %g.
49996         * tests/test-vasprintf-posix.c (test_function): Likewise.
49997         * tests/test-snprintf-posix.h (test_function): Likewise.
49998         * tests/test-sprintf-posix.h (test_function): Likewise.
49999         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
50000         * tests/test-printf-posix.h (test_function): Likewise.
50001         * tests/test-printf-posix.output: Update.
50002         Reported by John Darrington <john@darrington.wattle.id.au> via
50003         Ben Pfaff <blp@cs.stanford.edu>.
50004
50005 2008-04-18  Simon Josefsson  <simon@josefsson.org>
50006
50007         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
50008         Suggested by Bruno Haible <bruno@clisp.org>.
50009
50010 2008-04-17  Bruno Haible  <bruno@clisp.org>
50011
50012         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
50013         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
50014         implementation.
50015         Patch by Bruce Merry <bmerry@gmail.com>.
50016
50017 2008-04-17  Simon Josefsson  <simon@josefsson.org>
50018
50019         * doc/posix-functions/strftime.texi (strftime): Mention that %e
50020         doesn't work under Windows.
50021
50022 2008-04-16  Bruno Haible  <bruno@clisp.org>
50023
50024         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
50025         New macros.
50026         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
50027         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
50028         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
50029         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
50030         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
50031         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
50032         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
50033         macros.
50034         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
50035         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
50036         Northern Sotho, Uighur.
50037
50038 2008-04-16  Bruno Haible  <bruno@clisp.org>
50039
50040         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
50041         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
50042         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
50043         Reported by Daniel Bergström <daniel@octocode.com>.
50044
50045 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
50046             Bruno Haible  <bruno@clisp.org>
50047
50048         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
50049         function.
50050         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
50051         New functions, mostly extracted from gl_locale_name_default.
50052         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
50053
50054 2008-04-16  Eric Blake  <ebb9@byu.net>
50055
50056         Adjust strtod detection to catch glibc 2.7 bug.
50057         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
50058         Reported by John Gatewood Ham.
50059
50060 2008-04-16  Bruno Haible  <bruno@clisp.org>
50061
50062         Add tentative support for Linux libc5.
50063         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
50064         * lib/fpurge.c (fpurge): Likewise.
50065         * lib/freadable.c (freadable): Likewise.
50066         * lib/freadahead.c (freadahead): Likewise.
50067         * lib/freading.c (freading): Likewise.
50068         * lib/freadptr.c (freadptr): Likewise.
50069         * lib/freadseek.c (freadptrinc): Likewise.
50070         * lib/fseeko.c (rpl_fseeko): Likewise.
50071         * lib/fseterr.c (fseterr): Likewise.
50072         * lib/fwritable.c (fwritable): Likewise.
50073         * lib/fwriting.c (fwriting): Likewise.
50074         Reported by Alain Guibert <alguibert+bts@free.fr>.
50075
50076 2008-04-15  Bruno Haible  <bruno@clisp.org>
50077
50078         * modules/mathl (configure.ac): Define module indicator.
50079
50080 2008-04-15  Bruno Haible  <bruno@clisp.org>
50081
50082         * lib/logl.c (logl): Remove unused variables.
50083
50084 2008-04-15  Bruno Haible  <bruno@clisp.org>
50085
50086         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
50087         fails.
50088
50089 2008-04-15  Bruno Haible  <bruno@clisp.org>
50090
50091         * lib/trim.c (trim2): Fix argument of isspace() macro.
50092
50093 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
50094
50095         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
50096         to 0.
50097         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
50098
50099 2008-04-14  Bruno Haible  <bruno@clisp.org>
50100
50101         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
50102         AC_LANG_PROGRAM argument.
50103         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
50104         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
50105         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
50106         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
50107         * m4/math_h.m4 (gl_MATH_H): Likewise.
50108         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
50109         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
50110         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
50111         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
50112         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
50113         * m4/regex.m4 (gl_REGEX): Likewise.
50114         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
50115         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
50116         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
50117         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
50118         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
50119         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
50120         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
50121         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
50122
50123 2008-04-14  Jim Meyering  <meyering@redhat.com>
50124
50125         test-strtod: fix typos: s/abs/fabs/
50126         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
50127
50128 2008-04-13  Bruno Haible  <bruno@clisp.org>
50129
50130         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
50131         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
50132         module is also used and while not building the reloc-wrapper.
50133
50134 2008-04-13  Bruno Haible  <bruno@clisp.org>
50135
50136         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
50137
50138 2008-04-13  Bruno Haible  <bruno@clisp.org>
50139
50140         Fix AIX compilation failure introduced on 2008-04-02.
50141         * tests/test-frexp.c (exp): Undefine before redefining.
50142         * tests/test-frexpl.c (exp): Likewise.
50143
50144 2008-04-13  Bruno Haible  <bruno@clisp.org>
50145
50146         Work around a HP-UX stdio bug.
50147         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
50148         * tests/test-ftello.c (main): Likewise.
50149         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
50150         * doc/posix-functions/ftello.texi: Likewise.
50151
50152 2008-04-13  Bruno Haible  <bruno@clisp.org>
50153
50154         Make test-signbit pass on HP-UX/hppa.
50155         * tests/test-signbit.c (minus_zerol): New variable.
50156         (test_signbitl): Use it.
50157
50158 2008-04-13  Bruno Haible  <bruno@clisp.org>
50159
50160         Make truncl work on OSF/1 4.0.
50161         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
50162         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
50163         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
50164         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
50165         HAVE_DECL_TRUNCL.
50166         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
50167         HAVE_DECL_TRUNCL.
50168         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
50169
50170 2008-04-13  Bruno Haible  <bruno@clisp.org>
50171
50172         * lib/unictype.h: Remove trailing comma from enumeration definitions.
50173
50174 2008-04-13  Bruno Haible  <bruno@clisp.org>
50175
50176         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
50177         expression, so as to avoid HP-UX 11 cc compiler bug.
50178
50179 2008-04-13  Bruno Haible  <bruno@clisp.org>
50180
50181         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
50182
50183 2008-04-13  Bruno Haible  <bruno@clisp.org>
50184
50185         * lib/git-merge-changelog.c: Remove empty declaration outside of
50186         functions.
50187
50188 2008-04-13  Bruno Haible  <bruno@clisp.org>
50189
50190         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
50191
50192 2008-04-13  Bruno Haible  <bruno@clisp.org>
50193
50194         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
50195         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
50196         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
50197         also if it exists but lacks definitions of the SHUT_* macros.
50198         * modules/sys_socket (Description): Update.
50199         Reported by Elbert Pol <e.pol@chello.nl>.
50200
50201 2008-04-13  Bruno Haible  <bruno@clisp.org>
50202
50203         * lib/localcharset.c (OS2): Don't redefine if already defined.
50204         Reported by Elbert Pol <e.pol@chello.nl>.
50205
50206 2008-04-13  Bruno Haible  <bruno@clisp.org>
50207
50208         * lib/binary-io.h [__EMX__]: Include <io.h>.
50209         Reported by Elbert Pol <e.pol@chello.nl>.
50210
50211 2008-04-12  Bruno Haible  <bruno@clisp.org>
50212
50213         * lib/fpucw.h: Enable the definitions also for x86_64.
50214         Needed for NetBSD/x86_64.
50215         Reported by Thomas Klausner <tk@giga.or.at>.
50216
50217 2008-04-12  Bruno Haible  <bruno@clisp.org>
50218
50219         * tests/test-strtod.c: Include isnand.h.
50220         (main): Use isnand instead of isnan.
50221         Reported by Jim Meyering.
50222
50223 2008-04-12  Bruno Haible  <bruno@clisp.org>
50224
50225         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
50226         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
50227
50228 2008-04-12  Jim Meyering  <meyering@redhat.com>
50229
50230         * m4/math_h.m4 (gl_MATH_H): Fix typos.
50231
50232 2008-04-12  Bruno Haible  <bruno@clisp.org>
50233
50234         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
50235         Reported by Elbert Pol <e.pol@chello.nl>.
50236
50237 2008-04-12  Eric Blake  <ebb9@byu.net>
50238
50239         Work around Solaris 10 math.h bug.
50240         * m4/math_h.m4 (gl_MATH_H): Check for bug.
50241         (gl_MATH_H_DEFAULTS): Set up default.
50242         * modules/math (Makefile.am): Replace new indicators.
50243         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
50244         * tests/test-math.c (main): Test this.
50245         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
50246         * doc/posix-headers/math.texi (math.h): Mention bug.
50247         Reported by Nelson H. F. Beebe and Jim Meyering.
50248
50249 2008-04-11  Bruno Haible  <bruno@clisp.org>
50250
50251         Adapt to future versions of Apple GCC.
50252         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
50253         Reported by Peter O'Gorman <peter@pogma.com>.
50254
50255 2008-04-11  Bruno Haible  <bruno@clisp.org>
50256
50257         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
50258
50259 2008-04-11  Bruno Haible  <bruno@clisp.org>
50260
50261         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
50262
50263         * modules/getaddrinfo-tests (Makefile.am): Define
50264         test_getaddrinfo_LDADD.
50265
50266 2008-04-11  Bruno Haible  <bruno@clisp.org>
50267
50268         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
50269         (init): Fix syntax error.
50270         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
50271         is declared.
50272
50273 2008-04-11  Bruno Haible  <bruno@clisp.org>
50274
50275         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
50276         * modules/glob (Depends-on): Add stdbool.
50277
50278 2008-04-11  Bruno Haible  <bruno@clisp.org>
50279
50280         * lib/trim.c: Include <string.h>.
50281
50282 2008-04-11  Eric Blake  <ebb9@byu.net>
50283
50284         Avoid compile failure on OS/2.
50285         * lib/regex_internal.h (internal_function): Disable optimization
50286         on OS/2 (__EMX__), where it caused compiler error.
50287         Reported by Elbert Pol.
50288
50289 2008-04-11  Bruno Haible  <bruno@clisp.org>
50290
50291         Flush the standard error stream before aborting. Needed on mingw.
50292         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
50293         * tests/test-array_list.c (ASSERT): Likewise.
50294         * tests/test-array_oset.c (ASSERT): Likewise.
50295         * tests/test-avltree_list.c (ASSERT): Likewise.
50296         * tests/test-avltree_oset.c (ASSERT): Likewise.
50297         * tests/test-avltreehash_list.c (ASSERT): Likewise.
50298         * tests/test-binary-io.c (ASSERT): Likewise.
50299         * tests/test-byteswap.c (ASSERT): Likewise.
50300         * tests/test-c-ctype.c (ASSERT): Likewise.
50301         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
50302         * tests/test-c-strcasestr.c (ASSERT): Likewise.
50303         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
50304         * tests/test-c-strstr.c (ASSERT): Likewise.
50305         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
50306         * tests/test-canonicalize.c (ASSERT): Likewise.
50307         * tests/test-carray_list.c (ASSERT): Likewise.
50308         * tests/test-ceilf1.c (ASSERT): Likewise.
50309         * tests/test-ceilf2.c (ASSERT): Likewise.
50310         * tests/test-ceill.c (ASSERT): Likewise.
50311         * tests/test-count-one-bits.c (ASSERT): Likewise.
50312         * tests/test-fbufmode.c (ASSERT): Likewise.
50313         * tests/test-fflush2.c (ASSERT): Likewise.
50314         * tests/test-floorf1.c (ASSERT): Likewise.
50315         * tests/test-floorf2.c (ASSERT): Likewise.
50316         * tests/test-floorl.c (ASSERT): Likewise.
50317         * tests/test-fopen.c (ASSERT): Likewise.
50318         * tests/test-fpending.c (ASSERT): Likewise.
50319         * tests/test-fprintf-posix.c (ASSERT): Likewise.
50320         * tests/test-fpurge.c (ASSERT): Likewise.
50321         * tests/test-freadable.c (ASSERT): Likewise.
50322         * tests/test-freadahead.c (ASSERT): Likewise.
50323         * tests/test-freading.c (ASSERT): Likewise.
50324         * tests/test-freadptr.c (ASSERT): Likewise.
50325         * tests/test-freadptr2.c (ASSERT): Likewise.
50326         * tests/test-freadseek.c (ASSERT): Likewise.
50327         * tests/test-freopen.c (ASSERT): Likewise.
50328         * tests/test-frexp.c (ASSERT): Likewise.
50329         * tests/test-frexpl.c (ASSERT): Likewise.
50330         * tests/test-fseek.c (ASSERT): Likewise.
50331         * tests/test-fseeko.c (ASSERT): Likewise.
50332         * tests/test-fstrcmp.c (ASSERT): Likewise.
50333         * tests/test-ftell.c (ASSERT): Likewise.
50334         * tests/test-ftello.c (ASSERT): Likewise.
50335         * tests/test-func.c (ASSERT): Likewise.
50336         * tests/test-fwritable.c (ASSERT): Likewise.
50337         * tests/test-fwriting.c (ASSERT): Likewise.
50338         * tests/test-getdelim.c (ASSERT): Likewise.
50339         * tests/test-getline.c (ASSERT): Likewise.
50340         * tests/test-i-ring.c (ASSERT): Likewise.
50341         * tests/test-iconv-utf.c (ASSERT): Likewise.
50342         * tests/test-iconv.c (ASSERT): Likewise.
50343         * tests/test-isfinite.c (ASSERT): Likewise.
50344         * tests/test-isnand.c (ASSERT): Likewise.
50345         * tests/test-isnanf.c (ASSERT): Likewise.
50346         * tests/test-isnanl.h (ASSERT): Likewise.
50347         * tests/test-ldexpl.c (ASSERT): Likewise.
50348         * tests/test-linked_list.c (ASSERT): Likewise.
50349         * tests/test-linkedhash_list.c (ASSERT): Likewise.
50350         * tests/test-localename.c (ASSERT): Likewise.
50351         * tests/test-lseek.c (ASSERT): Likewise.
50352         * tests/test-mbscasecmp.c (ASSERT): Likewise.
50353         * tests/test-mbscasestr1.c (ASSERT): Likewise.
50354         * tests/test-mbscasestr2.c (ASSERT): Likewise.
50355         * tests/test-mbscasestr3.c (ASSERT): Likewise.
50356         * tests/test-mbscasestr4.c (ASSERT): Likewise.
50357         * tests/test-mbschr.c (ASSERT): Likewise.
50358         * tests/test-mbscspn.c (ASSERT): Likewise.
50359         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
50360         * tests/test-mbspbrk.c (ASSERT): Likewise.
50361         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
50362         * tests/test-mbsrchr.c (ASSERT): Likewise.
50363         * tests/test-mbsspn.c (ASSERT): Likewise.
50364         * tests/test-mbsstr1.c (ASSERT): Likewise.
50365         * tests/test-mbsstr2.c (ASSERT): Likewise.
50366         * tests/test-mbsstr3.c (ASSERT): Likewise.
50367         * tests/test-memchr2.c (ASSERT): Likewise.
50368         * tests/test-memmem.c (ASSERT): Likewise.
50369         * tests/test-open.c (ASSERT): Likewise.
50370         * tests/test-printf-frexp.c (ASSERT): Likewise.
50371         * tests/test-printf-frexpl.c (ASSERT): Likewise.
50372         * tests/test-printf-posix.c (ASSERT): Likewise.
50373         * tests/test-quotearg.c (ASSERT): Likewise.
50374         * tests/test-rbtree_list.c (ASSERT): Likewise.
50375         * tests/test-rbtree_oset.c (ASSERT): Likewise.
50376         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
50377         * tests/test-round1.c (ASSERT): Likewise.
50378         * tests/test-roundf1.c (ASSERT): Likewise.
50379         * tests/test-roundl.c (ASSERT): Likewise.
50380         * tests/test-signbit.c (ASSERT): Likewise.
50381         * tests/test-sleep.c (ASSERT): Likewise.
50382         * tests/test-snprintf-posix.c (ASSERT): Likewise.
50383         * tests/test-snprintf.c (ASSERT): Likewise.
50384         * tests/test-sprintf-posix.c (ASSERT): Likewise.
50385         * tests/test-stat-time.c (ASSERT): Likewise.
50386         * tests/test-strcasestr.c (ASSERT): Likewise.
50387         * tests/test-strerror.c (ASSERT): Likewise.
50388         * tests/test-striconv.c (ASSERT): Likewise.
50389         * tests/test-striconveh.c (ASSERT): Likewise.
50390         * tests/test-striconveha.c (ASSERT): Likewise.
50391         * tests/test-strsignal.c (ASSERT): Likewise.
50392         * tests/test-strstr.c (ASSERT): Likewise.
50393         * tests/test-strtod.c (ASSERT): Likewise.
50394         * tests/test-trunc1.c (ASSERT): Likewise.
50395         * tests/test-trunc2.c (ASSERT): Likewise.
50396         * tests/test-truncf1.c (ASSERT): Likewise.
50397         * tests/test-truncf2.c (ASSERT): Likewise.
50398         * tests/test-truncl.c (ASSERT): Likewise.
50399         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
50400         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
50401         * tests/test-vasnprintf.c (ASSERT): Likewise.
50402         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
50403         * tests/test-vasprintf.c (ASSERT): Likewise.
50404         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
50405         * tests/test-vprintf-posix.c (ASSERT): Likewise.
50406         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
50407         * tests/test-vsnprintf.c (ASSERT): Likewise.
50408         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
50409         * tests/test-wcwidth.c (ASSERT): Likewise.
50410         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
50411         * tests/test-xprintf-posix.c (ASSERT): Likewise.
50412         * tests/test-xvasprintf.c (ASSERT): Likewise.
50413         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
50414         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
50415         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
50416         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
50417         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
50418         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
50419         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
50420         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
50421         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
50422         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
50423         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
50424         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
50425         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
50426         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
50427         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
50428         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
50429         * tests/unictype/test-block_list.c (ASSERT): Likewise.
50430         * tests/unictype/test-block_of.c (ASSERT): Likewise.
50431         * tests/unictype/test-block_test.c (ASSERT): Likewise.
50432         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
50433         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
50434         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
50435         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
50436         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
50437         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
50438         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
50439         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
50440         * tests/unictype/test-combining.c (ASSERT): Likewise.
50441         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
50442         * tests/unictype/test-digit.c (ASSERT): Likewise.
50443         * tests/unictype/test-mirror.c (ASSERT): Likewise.
50444         * tests/unictype/test-numeric.c (ASSERT): Likewise.
50445         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
50446         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
50447         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
50448         * tests/unictype/test-scripts.c (ASSERT): Likewise.
50449         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
50450         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
50451         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
50452         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
50453         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
50454         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
50455         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
50456         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
50457         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
50458         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
50459         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
50460         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
50461         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
50462         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
50463         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
50464         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
50465         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
50466         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
50467         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
50468         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
50469         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
50470         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
50471         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
50472         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
50473         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
50474         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
50475         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
50476         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
50477         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
50478         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
50479         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
50480         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
50481         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
50482         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
50483         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
50484         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
50485         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
50486         Reported by Eric Blake.
50487
50488 2008-04-11  Bruno Haible  <bruno@clisp.org>
50489
50490         * lib/wchar.in.h: Tweak comment.
50491
50492 2008-04-11  Bruno Haible  <bruno@clisp.org>
50493
50494         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
50495         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
50496         gl_COMMON.
50497         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
50498
50499 2008-04-11  Bruno Haible  <bruno@clisp.org>
50500
50501         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
50502
50503 2008-04-11  Simon Josefsson  <simon@josefsson.org>
50504
50505         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
50506         of attempting to use non-existing /dev/*random.  Based on patch
50507         from Adam Strzelecki <ono@java.pl> in
50508         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
50509
50510 2008-04-08  Bruno Haible  <bruno@clisp.org>
50511
50512         Add tentative support for emx+gcc.
50513         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
50514         * lib/fpurge.c (fpurge): Likewise.
50515         * lib/freadable.c (freadable): Likewise.
50516         * lib/freadahead.c (freadahead): Likewise.
50517         * lib/freading.c (freading): Likewise.
50518         * lib/freadptr.c (freadptr): Likewise.
50519         * lib/freadseek.c (freadptrinc): Likewise.
50520         * lib/fseeko.c (rpl_fseeko): Likewise.
50521         * lib/fseterr.c (fseterr): Likewise.
50522         * lib/fwritable.c (fwritable): Likewise.
50523         * lib/fwriting.c (fwriting): Likewise.
50524         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
50525
50526 2008-04-09  Eric Blake  <ebb9@byu.net>
50527
50528         Avoid some autoconf warnings.
50529         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
50530         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
50531         * m4/afs.m4 (gl_AFS): Likewise.
50532         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
50533         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
50534         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
50535         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
50536         (gl_INTEGER_TYPE_SUFFIX): Likewise.
50537         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
50538         (AC_CHECK_DECLS_ONCE): Likewise.
50539         Rename file...
50540         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
50541         gnulib-tool requires autoconf 2.59 or better.
50542         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
50543
50544 2008-04-08  Eric Blake  <ebb9@byu.net>
50545
50546         Use 'git describe --match' if present (added in git 1.5.5).
50547         * build-aux/git-version-gen: Limit result to tags that match 'v*'
50548         if possible.
50549
50550 2008-04-08  Bruno Haible  <bruno@clisp.org>
50551
50552         Add tentative support for OpenServer.
50553         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
50554         _ptr, _cnt.
50555         * lib/fpurge.c (fpurge): Likewise.
50556         * lib/freadable.c (freadable): Likewise.
50557         * lib/freadahead.c (freadahead): Likewise.
50558         * lib/freading.c (freading): Likewise.
50559         * lib/freadptr.c (freadptr): Likewise.
50560         * lib/freadseek.c (freadptrinc): Likewise.
50561         * lib/fseeko.c (rpl_fseeko): Likewise.
50562         * lib/fseterr.c (fseterr): Likewise.
50563         * lib/fwritable.c (fwritable): Likewise.
50564         * lib/fwriting.c (fwriting): Likewise.
50565         Reported by Roger Cornelius <rac@tenzing.org> and
50566         Brian K. White <brian@aljex.com>.
50567
50568 2008-04-06  Jim Meyering  <meyering@redhat.com>
50569
50570         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
50571
50572 2008-04-06  Bruno Haible  <bruno@clisp.org>
50573
50574         Avoid possible error with non-ASCII bytes in UTF-8 locales.
50575         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
50576         * tests/test-printf-posix.sh: Likewise.
50577         * tests/test-vfprintf-posix.sh: Likewise.
50578         * tests/test-vprintf-posix.sh: Likewise.
50579         * tests/test-xprintf-posix.sh: Likewise.
50580
50581 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50582
50583         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
50584         hide error from 'ls', needed on OS/2.
50585         Report by Elbert Pol <elbert.pol@gmail.com>.
50586
50587 2008-04-04  Eric Blake  <ebb9@byu.net>
50588
50589         Make test-fseeko.c failures meaningful.
50590         * tests/test-fseeko.c: Print line number on failure.
50591         * tests/test-fseek.c: Likewise.
50592         Reported by Nelson H. F. Beebe.
50593
50594         Improve strtod bug detection check.
50595         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
50596         required for Solaris 10.
50597         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
50598
50599 2008-04-04  Bruno Haible  <bruno@clisp.org>
50600
50601         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
50602         by m4/setenv.m4.
50603
50604 2008-04-03  Eric Blake  <ebb9@byu.net>
50605
50606         Ensure sane .version contents.
50607         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
50608         version string.
50609         * build-aux/git-version-gen: Improve documentation.
50610
50611         Make GNU make output nicer.
50612         * top/GNUmakefile [!_have-Makefile]: Add dependency on
50613         MAKECMDGOALS to enforce message for all command line targets.  Set
50614         srcdir for use in maint.mk.
50615
50616         Another maintainer tweak.
50617         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
50618         a target that regenerates version.
50619
50620 2008-04-03  Jim Meyering  <meyering@redhat.com>
50621
50622         vc-list-files: don't cause coreutils "make po-check" failure
50623         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
50624
50625 2008-04-03  Eric Blake  <ebb9@byu.net>
50626
50627         Allow VPATH usage of vc-list-files.
50628         * build-aux/vc-list-files (scriptversion): Add timestamp.
50629         (options): Add --help, --version, -C.
50630         (CVS): Support installed cvsu.
50631
50632 2008-04-02  Bruno Haible  <bruno@clisp.org>
50633
50634         Avoid some "statement with no effect" warnings from gcc.
50635         * tests/test-wctype.c (main): Explicitly ignore unused values.
50636         Reported by Jim Meyering.
50637
50638 2008-04-02  Jim Meyering  <meyering@redhat.com>
50639
50640         Avoid some warnings from "gcc -Wshadow".
50641         * tests/test-frexp.c (exp): Define to a different identifier.
50642         * tests/test-frexpl.c (exp): Likewise.
50643
50644 2008-04-03  Jim Meyering  <meyering@redhat.com>
50645
50646         bootstrap: remove dangling *.[ch] symlinks from lib
50647         * build-aux/bootstrap [dangling symlink removal]: Move find's
50648         -depth option to precede all others, to avoid a warning.
50649         Remove *.[ch] files too, and from "$source_base" (usually lib/).
50650
50651 2008-04-02  Bruno Haible  <bruno@clisp.org>
50652
50653         Avoid some warnings from "gcc -Wshadow".
50654         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
50655         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
50656         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
50657         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
50658         Reported by Jim Meyering.
50659
50660 2008-04-01  Bruno Haible  <bruno@clisp.org>
50661
50662         Fix test to work on IRIX 6.5 with cc.
50663         * tests/test-math.c (numeric_equal): New function.
50664         (main): Use it.
50665
50666 2008-04-01  Bruno Haible  <bruno@clisp.org>
50667
50668         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
50669
50670 2008-04-01  Bruno Haible  <bruno@clisp.org>
50671
50672         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
50673         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
50674         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
50675         (Depends-on): Remove math.
50676
50677         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
50678         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
50679         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
50680         (Depends-on): Remove math.
50681
50682         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
50683         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
50684         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
50685         (Depends-on): Remove math.
50686         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
50687         (Depends-on): Remove math.
50688
50689         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
50690         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
50691         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
50692         (Depends-on): Remove math.
50693         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
50694         (Depends-on): Remove math.
50695
50696         * tests/test-round1.c: Include nan.h.
50697         (main): Use NaNd instead of NAN.
50698         * modules/round-tests (Files): Add tests/nan.h.
50699
50700         * tests/test-trunc1.c: Include nan.h.
50701         (main): Use NaNd instead of NAN.
50702         * modules/trunc-tests (Files): Add tests/nan.h.
50703
50704         * tests/test-roundf1.c: Include nan.h.
50705         (main): Use NaNf instead of NAN.
50706         * modules/roundf-tests (Files): Add tests/nan.h.
50707
50708         * tests/test-truncf1.c: Include nan.h.
50709         (main): Use NaNf instead of NAN.
50710         * modules/truncf-tests (Files): Add tests/nan.h.
50711
50712         * tests/test-ceilf1.c: Include nan.h.
50713         (main): Use NaNf instead of NAN.
50714         * modules/ceilf-tests (Files): Add tests/nan.h.
50715
50716         * tests/test-floorf1.c: Include nan.h.
50717         (main): Use NaNf instead of NAN.
50718         * modules/floorf-tests (Files): Add tests/nan.h.
50719
50720         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
50721         (main): Use NaNf instead of NAN.
50722         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
50723
50724         * tests/test-isnand.c: Include nan.h instead of <math.h>.
50725         (main): Use NaNd instead of NAN.
50726         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
50727
50728         * tests/test-frexp.c: Include nan.h.
50729         (main): Use NaNd instead of NAN.
50730         * modules/frexp-tests (Files): Add tests/nan.h.
50731
50732         * lib/isnan.c: Don't include <math.h>.
50733         (FUNC): Don't use NAN macro.
50734         * modules/isnand-nolibm (Depends-on): Remove math.
50735         * modules/isnanf-nolibm (Depends-on): Remove math.
50736         * modules/isnanl (Depends-on): Remove math.
50737         * modules/isnanl-nolibm (Depends-on): Remove math.
50738
50739         * tests/nan.h: New file.
50740
50741 2008-04-01  Eric Blake  <ebb9@byu.net>
50742
50743         Fix typos.
50744         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
50745         values to be the right type.
50746
50747         For now, cater to gnulib strtod inaccuracies.
50748         * tests/test-strtod.c (main): Allow 1-ulp error on expected
50749         fractional results.  While not as nice from a QoI perspective, it
50750         is a quicker patch than correctly implementing decimal to binary
50751         rounding.
50752
50753 2008-03-31  Eric Blake  <ebb9@byu.net>
50754
50755         Guarantee a definition of NAN.
50756         * lib/math.in.h (NAN): Define if missing.
50757         * tests/test-math.c (main): Test it.
50758         * doc/posix-headers/math.texi (math.h): Document this.
50759         * lib/isnan.c (rpl_isnand): Use it.
50760         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
50761         * tests/test-floorf1.c (NaN): Likewise.
50762         * tests/test-frexp.c (NaN): Likewise.
50763         * tests/test-isnand.c (NaN): Likewise.
50764         * tests/test-isnanf.c (NaN): Likewise.
50765         * tests/test-round1.c (NaN): Likewise.
50766         * tests/test-roundf1.c (NaN): Likewise.
50767         * tests/test-snprintf-posix.h (NaN): Likewise.
50768         * tests/test-sprintf-posix.h (NaN): Likewise.
50769         * tests/test-trunc1.c (NaN): Likewise.
50770         * tests/test-truncf1.c (NaN): Likewise.
50771         * tests/test-vasnprintf-posix.c (NaN): Likewise.
50772         * tests/test-vasprintf-posix.c (NaN): Likewise.
50773         * modules/isnand-nolibm (Depends-on): Add math.
50774         * modules/isnanf-nolibm (Depends-on): Likewise.
50775         * modules/isnanl (Depends-on): Likewise.
50776         * modules/isnanl-nolibm (Depends-on): Likewise.
50777         * modules/snprintf-posix-tests (Depends-on): Likewise.
50778         * modules/sprintf-posix-tests (Depends-on): Likewise.
50779         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
50780         * modules/vsprintf-posix-tests (Depends-on): Likewise.
50781         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
50782         * modules/vasprintf-posix-tests (Depends-on): Likewise.
50783
50784 2008-03-31  Bruno Haible  <bruno@clisp.org>
50785
50786         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
50787         * doc/posix-functions/strtod.texi: Likewise.
50788
50789 2008-03-31  Bruno Haible  <bruno@clisp.org>
50790
50791         * tests/test-strtod.c (main): Don't use C99 syntax.
50792
50793 2008-03-31  Bruno Haible  <bruno@clisp.org>
50794
50795         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
50796         Reported by Eric Blake.
50797
50798 2008-03-31  Jim Meyering  <meyering@redhat.com>
50799
50800         Don't compare actual signbit return values.
50801         * tests/test-strtod.c (main): Rather, compare only their
50802         zero/non-zero nature.
50803
50804 2008-03-31  Eric Blake  <ebb9@byu.net>
50805
50806         More strtod documentation.
50807         * doc/posix-functions/strtod.texi (strtod): Interpret more test
50808         failures as distinct bugs.
50809
50810 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
50811
50812         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
50813         Problem reported by Erik Benada in
50814         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
50815
50816 2008-03-30  Bruno Haible  <bruno@clisp.org>
50817
50818         * tests/test-strtod.c: Add comments about which assertion fails on which
50819         platform.
50820         * doc/posix-functions/strtod.texi: Add info about many more platforms.
50821
50822 2008-03-30  Eric Blake  <ebb9@byu.net>
50823
50824         Test signbit behavior on zeros.
50825         * tests/test-signbit.c (test_signbitf): Add tests for zero.
50826         (test_signbitd, test_signbitl): Likewise.
50827
50828         More strtod touchups.
50829         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
50830         sign of negative underflow, for now.  Use .5, not .1.
50831         * doc/posix-functions/strtod.texi (strtod): Mention these
50832         limitations.
50833         Reported by Jim Meyering.
50834
50835 2008-03-30  Bruno Haible  <bruno@clisp.org>
50836
50837         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
50838         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
50839
50840 2008-03-30  Bruno Haible  <bruno@clisp.org>
50841
50842         Avoid failure when attempting to return empty iconv results on some
50843         platforms.
50844         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
50845         allocation, don't report ENOMEM when the resulting string is empty.
50846
50847 2008-03-30  Bruno Haible  <bruno@clisp.org>
50848
50849         Fix buffer overrun.
50850         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
50851         Don't consider the width for tmp_length. Check count against tmp_length
50852         before doing the padding. Ensure enough allocation during padding.
50853
50854 2008-03-30  Eric Blake  <ebb9@byu.net>
50855
50856         strtod touchups.
50857         * lib/strtod.c (strtod): Avoid compiler warnings.
50858         Reported by Jim Meyering.
50859
50860 2008-03-30  Bruno Haible  <bruno@clisp.org>
50861
50862         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
50863         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
50864         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
50865         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
50866         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
50867         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
50868         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
50869         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
50870
50871         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
50872         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
50873         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
50874         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
50875         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
50876         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
50877         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
50878         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
50879
50880         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
50881         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
50882         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
50883         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
50884         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
50885         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
50886         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
50887         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
50888
50889         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
50890         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
50891
50892         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
50893         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
50894
50895         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
50896         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
50897
50898         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
50899         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
50900         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
50901
50902         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
50903         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
50904         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
50905
50906         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
50907         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
50908         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
50909
50910         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
50911         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
50912         * modules/vasprintf (Depends-on): Add EOVERFLOW.
50913
50914         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
50915         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
50916         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
50917         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
50918         (Depends-on): Add EOVERFLOW.
50919         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
50920         (Depends-on): Add EOVERFLOW.
50921         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
50922         (Depends-on): Add EOVERFLOW.
50923         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
50924         (Depends-on): Add EOVERFLOW.
50925         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
50926         (Depends-on): Add EOVERFLOW.
50927         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
50928         (Depends-on): Add EOVERFLOW.
50929         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
50930         (Depends-on): Add EOVERFLOW.
50931         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
50932         (Depends-on): Add EOVERFLOW.
50933
50934         * lib/sprintf.c (EOVERFLOW): Remove fallback.
50935         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
50936         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
50937
50938         * lib/snprintf.c (EOVERFLOW): Remove fallback.
50939         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
50940         * modules/snprintf (Depends-on): Add EOVERFLOW.
50941
50942         * lib/poll.c (EOVERFLOW): Remove fallback.
50943         * modules/poll (Depends-on): Add EOVERFLOW.
50944
50945         * lib/getugroups.c (EOVERFLOW): Remove fallback.
50946         * modules/getugroups (Depends-on): Add EOVERFLOW.
50947
50948         * lib/getdelim.c (EOVERFLOW): Remove fallback.
50949         * modules/getdelim (Depends-on): Add EOVERFLOW.
50950
50951         * lib/ftell.c (EOVERFLOW): Remove fallback.
50952         * modules/ftell (Depends-on): Add EOVERFLOW.
50953
50954         * lib/fprintf.c (EOVERFLOW): Remove fallback.
50955         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
50956         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
50957
50958         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
50959
50960         * modules/EOVERFLOW-tests: New file.
50961         * tests/test-EOVERFLOW.c: New file.
50962
50963         * modules/EOVERFLOW: New file.
50964         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
50965
50966 2008-03-30  Bruno Haible  <bruno@clisp.org>
50967
50968         Fix bug introduced on 2007-06-10.
50969         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
50970         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
50971
50972 2008-03-30  Bruno Haible  <bruno@clisp.org>
50973
50974         Improve freadseek's efficiency after ungetc.
50975         * lib/freadseek.c: Include freadahead.h.
50976         (freadptrinc): New function, extracted from freadseek.
50977         (freadseek): Use it in a loop. Use freadahead to determine the number
50978         of loop iterations.
50979         * modules/freadseek (Depends-on): Add freadahead.
50980         (configure.ac): Require AC_C_INLINE.
50981
50982 2008-03-30  Bruno Haible  <bruno@clisp.org>
50983
50984         * lib/freadseek.c (freadseek): Don't ignore the return value of
50985         freadptr.
50986
50987 2008-03-29  Eric Blake  <ebb9@byu.net>
50988
50989         Add hex float support.
50990         * modules/strtod (Depends-on): Add c-ctype.
50991         (Link): Mention POW_LIB.
50992         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
50993         whitespace between 'e' and exponent.
50994         * tests/test-strtod.c (main): Enable hex float tests.
50995         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
50996         now provides.
50997
50998         Document various strtod bugs, with some fixes.
50999         * doc/posix-functions/strtod.texi (strtod): Document bugs with
51000         "-0x", "inf", "nan", and hex constants.
51001         * doc/posix-functions/atof.texi (atof): Likewise.
51002         * modules/stdlib (Makefile.am): Support strtod.
51003         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
51004         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
51005         detect additional strtod bugs.
51006         * lib/stdlib.in.h (rpl_strtod): Add declarations.
51007         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
51008         bool where appropriate.  Parse 'inf' and 'nan'.
51009         * tests/test-strtod.c: New file.
51010         * modules/strtod (Depends-on): Add stdbool, stdlib.
51011         (configure.ac): Turn on module indicator.
51012         * modules/strtod-tests: New module.
51013
51014 2008-03-29  Eric Blake  <ebb9@byu.net>
51015
51016         Fix ftell on mingw.
51017         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
51018         * modules/ftell-tests (Depends-on): Add binary-io.
51019         * modules/ftello-tests (Depends-on): Likewise.
51020         * tests/test-ftell.c (main): Enhance test to cover behavior after
51021         ungetc.  Enforce binary mode.
51022         * tests/test-ftello.c (main): Likewise.
51023
51024         Pass test-freadseek on cygwin.
51025         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
51026         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
51027         ungetc buffer.
51028
51029         * tests/test-fflush2.c (main): Fix typo.
51030
51031 2008-03-29  Bruno Haible  <bruno@clisp.org>
51032
51033         * tests/test-fflush2.c (main): Temporarily disable the contents of
51034         this test.
51035         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
51036         Reported by Eric Blake.
51037
51038 2008-03-28  Simon Josefsson  <simon@josefsson.org>
51039
51040         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
51041         (GC_SHA224_DIGEST_SIZE): Add.
51042
51043         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
51044         (gc_hash_digest_length): Likewise.
51045         (gc_hash_buffer): Likewise.
51046
51047 2008-03-25  Bruno Haible  <bruno@clisp.org>
51048
51049         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
51050         detail which gettext release to use.
51051         Reported by Simon Josefsson.
51052
51053 2008-03-26  Jim Meyering  <meyering@redhat.com>
51054
51055         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
51056         * modules/gnumakefile (clean-GNUmakefile): Also, use
51057         test ... && ... || : syntax rather than if-then ... fi.
51058
51059         gnumakefile: Don't double-quote-expand $(VPATH) value.
51060         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
51061
51062 2008-03-24  Eric Blake  <ebb9@byu.net>
51063
51064         Alter GNUmakefile to install into top directory.
51065         * modules/maintainer-makefile: Split, and add dependency...
51066         * modules/gnumakefile: to this new module.
51067         * build-aux/GNUmakefile: Move...
51068         * top/GNUmakefile: ...here.
51069         * build-aux/maint.mk: Move...
51070         * top/maint.mk: ...here.
51071         * MODULES.html.sh (Support for maintaining...): Document new
51072         module.
51073
51074 2008-03-23  Bruno Haible  <bruno@clisp.org>
51075
51076         * gnulib-tool: New options --vc-files, --no-vc-files.
51077         (func_usage): Document them.
51078         (vc_files): New variable.
51079         (func_import): Consider vc_files.
51080         (func_create_testdir): Set vc_files to empty.
51081         Suggested by Jim Meyering and Karl Berry.
51082
51083 2008-03-23  Bruno Haible  <bruno@clisp.org>
51084
51085         Fix regex compilation error on HP-UX 11.
51086         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
51087         * modules/regex (Files): Add m4/mbstate_t.m4.
51088         Reported by Ton Voon <ton.voon@altinity.com>.
51089
51090 2008-03-23  Bruno Haible  <bruno@clisp.org>
51091
51092         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
51093
51094 2008-03-23  Eric Blake  <ebb9@byu.net>
51095             Bruno Haible  <bruno@clisp.org>
51096
51097         Install files from top/ in the destination directory.
51098         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
51099         augmentation also for the files from top/.
51100         (func_import, func_create_testdir): Rewrite file names:
51101         top/filename -> filename.
51102
51103 2008-03-23  Bruno Haible  <bruno@clisp.org>
51104
51105         Tweak "gnulib --version" output.
51106         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
51107
51108 2008-03-23  Bruno Haible  <bruno@clisp.org>
51109
51110         Tweak "gnulib --version" output.
51111         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
51112         rather than contents of ChangeLog, when possible.
51113
51114 2008-03-21  Eric Blake  <ebb9@byu.net>
51115
51116         More --version tweaks.
51117         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
51118         date of last ChangeLog entry.
51119
51120 2008-03-21  Jim Meyering  <meyering@redhat.com>
51121
51122         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
51123
51124 2008-03-20  Eric Blake  <ebb9@byu.net>
51125
51126         VPATH fix.
51127         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
51128
51129 2008-03-20  Simon Josefsson  <simon@josefsson.org>
51130
51131         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
51132         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
51133
51134 2008-03-20  Eric Blake  <ebb9@byu.net>
51135
51136         Sync GNUmakefile with coreutils.
51137         * build-aux/GNUmakefile (have-Makefile): Rename...
51138         (_have-Makefile): ...to this, for namespace consideration.
51139         (GNUmakefile.cfg): Include, if present.
51140         (_autoreconf): Define a default.
51141         (_is-dist-target): New rule for rebuilds to pick up intra-release
51142         version.
51143         (maint-cfg.mk): Rename...
51144         (cfg.mk): ...to this.
51145
51146 2008-03-18  Jim Meyering  <meyering@redhat.com>
51147
51148         New script and module: mktempd
51149         * MODULES.html.sh (maint+release support): Add mktempd.
51150         * build-aux/mktempd: New file.
51151         * modules/mktempd: New file.
51152
51153 2008-03-15  Jim Meyering  <meyering@redhat.com>
51154
51155         Undo last change.
51156         * lib/sha1.c, lib/md5.c: 63 != ~63.
51157         Reported by Andreas Schwab.
51158
51159         sha1.c, md5.c: Hoist a redundant expression.
51160         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
51161         "ctx->buflen" only once, before calling *_process_block.
51162         * lib/md5.c (md5_process_bytes): Likewise.
51163
51164 2008-03-14  Eric Blake  <ebb9@byu.net>
51165
51166         Bump copyright year in files generated by gnulib-tool.
51167         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
51168         gnulib-tool, rather than hard-coding it.
51169
51170         Fix 'gnulib-tool --version' output to work with git.
51171         * gnulib-tool (func_gnulib_dir): New function, extracted from...
51172         (startup): ...here.
51173         (func_version): Use it to invoke git-version-gen, rather than
51174         relying on CVS keyword expansion.  Modernize wording.
51175         (cvsdatestamp, last_checkin_date, version): Kill unused
51176         variables.
51177
51178 2008-03-12  Jim Meyering  <meyering@redhat.com>
51179
51180         Recognize optional cast of the argument to free.
51181         * build-aux/useless-if-before-free: Update regexps.
51182
51183         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
51184
51185 2008-03-11  Bruno Haible  <bruno@clisp.org>
51186
51187         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
51188         by a single package.
51189         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
51190         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
51191         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
51192         Reported by Sam Steingold <sds@gnu.org>.
51193
51194 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
51195
51196         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
51197         repositories.
51198
51199 2008-03-11  Bruno Haible  <bruno@clisp.org>
51200
51201         Avoid conflicts between local macro definitions.
51202         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
51203         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
51204
51205 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
51206             Bruno Haible  <bruno@clisp.org>
51207
51208         Make va_copy work with some version of xlc on AIX 5.1.
51209         * lib/stdarg.in.h: New file.
51210         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
51211         On AIX, use a <stdarg.h> file substitute.
51212         * modules/stdarg (Files): Add lib/stdarg.in.h.
51213         (Depends-on): Add include_next.
51214         (Makefile.am): Build a stdarg.h substitute if requested.
51215         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
51216
51217 2008-03-10  Bruno Haible  <bruno@clisp.org>
51218
51219         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
51220         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
51221         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
51222
51223 2008-03-10  Bruno Haible  <bruno@clisp.org>
51224
51225         * modules/stdlib (Depends-on): Add include_next, remove
51226         absolute-header.
51227
51228 2008-03-09  Bruno Haible  <bruno@clisp.org>
51229
51230         * lib/freadahead.h (freadahead): Document more precisely.
51231         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
51232         the sum of both buffer sizes.
51233         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
51234         * NEWS: Document the change.
51235
51236 2008-03-09  Bruno Haible  <bruno@clisp.org>
51237
51238         Extend freadptr to return also the buffer size.
51239         * lib/freadptr.h (freadptr): Add sizep argument.
51240         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
51241         (freadptr): Add sizep argument. Determine buffer size like freadahead
51242         does.
51243         * tests/test-freadptr.c: Don't include freadahead.h.
51244         (main): Adapt for new calling convention of freadptr.
51245         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
51246         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
51247         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
51248         tests/test-freadptr2.sh.
51249         (Depends): Remove freadahead.
51250         (TESTS): Add test-freadptr2.sh.
51251         (check_PROGRAMS): Add test-freadptr2.
51252
51253 2008-03-09  Bruno Haible  <bruno@clisp.org>
51254
51255         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
51256         Report and solution by Simon Josefsson.
51257
51258 2008-03-06  Bruno Haible  <bruno@clisp.org>
51259
51260         Make fflush after ungetc work on BSD platforms.
51261         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
51262         * tests/test-fflush2.c: New file.
51263         * tests/test-fflush2.sh: New file.
51264         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
51265         tests/test-fflush2.c.
51266         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
51267         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
51268
51269 2008-03-06  Eric Blake  <ebb9@byu.net>
51270
51271         Likewise for ftello.
51272         * modules/ftello (Dependencies): Add extensions.
51273         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
51274
51275 2008-03-06  Bruno Haible  <bruno@clisp.org>
51276
51277         * modules/fseeko (Dependencies): Add extensions.
51278         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
51279         Needed on glibc systems.
51280
51281 2008-03-06  Bruno Haible  <bruno@clisp.org>
51282
51283         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
51284         email address.
51285         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
51286
51287 2008-03-06  Bruno Haible  <bruno@clisp.org>
51288
51289         * users.txt: Add libgnupdf.
51290
51291 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
51292
51293         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
51294         (Header File Substitutes, Function Substitutes,
51295         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
51296         (Build robot for gnulib): Fix typo.
51297
51298 2008-03-06  Bruno Haible  <bruno@clisp.org>
51299
51300         * doc/gnulib-tool.texi (VCS Issues): Small updates.
51301         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
51302
51303 2008-03-06  Bruno Haible  <bruno@clisp.org>
51304
51305         * doc/func.texi: New file, extracted from doc/gnulib.texi.
51306         * doc/gnulib.texi: Include it.
51307
51308 2008-03-06  Simon Josefsson  <simon@josefsson.org>
51309
51310         * modules/func (License): Change license to unlimited; there was
51311         no LGPL parts in the module anyway.
51312
51313 2008-03-06  Simon Josefsson  <simon@josefsson.org>
51314
51315         * modules/__func__: Renamed to modules/func.
51316         * modules/__func__-tests: Renamed to modules/func-tests.
51317         * tests/test-__func__.c: Renamed to tests/test-func.c.
51318         * m4/__func__.m4: Renamed to m4/func.m4.
51319         * doc/gnulib.texi (__func__): Section renamed to func.
51320         Suggested by Eric Blake <ebb9@byu.net>.
51321
51322 2008-03-06  Simon Josefsson  <simon@josefsson.org>
51323
51324         * doc/gnulib.texi (__func__): Use C99 terminology when talking
51325         about __func__.  Make example self-contained.  Suggested by Eric
51326         Blake <ebb9@byu.net>.
51327
51328         * tests/test-__func__.c (main): Avoid extraneous () around __func.
51329         Suggested by Eric Blake <ebb9@byu.net>.
51330
51331 2008-03-06  Simon Josefsson  <simon@josefsson.org>
51332
51333         * modules/__func__: New file.
51334         * modules/__func__-tests: New file.
51335         * tests/test-__func__.c: New file.
51336         * m4/__func__.m4: New file.
51337         * doc/gnulib.texi (__func__): Document __func__ module.
51338
51339 2008-03-05  Simon Josefsson  <simon@josefsson.org>
51340
51341         * modules/byteswap (License): Re-license as LGPLv2+.
51342
51343 2008-03-05  Simon Josefsson  <simon@josefsson.org>
51344
51345         * doc/Makefile: Add pdf target.
51346
51347 2008-03-05  Simon Josefsson  <simon@josefsson.org>
51348
51349         * modules/inline (License): Use 'unlimited', since there are only
51350         *.m4 files in this module.
51351
51352 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
51353             Bruno Haible  <bruno@clisp.org>
51354
51355         Add support for HP C 7.1 on OpenVMS 8.3.
51356         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
51357
51358 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
51359
51360         Update VMS specifics.
51361         * lib/getopt.c [VMS]: Remove include of unixlib.h.
51362
51363 2008-03-02  Jim Meyering  <meyering@redhat.com>
51364
51365         Remove the last dependency on the "free" module.
51366         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
51367         Reported by Bob Proulx.
51368
51369         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
51370
51371         Remove useless "if" tests before free.  Deprecate "free" module.
51372         * doc/posix-functions/free.texi: Mention that this
51373         module is no longer useful.
51374         * modules/free (Notice): Say this module is obsolete.
51375         * modules/readutmp (Depends-on): Remove free.
51376         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
51377         * lib/putenv.c (putenv): Likewise.
51378         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
51379         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
51380         * tests/test-c-strcasestr.c (main): Likewise.
51381         * tests/test-c-strstr.c (main): Likewise.
51382         * tests/test-mbscasestr1.c (main): Likewise.
51383         * tests/test-mbscasestr2.c (main): Likewise.
51384         * tests/test-mbsstr1.c (main): Likewise.
51385         * tests/test-mbsstr2.c (main): Likewise.
51386         * tests/test-memmem.c (main): Likewise.
51387         * tests/test-strcasestr.c (main): Likewise.
51388         * tests/test-striconv.c (main): Likewise.
51389         * tests/test-striconveh.c (main): Likewise.
51390         * tests/test-striconveha.c (main): Likewise.
51391         * tests/test-strstr.c (main): Likewise.
51392
51393         * build-aux/git-version-gen: Adjust a comment and the Usage string.
51394
51395         bootstrap: sync from coreutils again
51396         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
51397
51398 2008-03-01  Jim Meyering  <meyering@redhat.com>
51399
51400         bootstrap: sync from coreutils
51401         * build-aux/bootstrap (update_po_files): Copy a .po file into place
51402         also when the target doesn't exist.
51403
51404 2008-03-01  Eric Blake  <ebb9@byu.net>
51405
51406         Fix bugs in last patch.
51407         * lib/memchr2.c (memchr2): Fix typo.
51408         * tests/test-memchr2.c: Test previous bug, and don't use GNU
51409         extension.
51410         Reported by Bruce Korb.
51411
51412         New module 'memchr2'.
51413         * modules/memchr2: New file.
51414         * modules/memchr2-tests: Likewise.
51415         * lib/memchr2.h: Likewise.
51416         * lib/memchr2.c: Likewise, based on memchr.c.
51417         * tests/test-memchr2.c: New test.
51418         * MODULES.html.sh (String handling): Add memchr2.
51419
51420 2008-02-29  Bruno Haible  <bruno@clisp.org>
51421
51422         * modules/freadseek-tests: New file.
51423         * tests/test-freadseek.sh: New file.
51424         * tests/test-freadseek.c: New file.
51425
51426         New module 'freadseek'.
51427         * modules/freadseek: New file.
51428         * lib/freadseek.h: New file.
51429         * lib/freadseek.c: New file.
51430         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
51431
51432 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
51433
51434         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
51435         wydawca.
51436
51437         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
51438         program_invocation_name and program_invocation_short_name are
51439         present.
51440
51441 2008-02-28  Bruno Haible  <bruno@clisp.org>
51442
51443         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
51444         * tests/test-freadptr.sh: Also test non-seekable stdin.
51445
51446 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
51447
51448         * build-aux/bootstrap (source_base, m4_base)
51449         (doc_base, tests_base): New variables.
51450         (gnulib_tool_options): Do not hardcode base directories, use
51451         the above variables instead.
51452
51453 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
51454
51455         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
51456
51457 2008-02-28  Bruno Haible  <bruno@clisp.org>
51458
51459         * modules/freadptr-tests: New file.
51460         * tests/test-freadptr.sh: New file.
51461         * tests/test-freadptr.c: New file.
51462
51463         New module 'freadptr'.
51464         * modules/freadptr: New file.
51465         * lib/freadptr.h: New file.
51466         * lib/freadptr.c: New file.
51467         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
51468
51469 2008-02-26  Karl Berry  <karl@freefriends.org>
51470
51471         Sync from Libtool:
51472         * libltdl/argz.c (argz_add, argz_count): New functions.
51473         * libltdl/argz.in.h: Declare them.
51474         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
51475
51476 2008-02-22  Bruno Haible  <bruno@clisp.org>
51477
51478         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
51479         is a pointer type.  Needed for HP-UX 10.
51480         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
51481         * doc/posix-functions/gmtime_r.texi: Likewise.
51482         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
51483
51484 2008-02-24  Bruno Haible  <bruno@clisp.org>
51485
51486         * modules/environ-tests: New file.
51487         * tests/test-environ.c: New file.
51488
51489         New module 'environ'.
51490         * modules/environ: New file.
51491         * lib/unistd.in.h (environ): New declaration.
51492         * m4/environ.m4: New file.
51493         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
51494         after use.
51495         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
51496         HAVE_DECL_ENVIRON.
51497         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
51498         HAVE_DECL_ENVIRON.
51499         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
51500         wrong claim that 'environ' is missing on some systems.
51501         * modules/execute (Depends-on): Add environ.
51502         * lib/execute.c (environ): Remove fallback declaration.
51503         * modules/pipe (Depends-on): Add environ.
51504         * lib/pipe.c (environ): Remove fallback declaration.
51505         * modules/setenv (Depends-on): Add environ.
51506         * lib/setenv.c (environ): Remove fallback declaration.
51507         * modules/unsetenv (Depends-on): Add environ.
51508         * lib/unsetenv.c (environ): Remove fallback declaration.
51509         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
51510         m4/environ.m4.
51511         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
51512         (gl_PREREQ_UNSETENV): Likewise.
51513
51514 2008-02-24  Bruno Haible  <bruno@clisp.org>
51515
51516         * doc/posix-functions/environ.texi: Document the MacOS X problem.
51517
51518 2008-02-20  Bob Proulx  <bob@proulx.com>
51519
51520         Enable use of older two part flavor 'git describe'.
51521         * build-aux/git-version-gen: If using the older two part flavor of
51522         git version then recreate the third part now present in the
51523         newer three part flavor of git describe.
51524
51525 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
51526
51527         * lib/fts.c (fts_build): Typo correction to comment.
51528
51529 2008-02-17  Bruno Haible  <bruno@clisp.org>
51530
51531         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
51532         generating no-op conflicts.
51533
51534 2008-02-17  Bruno Haible  <bruno@clisp.org>
51535
51536         Speed up by 10%.
51537         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
51538         result_entries, rather than an index-based loop.
51539
51540 2008-02-17  Bruno Haible  <bruno@clisp.org>
51541
51542         Speed up by 25%.
51543         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
51544         'hashcode_cached'.
51545         (entry_create): New function.
51546         (entry_hashcode): Use the cached hashcode if possible.
51547         (read_changelog_file, try_split_merged_entry): Use entry_create.
51548
51549 2008-02-17  Bruno Haible  <bruno@clisp.org>
51550
51551         Speed up from O(n^2) to O(n) for long ChangeLog files.
51552         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
51553         (read_changelog_file): Change implementation of entries_reversed list
51554         to rbtreehash.
51555         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
51556
51557 2008-02-17  Bruno Haible  <bruno@clisp.org>
51558
51559         New option --split-merged-entry.
51560         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
51561         (find_paragraph_end, try_split_merged_entry): New functions.
51562         (long_options): Add option --split-merged-entry.
51563         (usage): Document option --split-merged-entry.
51564         (main): Implement option --split-merged-entry.
51565         Reported by Eric Blake.
51566
51567 2008-02-17  Bruno Haible  <bruno@clisp.org>
51568
51569         * lib/git-merge-changelog.c: Include c-strstr.h.
51570         (main): Support the "git pull --rebase" situation.
51571         * modules/git-merge-changelog (Depends-on): Add c-strstr.
51572         Reported by Eric Blake.
51573
51574 2008-02-16  Eric Blake  <ebb9@byu.net>
51575
51576         Avoid doubling \ in common case of "c-maybe" quoting style.
51577         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
51578         eliding outer quotes.
51579         * lib/quotearg.h: Document this.
51580         * tests/test-quotearg.c (result_strings, inputs, results_g)
51581         (flag_results, locale_results): Test it by adding a new string to
51582         each test group.
51583         (compare_strings): Test new string.
51584
51585 2008-02-13  Eric Blake  <ebb9@byu.net>
51586
51587         Avoid trigraph quoting in default output.
51588         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
51589         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
51590         unless explicitly requested.
51591         * tests/test-quotearg.c (flag_results, main): Add additional tests.
51592
51593 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
51594
51595         Don't rely on signed integer overflowing to negative value.
51596         * lib/getugroups.c (getugroups): Include <limits.h>.
51597         Instead, compare against INT_MAX, and increment only if the test passes.
51598
51599 2008-02-13  Jim Meyering  <meyering@redhat.com>
51600         and Eric Blake  <ebb9@byu.net>
51601
51602         Avoid shadowing warning and compile errors on Linux.
51603         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
51604         forwarding macros on Linux.
51605         (dcgettext): Define a stub, for Linux.
51606         (results_g, main): Avoid warnings.
51607
51608 2008-02-12  Eric Blake  <ebb9@byu.net>
51609
51610         Silence warning in last patch.
51611         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
51612
51613         Quotearg part 4: add tests, fix c-maybe colon quoting.
51614         * lib/quotearg.h: Improve documentation.
51615         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
51616         escapes when adding outer quotes.  When quoting trigraphs, use
51617         valid C notation.  When quoting NUL, omit extra characters if next
51618         character is not digit.  Alter prototype.
51619         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
51620         callers.
51621         * modules/quotearg-tests: New module.
51622         * tests/test-quotearg.c: New test.
51623
51624 2008-02-07  Eric Blake  <ebb9@byu.net>
51625
51626         Quotearg part 3: add flag to control outer quote elision.
51627         * lib/quotearg.h (c_maybe_quoting_style): New style.
51628         (enum quoting_flags): Better documentation of flags.
51629         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
51630         c-maybe style.
51631         (quotearg_buffer_restyled): Handle new flag to elide outer
51632         quotes.
51633
51634         Quotearg part 2: add flag that can control NUL elision.
51635         * lib/quotearg.h (set_quoting_flags): New prototype.
51636         * lib/quotearg.c (struct quoting_options): Add flag field.
51637         (set_quoting_flags): New function.
51638         (quotearg_buffer_restyled): Add flags parameter.
51639         (quotearg_alloc_mem): Set the flag if length cannot be returned.
51640         (quotearg_n_options): Set the flag, since length cannot be
51641         returned.
51642         (quoting_options_from_style): Default flags correctly.
51643
51644         Quotearg part 1: more wrappers, restore quotearg_char state.
51645         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
51646         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
51647         (quotearg_colon_mem): New wrappers.
51648         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
51649         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
51650         functions.
51651         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
51652         (quotearg_colon_mem): New functions.
51653
51654 2008-02-11  Bruno Haible  <bruno@clisp.org>
51655
51656         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
51657         library in the current directory: it does not work with parallel make.
51658         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51659
51660 2008-02-11  Bruno Haible  <bruno@clisp.org>
51661
51662         * .gitattributes: New file.
51663
51664 2008-02-11  Jim Meyering  <meyering@redhat.com>
51665
51666         useless-if-before-free: Fix reversed exit values.
51667         * build-aux/useless-if-before-free: Use correct values
51668         for EXIT_MATCH and EXIT_NO_MATCH.
51669
51670         * build-aux/useless-if-before-free: Close stdout carefully.
51671
51672 2008-02-10  Bruno Haible  <bruno@clisp.org>
51673
51674         New module 'git-merge-changelog'.
51675         * modules/git-merge-changelog: New file.
51676         * lib/git-merge-changelog.c: New file.
51677
51678 2008-02-10  Jim Meyering  <meyering@redhat.com>
51679
51680         useless-if-before-free: New option: --list (-l).
51681
51682         useless-if-before-free: Don't exit immediately upon open failure.
51683         * build-aux/useless-if-before-free: Exit 2 for errors.
51684         Upon failure to open a file, don't exit immediately.
51685         Rather, just warn and continue with any remaining files.
51686
51687 2008-02-10  Bruno Haible  <bruno@clisp.org>
51688
51689         New abstract list operation 'node_set_value'.
51690         * lib/gl_list.h (gl_list_node_set_value): New function.
51691         (struct gl_list_implementation): New field node_set_value.
51692         * lib/gl_list.c (gl_list_node_set_value): New function.
51693         * lib/gl_array_list.c (gl_array_node_set_value): New function.
51694         (gl_array_list_implementation): Update.
51695         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
51696         (gl_carray_list_implementation): Update.
51697         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
51698         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
51699         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
51700         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
51701         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
51702         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
51703         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
51704         Update.
51705         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
51706         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
51707         (gl_sublist_list_implementation): Update.
51708
51709 2008-02-10  Bruno Haible  <bruno@clisp.org>
51710
51711         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
51712         Needed when ELEMENT is #defined to 'some_type *'.
51713
51714 2008-02-10  Jim Meyering  <meyering@redhat.com>
51715
51716         New script and module: useless-if-before-free
51717         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
51718         * build-aux/useless-if-before-free: New file.
51719         * modules/useless-if-before-free: New file.
51720
51721         * build-aux/gitlog-to-changelog: Use committer date, not author date.
51722
51723         xstrtol_error: Fix typo.
51724         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
51725         s/exit_failure/exit_status/.
51726
51727 2008-02-09  Jim Meyering  <meyering@redhat.com>
51728
51729         New script and module: gitlog-to-changelog
51730         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
51731         * modules/gitlog-to-changelog: New file.
51732         * build-aux/gitlog-to-changelog: New file.
51733
51734 2008-02-08  Jim Meyering  <meyering@redhat.com>
51735
51736         Avoid two "parameter unused" warnings.
51737         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
51738         Mark "st" as used.
51739
51740         Use "git COMMAND", not "git-COMMAND".
51741         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
51742         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
51743         * build-aux/git-version-gen: Use "git status", not "git-status".
51744
51745 2008-02-07  Bruno Haible  <bruno@clisp.org>
51746
51747         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
51748         Avoids a crash on Windows Vista.
51749         Reported by Adam Strzelecki <ono@java.pl> via
51750         Simon Josefsson <simon@josefsson.org>.
51751
51752 2008-02-06  Bruno Haible  <bruno@clisp.org>
51753
51754         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
51755         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
51756         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
51757         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
51758         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
51759         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
51760         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
51761         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
51762         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
51763         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
51764         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
51765         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
51766         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
51767         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
51768         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
51769         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
51770         left-adjust flag.
51771         * tests/test-snprintf-posix.h (test_function): Likewise.
51772         * tests/test-sprintf-posix.h (test_function): Likewise.
51773         * tests/test-vasprintf-posix.c (test_function): Likewise.
51774         * doc/posix-functions/fprintf.texi: Update.
51775         * doc/posix-functions/printf.texi: Update.
51776         * doc/posix-functions/snprintf.texi: Update.
51777         * doc/posix-functions/sprintf.texi: Update.
51778         * doc/posix-functions/vfprintf.texi: Update.
51779         * doc/posix-functions/vprintf.texi: Update.
51780         * doc/posix-functions/vsnprintf.texi: Update.
51781         * doc/posix-functions/vsprintf.texi: Update.
51782         Reported by Peter Fales <psfales@alcatel-lucent.com>.
51783
51784 2008-02-06  Bruno Haible  <bruno@clisp.org>
51785
51786         Fix bug introduced on 2008-01-26.
51787         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
51788
51789 2008-02-06  Bruno Haible  <bruno@clisp.org>
51790
51791         Fix bug introduced on 2007-06-10.
51792         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
51793         !NEED_PRINTF_FLAG_ZERO.
51794
51795 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
51796
51797         getloadavg: use libperfstat on AIX5
51798         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
51799
51800 2008-02-03  Bruno Haible  <bruno@clisp.org>
51801
51802         * lib/diffseq.h: Add comments about required #includes.
51803         Reported by Michael Biggs <gnulib@doubleplum.net>.
51804
51805 2008-02-01  Bruno Haible  <bruno@clisp.org>
51806
51807         * users.txt: Add gnuit.
51808
51809 2008-01-31  Bruno Haible  <bruno@clisp.org>
51810
51811         * lib/md4.c (set_uint32): Mark as inline.
51812         * lib/md5.c (set_uint32): Likewise.
51813         * lib/sha1.c (set_uint32): Likewise.
51814         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
51815         * m4/md5.m4 (gl_MD5): Likewise.
51816         * m4/sha1.m4 (gl_SHA1): Likewise.
51817
51818 2008-01-31  Jim Meyering  <meyering@redhat.com>
51819
51820         Use "sizeof VAR", rather than a literal "4".
51821         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
51822         * lib/md4.c (md4_read_ctx): Likewise.
51823         * lib/sha1.c (sha1_read_ctx): Likewise.
51824
51825 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51826
51827         * tests/test-sha1.c: New file, based on test-md5.c.
51828
51829         * modules/crypto/sha1-tests: New file.
51830
51831 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51832
51833         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
51834
51835 2008-01-31  Jim Meyering  <meyering@redhat.com>
51836
51837         Prefer "sizeof v" over the equivalent "4".
51838         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
51839         * lib/md5.c (set_uint32): Likewise.
51840         * lib/sha1.c (set_uint32): Likewise.
51841
51842 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51843
51844         * lib/sha1.c (set_uint32): Mark function as static.
51845
51846 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51847
51848         md2: clarify comments to say that alignment is not required.
51849         * lib/md2.h: Remove warning about alignment in comment.
51850         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
51851         never been required.
51852
51853 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51854
51855         md4: adapt alignment constraint fix from sha1.
51856         * lib/md4.c (set_uint32): New function, from sha1.c
51857         (md4_read_ctx): Use it.
51858         (md4_finish_ctx): Doc fix.
51859         * lib/md4.h: Doc fix.
51860
51861 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51862
51863         md5: adapt alignment constraint fix from sha1.
51864         * lib/md5.c (set_uint32): New function, from sha1.c
51865         (md5_read_ctx): Use it.
51866         (md5_finish_ctx): Doc fix.
51867         * lib/md5.h: Doc fix.
51868
51869 2008-01-30  Peter Palfrader  <weasel@debian.org>
51870
51871         sha1: remove the result buffer alignment constraint
51872         * lib/sha1.c (set_uint32): New function.
51873         (sha1_read_ctx): Rewrite to remove the result buffer alignment
51874         constraint.
51875         (sha1_finish_ctx): Remove comment warning about alignment constraint.
51876         * lib/sha1.h: Likewise.
51877
51878 2008-01-30  Andreas Schwab  <schwab@suse.de>
51879             Bruno Haible  <bruno@clisp.org>
51880
51881         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
51882         correct definition of LDBL_MIN_EXP.
51883
51884 2008-01-30  Karl Berry  <karl@gnu.org>
51885
51886         * config/srclist-update: try to preserve x bit on updates.
51887         * config/srclistvars.sh: update for karl.
51888
51889 2008-01-29  Jim Meyering  <meyering@redhat.com>
51890
51891         vasnprintf.c: Avoid warning about unused label
51892         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
51893         "overflow" label definition and associated code with the
51894         same cpp condition that guards the sole use of that label.
51895
51896 2008-01-26  Bruno Haible  <bruno@clisp.org>
51897
51898         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
51899         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
51900         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
51901         * lib/isnanl-nolibm.h (isnanl): Likewise.
51902         Reported by Paul Eggert <eggert@cs.ucla.edu>.
51903
51904 2008-01-26  Bruno Haible  <bruno@clisp.org>
51905
51906         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
51907         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
51908
51909 2008-01-26  Bruno Haible  <bruno@clisp.org>
51910
51911         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
51912         GCC >= 4.0 built-in.
51913         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
51914
51915 2008-01-26  Bruno Haible  <bruno@clisp.org>
51916
51917         Rename isnan, applicable to 'double' only, to isnand.
51918         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
51919         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
51920         (configure.ac): Update.
51921         (Include): Replace "isnan.h" with "isnand.h".
51922         * m4/isnand.m4: Renamed from m4/isnan.m4.
51923         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
51924         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
51925         instead of isnan.c.
51926         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
51927         instead of HAVE_ISNAN_IN_LIBC.
51928         (isnand): Renamed from isnan.
51929         * lib/isnand.c: New file.
51930         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
51931         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
51932         (Makefile.am): Update.
51933         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
51934         Include isnand.h instead of isnan.h.
51935         (main): Test isnand instead of isnan.
51936         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
51937         isnan-nolibm.
51938         * modules/frexp (Depends-on): Likewise.
51939         * modules/frexp-tests (Depends-on): Likewise.
51940         * modules/frexp-nolibm (Depends-on): Likewise.
51941         * modules/frexp-nolibm-tests (Depends-on): Likewise.
51942         * modules/isfinite (Depends-on): Likewise.
51943         * modules/round-tests (Depends-on): Likewise.
51944         * modules/signbit (Depends-on): Likewise.
51945         * modules/signbit-tests (Depends-on): Likewise.
51946         * modules/snprintf-posix (Depends-on): Likewise.
51947         * modules/sprintf-posix (Depends-on): Likewise.
51948         * modules/trunc-tests (Depends-on): Likewise.
51949         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
51950         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
51951         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
51952         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
51953         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
51954         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
51955         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
51956         * modules/vasnprintf-posix (Depends-on): Likewise.
51957         * modules/vasprintf-posix (Depends-on): Likewise.
51958         * modules/vfprintf-posix (Depends-on): Likewise.
51959         * modules/vsnprintf-posix (Depends-on): Likewise.
51960         * modules/vsprintf-posix (Depends-on): Likewise.
51961         * lib/frexp.c: Include isnand.h instead of isnan.h.
51962         (ISNAN): Set to isnand instead of isnan.
51963         * lib/isfinite.c: Include isnand.h instead of isnan.h.
51964         (gl_isfinited): Use isnand instead of isnan.
51965         * lib/signbitd.c: Include isnand.h instead of isnan.h.
51966         (gl_signbitd): Use isnand instead of isnan.
51967         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
51968         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
51969         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
51970         (main): Use isnand instead of isnan.
51971         * tests/test-round1.c: Include isnand.h.
51972         (main): Use isnand instead of isnan.
51973         * tests/test-round2.c: Include isnand.h instead of isnan.h.
51974         (ISNAN): Set to isnand instead of isnan.
51975         * tests/test-trunc1.c: Include isnand.h.
51976         (main): Use isnand instead of isnan.
51977         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
51978         (equal): Use isnand instead of isnan.
51979         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
51980         isnand-nolibm.
51981         * NEWS: Mention the change.
51982
51983 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
51984             Bruno Haible  <bruno@clisp.org>
51985
51986         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
51987         the GCC builtins for signbits are present and set
51988         REPLACE_SIGNBIT_USING_GCC if so.
51989         * lib/math.in.h (signbit): Define using GCC builtins if
51990         REPLACE_SIGNBIT_USING_GCC is set.
51991         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
51992         REPLACE_SIGNBIT_USING_GCC.
51993         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
51994
51995 2008-01-25  Jim Meyering  <meyering@redhat.com>
51996
51997         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
51998         * lib/poll.c: Include <config.h>, not "config.h".
51999         * tests/test-getaddrinfo.c: Likewise.
52000
52001 2008-01-25  Simon Josefsson  <simon@josefsson.org>
52002
52003         * modules/sockets-tests: New file.
52004
52005 2008-01-24  Simon Josefsson  <simon@josefsson.org>
52006
52007         * modules/sockets: New module, can be used to call WSA_Startup and
52008         WSA_Cleanup when needed.
52009
52010         * lib/sockets.h, lib/sockets.c: New files.
52011
52012         * m4/sockets.m4: New file.
52013
52014         * tests/test-sockets.c: New file.
52015
52016 2008-01-19  Bruno Haible  <bruno@clisp.org>
52017
52018         * doc/posix-headers: Renamed from doc/headers.
52019         * doc/posix-functions: Renamed from doc/functions.
52020         * doc/gnulib.texi: Update.
52021
52022 2008-01-19  Bruno Haible  <bruno@clisp.org>
52023
52024         * doc/glibc-functions/strcasestr.texi: Include contents of
52025         doc/functions/strcasestr.texi, fixing the list of platforms.
52026         * doc/functions/strcasestr.texi: Remove file.
52027
52028 2008-01-19  Bruno Haible  <bruno@clisp.org>
52029
52030         * doc/glibc-functions/memmem.texi: Include contents of
52031         doc/functions/memmem.texi.
52032         * doc/functions/memmem.texi: Remove file.
52033
52034 2008-01-18  Bruno Haible  <bruno@clisp.org>
52035
52036         * doc/glibc-functions/*.texi: New files.
52037         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
52038         to use the new files.
52039
52040 2008-01-17  Bruno Haible  <bruno@clisp.org>
52041
52042         * tests/test-gethostname.c (main): Fix printf statement.
52043
52044 2008-01-17  Simon Josefsson  <simon@josefsson.org>
52045
52046         * modules/gethostname-tests: New file.
52047
52048         * tests/test-gethostname.c: New file.
52049
52050 2008-01-17  Simon Josefsson  <simon@josefsson.org>
52051
52052         * lib/gethostname.c: Include string.h unconditionally, strncpy is
52053         used by the UNAME case.  Reported by Bruno Haible
52054         <bruno@clisp.org>.
52055
52056 2008-01-17  Eric Blake  <ebb9@byu.net>
52057
52058         Convert c-strcasestr to be more efficient.
52059         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
52060         (Depends-on): Add c-strcase, remove malloca, strnlen.
52061         * tests/test-c-strcasestr.c (main): Enhance test.
52062         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
52063
52064 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
52065
52066         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
52067         Use it in creating po/Makevars.
52068
52069 2008-01-15  Simon Josefsson  <simon@josefsson.org>
52070
52071         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
52072         Applications that requires it should initialize libgcrypt
52073         manually.
52074
52075 2008-01-16  Simon Josefsson  <simon@josefsson.org>
52076
52077         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
52078
52079 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
52080
52081         Fix problem with getdate on mingw32 reported by Simon Josefsson
52082         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
52083         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
52084         tzname", when deciding whether to declare tzname.
52085         * lib/strftime.c (tzname): Likewise.
52086
52087 2008-01-15  Bruno Haible  <bruno@clisp.org>
52088
52089         Work around a MacOS X 10.5 bug in frexpl().
52090         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
52091         * doc/functions/frexpl.texi: Document the bug.
52092         Reported by Elias Pipping <pipping@gentoo.org>.
52093
52094 2008-01-14  Eric Blake  <ebb9@byu.net>
52095
52096         Touch up previous patch.
52097         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
52098         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
52099
52100         Convert strcasestr module to use Two-Way algorithm.
52101         * modules/strcasestr-simple: New module, based on the old
52102         strcasestr, but with Two-Way rather than KMP.
52103         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
52104         * lib/string.in.h (rpl_strcasestr): Declare.
52105         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
52106         performance.
52107         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
52108         * modules/string (Makefile.am): Support strcasestr.
52109         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
52110         * modules/strcasestr-tests (Depends-on): Check for alarm.
52111         * tests/test-strcasestr.c: Augment test.
52112         * lib/str-two-way.h: Clean up stray macro.
52113         * NEWS: Document new module.
52114         * MODULES.html.sh (string handling): Likewise.
52115         * doc/functions/strcasestr.texi: New file.
52116         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
52117         here, since it is not a POSIX function.
52118
52119 2008-01-14  Colin Watson  <cjwatson@debian.org>
52120             Bruno Haible  <bruno@clisp.org>
52121
52122         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
52123         works fine; if not, set REPLACE_STRSIGNAL.
52124         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
52125         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
52126         REPLACE_STRSIGNAL.
52127         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
52128         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
52129         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
52130
52131 2008-01-14  Bruno Haible  <bruno@clisp.org>
52132
52133         * modules/strsignal (Include): Change to <string.h>.
52134
52135 2008-01-14  Colin Watson  <cjwatson@debian.org>
52136
52137         * modules/argp (Notice): Add a notice recommending to change
52138         XGETTEXT_OPTIONS.
52139         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
52140
52141 2008-01-13  Colin Watson  <cjwatson@debian.org>
52142
52143         * modules/strsignal-tests: New file.
52144         * tests/test-strsignal.c: New file.
52145
52146         * lib/strsignal.c: New file, from glibc with modifications.
52147         * lib/siglist.h: New file, from glibc with modifications.
52148         * lib/string.in.h (strsignal): New declaration.
52149         * m4/strsignal.m4: New file.
52150         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
52151         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
52152         * modules/strsignal: New file.
52153         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
52154         HAVE_DECL_STRSIGNAL.
52155
52156 2008-01-13  Bruno Haible  <bruno@clisp.org>
52157
52158         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
52159         locale encoding is not ASCII. Needed for OpenBSD 4.0.
52160         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
52161         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
52162
52163 2008-01-13  Bruno Haible  <bruno@clisp.org>
52164
52165         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
52166         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
52167         * lib/argp.h (__attribute__): Likewise.
52168         * lib/c-stack.c (__attribute__): Likewise.
52169         * lib/error.h (__attribute__): Likewise.
52170         * lib/fts.c (__attribute__): Likewise.
52171         * lib/openat.h (__attribute__): Likewise.
52172         * lib/stdio.in.h (__attribute__): Likewise.
52173         * lib/string.in.h (__attribute__): Likewise.
52174         * lib/utimens.c (__attribute__): Likewise.
52175         * lib/vasnprintf.h (__attribute__): Likewise.
52176         * lib/xalloc.h (__attribute__): Likewise.
52177         * lib/xprintf.h (__attribute__): Likewise.
52178         * lib/xstrtol.h (__attribute__): Likewise.
52179         * lib/xvasprintf.h (__attribute__): Likewise.
52180
52181 2008-01-12  Bruno Haible  <bruno@clisp.org>
52182
52183         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
52184         * doc/glibc-headers/a.out.texi: New file.
52185         * doc/glibc-headers/aliases.texi: New file.
52186         * doc/glibc-headers/alloca.texi: New file.
52187         * doc/glibc-headers/ar.texi: New file.
52188         * doc/glibc-headers/argp.texi: New file.
52189         * doc/glibc-headers/argz.texi: New file.
52190         * doc/glibc-headers/byteswap.texi: New file.
52191         * doc/glibc-headers/crypt.texi: New file.
52192         * doc/glibc-headers/endian.texi: New file.
52193         * doc/glibc-headers/envz.texi: New file.
52194         * doc/glibc-headers/err.texi: New file.
52195         * doc/glibc-headers/error.texi: New file.
52196         * doc/glibc-headers/execinfo.texi: New file.
52197         * doc/glibc-headers/fpu_control.texi: New file.
52198         * doc/glibc-headers/fstab.texi: New file.
52199         * doc/glibc-headers/fts.texi: New file.
52200         * doc/glibc-headers/getopt.texi: New file.
52201         * doc/glibc-headers/ieee754.texi: New file.
52202         * doc/glibc-headers/ifaddrs.texi: New file.
52203         * doc/glibc-headers/libintl.texi: New file.
52204         * doc/glibc-headers/mcheck.texi: New file.
52205         * doc/glibc-headers/mntent.texi: New file.
52206         * doc/glibc-headers/obstack.texi: New file.
52207         * doc/glibc-headers/paths.texi: New file.
52208         * doc/glibc-headers/printf.texi: New file.
52209         * doc/glibc-headers/pty.texi: New file.
52210         * doc/glibc-headers/resolv.texi: New file.
52211         * doc/glibc-headers/shadow.texi: New file.
52212         * doc/glibc-headers/sysexits.texi: New file.
52213         * doc/glibc-headers/ttyent.texi: New file.
52214
52215 2008-01-12  Jim Meyering  <meyering@redhat.com>
52216
52217         announce-gen: emit Gnulib's git-based version string.
52218         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
52219         New option --gnulib-version=V, where V is expected to be
52220         the output of running git describe in the gnulib directory.
52221         (get_tool_versions): Request feedback on xdelta.  I suspect it's
52222         not useful, and plan to stop publishing an xdelta file with each
52223         coreutils release.
52224
52225         * build-aux/announce-gen: Also check for lzma-compressed files.
52226
52227 2008-01-11  Bruno Haible  <bruno@clisp.org>
52228
52229         * tests/test-memmem.c (main): Increase maximum allowed time.
52230         * tests/test-strstr.c (main): Likewise.
52231
52232 2008-01-11  Bruno Haible  <bruno@clisp.org>
52233
52234         * doc/functions/memmem.texi: Add more precisions about platforms.
52235         * doc/functions/strstr.texi: Likewise.
52236
52237 2008-01-10  Eric Blake  <ebb9@byu.net>
52238
52239         * m4/strstr.m4: Delete cruft from copy-n-paste.
52240         Reported by Bruno Haible.
52241
52242 2008-01-10  Bruno Haible  <bruno@clisp.org>
52243
52244         Make c-strstr rely on strstr.
52245         * lib/c-strstr.c: Don't include str-kmp.h.
52246         (c_strstr): Define in terms of strstr.
52247         * modules/c-strstr (Files): Remove lib/str-kmp.h.
52248         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
52249
52250 2008-01-10  Bruno Haible  <bruno@clisp.org>
52251
52252         * doc/gnulib.texi (String Functions in C Locale): New section.
52253         * doc/c-ctype.texi: New file.
52254         * doc/c-strcase.texi: New file.
52255         * doc/c-strcaseeq.texi: New file.
52256         * doc/c-strcasestr.texi: New file.
52257         * doc/c-strstr.texi: New file.
52258         * doc/c-strtod.texi: New file.
52259         * doc/c-strtold.texi: New file.
52260
52261 2008-01-10  Eric Blake  <ebb9@byu.net>
52262
52263         * lib/relocatable.h: Fix a comment.
52264
52265 2008-01-10  Eric Blake  <ebb9@byu.net>
52266
52267         Share two-way algorithm.
52268         * lib/str-two-way.h: New file, merged from...
52269         * lib/memmem.c: ...here...
52270         * lib/strstr.c: ...and here.
52271         * modules/memmem (Files): Use it.
52272         * modules/strstr (Files): Likewise.
52273
52274         Avoid quadratic strstr implementations.
52275         * lib/strstr.c: New file.
52276         * m4/strstr.m4: Likewise.
52277         * modules/strstr: Likewise.
52278         * modules/strstr-tests: Likewise.
52279         * tests/test-strstr.c: Likewise.
52280         * lib/string.in.h (rpl_strstr): Declare.
52281         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
52282         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
52283         * modules/string (Makefile.am): Likewise.
52284         * MODULES.html.sh (string handling): Mention new module.
52285         * doc/functions/strstr.texi (strstr): Document the bug.
52286
52287 2008-01-10  Bruno Haible  <bruno@clisp.org>
52288
52289         * lib/relocatable.h (relocate): State whether result is freshly
52290         allocated or not.
52291         * lib/relocatable.c (relocate): Return a freshly allocated string
52292         instead of a pointer to a privately held string.
52293         Reported by Sylvain Beucler <beuc@gnu.org>.
52294
52295 2008-01-10  Colin Watson  <cjwatson@debian.org>
52296
52297         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
52298         s/S_ISNLK/S_ISLNK/.
52299
52300 2008-01-09  Bruno Haible  <bruno@clisp.org>
52301
52302         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
52303         and other files.
52304         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
52305         if it's only a guess.
52306         * modules/memmem: Simplify by depending on memmem-simple.
52307
52308 2008-01-09  Bruno Haible  <bruno@clisp.org>
52309
52310         Work around OpenBSD 4.0 tdelete() bug.
52311         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
52312         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
52313         macros and don't redefine the enum values.
52314         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
52315         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
52316         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
52317
52318 2008-01-09  Bruno Haible  <bruno@clisp.org>
52319
52320         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
52321         (main): Don't perform the tests if setlocale did not install a UTF-8
52322         locale. Needed on OpenBSD 4.0.
52323         * modules/wcwidth-tests (Depends-on): Add localcharset.
52324
52325 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
52326
52327         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
52328         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
52329         * NEWS: announce this.
52330         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
52331
52332 2008-01-09  Simon Josefsson  <simon@josefsson.org>
52333         and Eric Blake  <ebb9@byu.net>
52334
52335         Add memmem-simple module.
52336         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
52337         (gl_FUNC_MEMMEM): Separate performance from presence checks.
52338         * modules/memmem-simple: New file.
52339         * modules/memmem (Description): Tweak.
52340         * MODULES.html.sh (string handling): Mention new module.
52341         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
52342         addressed by memmem-simple.
52343         * NEWS: Document the difference.
52344
52345 2008-01-09  Eric Blake  <ebb9@byu.net>
52346
52347         Give gcc some memmem optimization hints.
52348         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
52349         (strcasestr): Declare as pure.
52350         * modules/memmem (Maintainer): Claim my implementation.
52351
52352 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52353
52354         Support AIX 6.1 and higher.
52355         * build-aux/config.libpath: Likewise.
52356         * build-aux/config.rpath: Likewise.
52357
52358 2008-01-08  Jim Meyering  <meyering@redhat.com>
52359             Bruno Haible  <bruno@clisp.org>
52360
52361         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
52362         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
52363         Reported by Peter Fales in
52364         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
52365
52366 2008-01-08  Bruno Haible  <bruno@clisp.org>
52367
52368         * modules/unictype/category-of (Depends-on): Add
52369         unictype/category-none.
52370         * modules/unictype/category-and-tests (Depends-on): Add
52371         unictype/category-{L,N,Lu,Nd}.
52372         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
52373         * modules/unictype/category-or-tests (Depends-on): Add
52374         unictype/category-{L,N}.
52375         * modules/unictype/category-name-tests (Depends-on): Add
52376         unictype/category-{Z,Nl}.
52377         Reported by Simon Josefsson.
52378
52379 2008-01-08  Bruno Haible  <bruno@clisp.org>
52380
52381         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
52382         convention better.
52383         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
52384         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
52385         Reported by Peter Miller <millerp@canb.auug.org.au>.
52386
52387 2008-01-08  Eric Blake  <ebb9@byu.net>
52388
52389         Rewrite memmem to guarantee linear complexity without malloc.
52390         * lib/memmem.c (memmem): Use Two-Way rather than
52391         Knuth-Morris-Pratt, to allow O(1) space usage.
52392         (critical_factorization, two_way_short_needle)
52393         (two_way_long_needle): New functions.
52394         (knuth_morris_pratt): Delete.
52395         * modules/memmem (Depends-on): No longer need malloca or stdbool.
52396         Add stdint.
52397         * tests/test-memmem.c (main): Add tests for periodic needle and
52398         sublinear performance.
52399         * doc/functions/memmem.texi (memmem): Document other deficiencies
52400         in cygwin and older glibc.
52401
52402 2008-01-08  Bruno Haible  <bruno@clisp.org>
52403
52404         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
52405         augmentation.
52406
52407 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
52408
52409         Add a configure time option: --disable-acl.
52410         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
52411         AC_ARG_ENABLE(acl).
52412
52413 2008-01-06  Simon Josefsson  <simon@josefsson.org>
52414
52415         * tests/test-localename.c: Don't include obsolete "setenv.h".
52416
52417         * modules/localename-tests (Depends-on): Need unsetenv.
52418
52419 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52420
52421         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
52422
52423 2008-01-06  Colin Watson  <cjwatson@debian.org>
52424
52425         * users.txt: Add man-db.
52426
52427 2008-01-07  Bruno Haible  <bruno@clisp.org>
52428
52429         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
52430         previous section name.
52431
52432 2008-01-07  Bruno Haible  <bruno@clisp.org>
52433
52434         * lib/progname.c (set_program_name): Don't strip off a leading
52435         "lt-" prefix outside a .libs directory.
52436         Suggested by Paul Eggert.
52437
52438 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
52439             Bruno Haible  <bruno@clisp.org>
52440
52441         Improve memory cleanup in 'relocatable' module.
52442         * lib/relocatable.h (compute_curr_prefix): Change return type to
52443         'char *'.
52444         * lib/relocatable.c (compute_curr_prefix): Change return type to
52445         'char *'. Free curr_installdir after use.
52446         (relocate): Free curr_prefix_better after use.
52447         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
52448
52449 2008-01-01  Bruno Haible  <bruno@clisp.org>
52450
52451         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
52452         failure on older glibc systems.
52453         Reported by Peter Fales <psfales@alcatel-lucent.com>.
52454
52455 2008-01-05  Eric Blake  <ebb9@byu.net>
52456
52457         Avoid quadratic system memmem.
52458         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
52459         Reported by Ralf Wildenhues.
52460
52461         Fix memmem test for mingw.
52462         * modules/memmem-tests (configure.ac): Check for alarm.
52463         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
52464         it.
52465         * doc/functions/memmem.texi: New file.
52466         * doc/gnulib.texi (Function Substitutes): Add memmem.
52467         Reported by Bruno Haible.
52468
52469 2008-01-04  Bruno Haible  <bruno@clisp.org>
52470
52471         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
52472         Require gl_HEADER_STRINGS_H_DEFAULTS, not
52473         gl_HEADER_STRING_H_DEFAULTS.
52474
52475 2008-01-04  Eric Blake  <ebb9@byu.net>
52476
52477         Shorten duration of memmem test.
52478         * tests/test-memmem.c (main): Use alarm to declare failure if test
52479         is taking too long.
52480         Reported by Ralf Wildenhues.
52481
52482 2007-12-21  Simon Josefsson  <simon@josefsson.org>
52483
52484         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
52485         string, needed by strerror.
52486
52487 2008-01-03  Colin Watson  <cjwatson@debian.org>
52488             Bruno Haible  <bruno@clisp.org>
52489
52490         * doc/gnulib-tool.texi (Localization): New section.
52491
52492 2008-01-02  Bruno Haible  <bruno@clisp.org>
52493
52494         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
52495         variables to 'unsigned char *' type.
52496         Reported by Paul Eggert.
52497
52498 2008-01-02  Jim Meyering  <jim@meyering.net>
52499
52500         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
52501
52502 2007-12-31  Jim Meyering  <jim@meyering.net>
52503
52504         Avoid use of private FTS type name.
52505         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
52506
52507 2007-12-30  Karl Berry  <karl@gnu.org>
52508
52509         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
52510         work around defect in Texinfo and/or the standalone Info browser.
52511
52512 2007-12-30  Bruno Haible  <bruno@clisp.org>
52513
52514         Unify 5 copies of the KMP code.
52515         * lib/str-kmp.h: New file.
52516         * lib/c-strcasestr.c: Include str-kmp.h.
52517         (knuth_morris_pratt): Remove function.
52518         (c_strcasestr): Update.
52519         * lib/c-strstr.c: Include str-kmp.h.
52520         (knuth_morris_pratt): Remove function.
52521         (c_strcasestr): Update.
52522         * lib/mbscasestr.c: Include str-kmp.h.
52523         (knuth_morris_pratt_unibyte): Remove function.
52524         * lib/mbsstr.c: Include str-kmp.h.
52525         (knuth_morris_pratt_unibyte): Remove function.
52526         * lib/strcasestr.c: Include str-kmp.h.
52527         (knuth_morris_pratt): Remove function.
52528         (strcasestr): Update.
52529         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
52530         * modules/c-strstr (Files): Likewise.
52531         * modules/mbscasestr (Files): Likewise.
52532         * modules/mbsstr (Files): Likewise.
52533         * modules/strcasestr (Files): Likewise.
52534         Suggested by Paul Eggert.
52535
52536 2007-12-30  Bruno Haible  <bruno@clisp.org>
52537
52538         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
52539         defined.
52540
52541 2007-12-30  Bruno Haible  <bruno@clisp.org>
52542
52543         * lib/xmalloca.h: Include xalloc.h.
52544         (xnmalloca): New macro.
52545
52546 2007-12-30  Bruno Haible  <bruno@clisp.org>
52547
52548         * lib/malloca.h (nmalloca): New macro.
52549         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
52550         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
52551         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
52552         knuth_morris_pratt_multibyte): Likewise.
52553         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
52554         knuth_morris_pratt_multibyte): Likewise.
52555         * lib/memmem.c (knuth_morris_pratt): Likewise.
52556         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
52557
52558 2007-12-25  Bruno Haible  <bruno@clisp.org>
52559
52560         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
52561         * lib/glob.c: Don't include openat.h.
52562         (link_exists2_p): Add back the code that deals with the
52563         !GLOB_ALTDIRFUNC case.
52564         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
52565         let it do the filename concatenation.
52566         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
52567         * modules/glob (Depends-on): Remove openat.
52568
52569 2007-12-31  Bruno Haible  <bruno@clisp.org>
52570
52571         * modules/dirfd (License): Change to LGPLv2+.
52572         Approved by Jim Meyering.
52573
52574 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
52575
52576         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
52577         when multiplying M by sizeof (size_t).
52578
52579 2007-12-10  Martin Lambers  <marlam@marlam.de>
52580
52581         Override getpagesize on mingw.
52582         * lib/getpagesize.c: New file.
52583         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
52584         * modules/getpagesize (Files): Add lib/getpagesize.c.
52585         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
52586         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
52587         REPLACE_GETPAGESIZE.
52588         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
52589
52590 2007-12-25  Bruno Haible  <bruno@clisp.org>
52591
52592         * modules/localcharset (Notice): New field.
52593         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
52594         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
52595
52596 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
52597             Bruno Haible  <bruno@clisp.org>
52598
52599         Avoid using the syntax symbol() in formatted documentation.
52600         * MODULES.html.sh (func_module): When replacing symbol() with a
52601         hyperlink, remove the parentheses. Show an error if some remain.
52602         Recognize and render the '...' syntax.
52603         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
52604         Rework. Add paragraph about GCC's inlining.
52605         * doc/alloca.texi: Likewise.
52606         * doc/error.texi: Remove parentheses from symbol reference.
52607         * doc/gnulib-intro.texi: Likewise.
52608         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
52609         * modules/fnmatch (Description): Reword to say "the ... function".
52610         * modules/full-read (Description): Likewise.
52611         * modules/full-write (Description): Likewise.
52612         * modules/safe-read (Description): Likewise.
52613         * modules/safe-write (Description): Likewise.
52614         * modules/strchrnul (Description): Likewise.
52615         * modules/trim (Description): Likewise.
52616         * modules/error (Description): Remove parentheses from symbol
52617         references.
52618         * modules/verror (Description): Likewise.
52619         Reported by Karl Berry.
52620
52621 2007-12-25  Bruno Haible  <bruno@clisp.org>
52622
52623         Fixup after 2007-10-16 commit.
52624         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
52625
52626 2007-12-24  Bruno Haible  <bruno@clisp.org>
52627
52628         Make --enable-relocatable work with DESTDIR.
52629         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
52630         to compute installdir from destprog.
52631         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
52632         also set the RELOC_DESTDIR variable.
52633         Reported by Левашев Иван <octagram@bluebottle.com>.
52634
52635 2007-12-24  Bruno Haible  <bruno@clisp.org>
52636
52637         Fix link error due to xalloc_die().
52638         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
52639         of xreadlink.
52640         * lib/relocwrapper.c: Update comments.
52641         * build-aux/install-reloc: Remove xreadlink.c from file list.
52642         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
52643         xreadlink.c.
52644         Reported by Левашев Иван <octagram@bluebottle.com>.
52645
52646 2007-12-24  Bruno Haible  <bruno@clisp.org>
52647
52648         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
52649         * lib/setenv.h: Remove file.
52650         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
52651         lib/setenv.h.
52652         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
52653         (Depends-on): Add stdlib.
52654         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
52655         gl_FUNC_UNSETENV.
52656         (Include): Replace setenv.h with <stdlib.h>.
52657         * modules/unsetenv: New file.
52658         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
52659         * lib/unsetenv.c: Include <stdlib.h> first.
52660         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
52661         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
52662         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
52663         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
52664         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
52665         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
52666         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
52667         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
52668         * doc/functions/unsetenv.texi: Update.
52669         * modules/xsetenv (Depends-on): Add unsetenv.
52670         * modules/getdate (Depends-on): Likewise.
52671         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
52672         * lib/xsetenv.c: Don't include setenv.h.
52673         * lib/getdate.y: Likewise.
52674         * lib/relocwrapper.c: Likewise.
52675         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
52676         (Depends-on): Add stdlib.
52677         * NEWS: Mention the changes.
52678         Reported by Левашев Иван <octagram@bluebottle.com>.
52679
52680 2007-12-23  Bruno Haible  <bruno@clisp.org>
52681
52682         * lib/memmem.c (memmem): Use lowercase variable names. Tab
52683         indentation.
52684
52685 2007-12-23  Bruno Haible  <bruno@clisp.org>
52686
52687         * lib/c-strcasestr.c: Add more comments.
52688         * lib/c-strstr.c: Likewise.
52689         * lib/mbscasestr.c: Likewise.
52690         * lib/mbsstr.c: Likewise.
52691         * lib/strcasestr.c: Likewise.
52692         * lib/memmem.c: Likewise.
52693
52694 2007-12-23  Bruno Haible  <bruno@clisp.org>
52695
52696         * tests/test-memmem.c: Include <string.h> first.
52697
52698 2007-12-22  Bruno Haible  <bruno@clisp.org>
52699
52700         * gnulib-tool (func_create_testdir): Change $auxdir while generating
52701         the contents of $testsbase.
52702         Reported by Ralf Wildenhues.
52703
52704 2007-12-22  Bruno Haible  <bruno@clisp.org>
52705
52706         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
52707         two variables local_ldadd_before, local_ldadd_last.
52708
52709 2007-12-20  Eric Blake  <ebb9@byu.net>
52710
52711         Work around circular library issue when cross-compiling.
52712         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
52713         that progname.o does not need to pull in rpl_memcmp.
52714
52715 2007-12-19  Eric Blake  <ebb9@byu.net>
52716
52717         Fix memmem to avoid O(n^2) worst-case complexity.
52718         * lib/memmem.c (knuth_morris_pratt): New function.
52719         (memmem): Use it if first few naive iterations fail.
52720         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
52721         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
52722         * modules/memchr (License): Likewise.
52723         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
52724         malloca.
52725         * tests/test-memmem.c: Rewrite, borrowing ideas from
52726         test-mbsstr1.c; the old version wouldn't even compile!
52727         * modules/memmem-tests: New file.
52728         * lib/string.in.h (rpl_memmem): Add declaration.
52729         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
52730         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
52731         REPLACE_MEMMEM.
52732
52733 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
52734
52735         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
52736         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
52737         before any system include files, and undef after them all.  This
52738         should fix a problem on VMS reported by John E. Malmberg in
52739         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
52740
52741 2007-12-17  Eric Blake  <ebb9@byu.net>
52742
52743         Revert addition of verify, for BSD/OS.
52744         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
52745         can't handle large files, for the sake of obsolete platforms.
52746         * modules/fseeko (Depends-on): Remove verify.
52747         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
52748         * doc/functions/ftello.texi (ftello): Likewise.
52749         * doc/functions/fgetpos.texi (fgetpos): Likewise.
52750         Reported by Larry Jones.
52751
52752 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
52753
52754         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
52755         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
52756
52757 2007-12-17  Jim Meyering  <meyering@redhat.com>
52758
52759         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
52760         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
52761         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
52762         * modules/getcwd (Depends-on): Add openat.
52763         Reported by Petr Salinger.
52764
52765 2007-12-17  Bruno Haible  <bruno@clisp.org>
52766
52767         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
52768         avoid a segmentation fault of the configure test on x86_64 systems.
52769
52770 2007-12-15  Jim Meyering  <meyering@redhat.com>
52771
52772         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
52773
52774 2007-12-13  Eric Blake  <ebb9@byu.net>
52775
52776         Another fseek test.
52777         * tests/test-fseek.c (main): Also test ungetc handling.
52778         * tests/test-fseeko.c (main): Likewise.
52779         * modules/fseeko (Depends-on): Add verify.
52780         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
52781         large.
52782         Reported by Larry Jones.
52783
52784         Fix fseeko on mingw.
52785         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
52786         seek.
52787
52788         Beef up fseek tests.
52789         * tests/test-fseek.c (main): Also test eof handling.
52790         * tests/test-fseeko.c (main): Likewise.
52791         Reported by Larry Jones.
52792
52793 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
52794
52795         Fix fseeko on BSD-based platforms.
52796         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
52797         successful seek.
52798
52799 2007-12-12  Eric Blake  <ebb9@byu.net>
52800
52801         Allow circular dependency of separate libtests.a
52802         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
52803         when use_libtests.
52804
52805 2007-12-11  Eric Blake  <ebb9@byu.net>
52806
52807         Fix bug with -0.0L in previous patch.
52808         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
52809         * tests/test-isnan.c (main): Also test on zeroes.
52810         * tests/test-isnanf.c (main): Likewise.
52811         * tests/test-isnanl.h (main): Likewise.
52812
52813         Detect pseudo-denormals on x86 even when cross-compiling.
52814         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
52815         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
52816         invalid bit patterns that happen to satisfy ==.
52817
52818         Avoid link failures with separate libtests.a.
52819         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
52820         last, to satisfy circular dependencies.
52821
52822 2007-12-11  Eric Blake  <ebb9@byu.net>
52823         and Bruno Haible  <bruno@clisp.org>
52824
52825         Fix OpenBSD 4.0 <float.h> handling of long double.
52826         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
52827         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
52828         * doc/headers/float.texi (float.h): Document OpenBSD bug.
52829
52830 2007-12-11  Jim Meyering  <meyering@redhat.com>
52831
52832         * users.txt: Add libvirt.
52833
52834         Support versions of autoconf prior to 2.59c.
52835         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
52836         if it is not already defined.
52837
52838 2007-12-09  Bruno Haible  <bruno@clisp.org>
52839
52840         Let 'gnulib-tool --import' collect sources needed for the tests in
52841         tests/ rather than in lib/.
52842         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
52843         argument. If true, add rules to generate libtests.a, and put libtests.a
52844         into $(LDADD). Consider source files in subdirectories and set
52845         uses_subdirs.
52846         (func_emit_initmacro_start, func_emit_initmacro_end,
52847         func_emit_initmacro_done): Pass all arguments explicitly.
52848         (func_import): Determine two module lists main_modules,
52849         testsrelated_modules. Determine use_libtests. Determine two variables
52850         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
52851         instead of just sed_transform_lib_file. Determine two variables
52852         main_files and testsrelated_files. Compute 'files' as the union of
52853         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
52854         func_add_or_update. In the generated gnulib-comp.m4, collect the
52855         object files for tests/ in different variables than those for lib/.
52856         Substitute LIBTESTS_LIBDEPS.
52857         (func_create_testdir): Combine the uses_subdirs results from
52858         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
52859
52860 2007-12-09  Bruno Haible  <bruno@clisp.org>
52861
52862         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
52863         the build-aux directory.
52864
52865 2007-12-09  Bruno Haible  <bruno@clisp.org>
52866
52867         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
52868         introduced on 2006-09-09.
52869
52870 2007-12-07  Jim Meyering  <meyering@redhat.com>
52871
52872         Let these macros work also with autoconf-2.59.
52873         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
52874         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
52875         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
52876
52877 2007-12-06  Jim Meyering  <meyering@redhat.com>
52878
52879         Avoid a configure-time syntax error in gl_FUNC_ACL.
52880         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
52881         function in each branch, before testing the cache variable.
52882
52883 2007-12-04  Eric Blake  <ebb9@byu.net>
52884
52885         Make scripts executable.
52886         * build-aux/config.guess: Add execute permissions.
52887         * build-aux/config.sub: Likewise.
52888         * build-aux/gendocs.sh: Likewise.
52889
52890         Fix frexp on mingw.
52891         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
52892         cross-compiling.
52893         * doc/functions/frexp.texi (frexp): Document the bug.
52894
52895         Make cygwin fseeko check more reliable.
52896         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
52897         version numbers, rather than unrelated feature check.
52898         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
52899         * doc/functions/ftello.texi (ftello): Likewise.
52900         Reported by Bruno Haible.
52901
52902         * m4/strerror.m4: Bump version number.
52903
52904 2007-12-03  Bruno Haible  <bruno@clisp.org>
52905
52906         * doc/functions/mprotect.texi: Mention the mingw problem.
52907
52908 2007-12-03  Eric Blake  <ebb9@byu.net>
52909
52910         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
52911         REPLACE_STRERROR is initialized before this macro.
52912
52913 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
52914
52915         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
52916         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
52917         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
52918         put -lsec in even for programs other than 'ls'.  This fixes a problem
52919         for gettext reported by Bruno Haible in
52920         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
52921         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
52922         Add support for Solaris 10.  This isn't efficient, but should get the
52923         job done for now.
52924
52925 2007-12-03  James Youngman  <jay@gnu.org>
52926
52927         * doc/regexprops-generic.texi: change "an close-group" to "a
52928         close-group" and "illegal" to "not allowed".
52929
52930 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52931
52932         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
52933         pr_byname.h. Needed for the rare case when the maintainer has done
52934         "make maintainer-clean" in the source directory and then attempts a
52935         build outside the source directory.
52936         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
52937         scripts_byname.h.
52938
52939 2007-12-02  Martin Lambers <marlam@marlam.de>
52940             Bruno Haible  <bruno@clisp.org>
52941
52942         * lib/getpagesize.h: Remove file.
52943         * lib/unistd.in.h: Include declaration of getpagesize here.
52944         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
52945         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
52946         HAVE_SYS_PARAM_H.
52947         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
52948         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
52949         * modules/getpagesize (Files): Remove lib/getpagesize.h.
52950         (Depends-on): Add unistd.
52951         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52952         (Include): Use <unistd.h> instead of getpagesize.h.
52953         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
52954         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
52955         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
52956         gl_GETPAGESIZE invocation, already handled by module dependency.
52957         * lib/pagealign_alloc.c: Don't include getpagesize.h.
52958
52959 2007-12-02  Bruno Haible  <bruno@clisp.org>
52960
52961         * modules/strings-tests: New file.
52962         * tests/test-strings.c: New file.
52963
52964         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
52965         * lib/strings.in.h: New file.
52966         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
52967         * m4/strings_h.m4: New file.
52968         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
52969         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
52970         * modules/strings: New file.
52971         * modules/string (Makefile.am): Update.
52972         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
52973         Reported by Karl Berry.
52974
52975 2007-12-01  Eric Blake  <ebb9@byu.net>
52976
52977         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
52978         accomodate fix in cygwin 1.5.25.
52979
52980 2007-12-01  Jim Meyering  <meyering@redhat.com>
52981
52982         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
52983         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
52984         that would inhibit utf8-optimization of a regexp containing line-
52985         or buffer-anchors, e.g., `^', `$'.
52986
52987 2007-11-30  Bruno Haible  <bruno@clisp.org>
52988
52989         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
52990         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
52991         glthread_recursive_lock_init.
52992         * lib/lock.c (glthread_recursive_lock_init)
52993         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
52994         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
52995
52996 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
52997
52998         New function qset_acl, like set_acl but with syscall semantics.
52999         * lib/acl.h (qset_acl): New decl.
53000         * lib/acl.c (qset_acl): New function.
53001         (set_acl): Use new function.  Use more-consistent diagnostics.
53002
53003 2007-11-28  Jim Meyering  <meyering@redhat.com>
53004
53005         * modules/physmem (License): Change from GPL to LGPLv2+.
53006
53007 2007-11-26  Bruno Haible  <bruno@clisp.org>
53008
53009         * lib/vasnprintf.c (decode_long_double): Don't abort if the
53010         'long double' type has excess precision.
53011         Reported by Jim Meyering in
53012         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
53013
53014 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53015
53016         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
53017         Sync from <http://gnu.org/licenses>.
53018         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
53019         with license text from same location.
53020         * doc/maintain.texi, doc/standards.texi:  Sync from
53021         <http://savannah.gnu.org/projects/gnustandards>.
53022
53023 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
53024         and Jim Meyering  <meyering@redhat.com>
53025
53026         Adjust getdate' grammar to accept a slightly more regular language.
53027         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
53028         Before, the former was rejected.
53029         * lib/getdate.y (digits_to_date_time): New function, factored
53030         out of ...
53031         (number): ...here.  Just call digits_to_date_time.
53032         (hybrid): New non-terminal to handle an <unsigned number,
53033         signed relative offset> sequence consistently.
53034
53035 2007-11-18  Jim Meyering  <meyering@redhat.com>
53036
53037         Pull my changes from coreutils:
53038         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
53039         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
53040         use of $gnulib_tool_option_extras, so that it's separated from the
53041         preceding argument.
53042
53043         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
53044         * build-aux/bootstrap (cp_mark_as_generated): Create any required
53045         parent destination directories before copying a file into place.
53046
53047 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
53048
53049         bootstrap: work also with 4-argument variant of AC_INIT
53050         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
53051
53052 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
53053
53054         Port test-getaddrinfo to Solaris.
53055         Problem reported by Bruno Haible in
53056         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
53057         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
53058         explanation of setting 'hints'.
53059         Don't reject an implementation merely because it returns EAI_SERVICE.
53060         (EAI_SERVICE): Define to 0 if not defined.
53061
53062 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
53063
53064         The license of gnu-make and posix-shell is now "GPLed build tool".
53065         * modules/gnu-make (License): Likewise.
53066         * modules/posix-shell (License): Likewise.
53067
53068         New module posix-shell, for determining a POSIX shell
53069         or perhaps something that is close enough to a POSIX shell.
53070         * m4/posix-shell.m4: New file.
53071         * modules/posix-shell: New file.
53072
53073         * MODULES.html.sh: Mention new module.
53074
53075         New module gnu-make, for determining whether we're using GNU Make.
53076         * m4/gnu-make.m4: New file.
53077         * modules/gnu-make: New file.
53078         * MODULES.html.sh: Mention new module.
53079
53080 2007-11-14  Jim Meyering  <meyering@redhat.com>
53081
53082         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
53083         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
53084         use this macro to create a function _definition_.
53085         Remove useless "#undef ARGMATCH_DIE".
53086
53087 2007-11-14  Bruno Haible  <bruno@clisp.org>
53088
53089         * lib/config.charset: Update for OpenBSD 4.1.
53090         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
53091
53092 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
53093
53094         Document 64-bit #if problems in stdint.texi.
53095         * doc/headers/stdint.texi (stdint.h): Mention problems with
53096         64-bit-#if, and how to work around them.
53097
53098         Don't insist on 'long long int' support in the preprocessor.  It
53099         breaks too many things.  For example, PRIdMAX still uses a 'long
53100         long int' format with the latest Sun compiler, even though
53101         HAVE_LONG_LONG_INT isn't defined due to that compiler's
53102         preprocessor problem.  This causes the latest coreutils to dump
53103         core on Solaris 10 sparc with the Sun C compiler.
53104         Instead, fix the 2007-10-16 problem in a different way, by evaluating
53105         the troublesome expressions at configure-time, not at #if-time.
53106         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
53107         preprocessor.
53108         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
53109         compile-time C checks, done at 'configure'-time.
53110         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
53111         * modules/inttypes (Makefile): Substitute the new symbols that
53112         gl_INTTYPES_H now generates.
53113         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
53114
53115 2007-11-12  Bruno Haible  <bruno@clisp.org>
53116
53117         Tests for Unicode character classification functions.
53118
53119         * modules/unictype/bidicategory-byname-tests: New file.
53120         * modules/unictype/bidicategory-name-tests: New file.
53121         * modules/unictype/bidicategory-of-tests: New file.
53122         * modules/unictype/bidicategory-test-tests: New file.
53123         * modules/unictype/block-list-tests: New file.
53124         * modules/unictype/block-of-tests: New file.
53125         * modules/unictype/block-test-tests: New file.
53126         * modules/unictype/category-C-tests: New file.
53127         * modules/unictype/category-Cc-tests: New file.
53128         * modules/unictype/category-Cf-tests: New file.
53129         * modules/unictype/category-Cn-tests: New file.
53130         * modules/unictype/category-Co-tests: New file.
53131         * modules/unictype/category-Cs-tests: New file.
53132         * modules/unictype/category-L-tests: New file.
53133         * modules/unictype/category-Ll-tests: New file.
53134         * modules/unictype/category-Lm-tests: New file.
53135         * modules/unictype/category-Lo-tests: New file.
53136         * modules/unictype/category-Lt-tests: New file.
53137         * modules/unictype/category-Lu-tests: New file.
53138         * modules/unictype/category-M-tests: New file.
53139         * modules/unictype/category-Mc-tests: New file.
53140         * modules/unictype/category-Me-tests: New file.
53141         * modules/unictype/category-Mn-tests: New file.
53142         * modules/unictype/category-N-tests: New file.
53143         * modules/unictype/category-Nd-tests: New file.
53144         * modules/unictype/category-Nl-tests: New file.
53145         * modules/unictype/category-No-tests: New file.
53146         * modules/unictype/category-P-tests: New file.
53147         * modules/unictype/category-Pc-tests: New file.
53148         * modules/unictype/category-Pd-tests: New file.
53149         * modules/unictype/category-Pe-tests: New file.
53150         * modules/unictype/category-Pf-tests: New file.
53151         * modules/unictype/category-Pi-tests: New file.
53152         * modules/unictype/category-Po-tests: New file.
53153         * modules/unictype/category-Ps-tests: New file.
53154         * modules/unictype/category-S-tests: New file.
53155         * modules/unictype/category-Sc-tests: New file.
53156         * modules/unictype/category-Sk-tests: New file.
53157         * modules/unictype/category-Sm-tests: New file.
53158         * modules/unictype/category-So-tests: New file.
53159         * modules/unictype/category-Z-tests: New file.
53160         * modules/unictype/category-Zl-tests: New file.
53161         * modules/unictype/category-Zp-tests: New file.
53162         * modules/unictype/category-Zs-tests: New file.
53163         * modules/unictype/category-and-not-tests: New file.
53164         * modules/unictype/category-and-tests: New file.
53165         * modules/unictype/category-byname-tests: New file.
53166         * modules/unictype/category-name-tests: New file.
53167         * modules/unictype/category-none-tests: New file.
53168         * modules/unictype/category-of-tests: New file.
53169         * modules/unictype/category-or-tests: New file.
53170         * modules/unictype/category-test-withtable-tests: New file.
53171         * modules/unictype/combining-class-tests: New file.
53172         * modules/unictype/ctype-alnum-tests: New file.
53173         * modules/unictype/ctype-alpha-tests: New file.
53174         * modules/unictype/ctype-blank-tests: New file.
53175         * modules/unictype/ctype-cntrl-tests: New file.
53176         * modules/unictype/ctype-digit-tests: New file.
53177         * modules/unictype/ctype-graph-tests: New file.
53178         * modules/unictype/ctype-lower-tests: New file.
53179         * modules/unictype/ctype-print-tests: New file.
53180         * modules/unictype/ctype-punct-tests: New file.
53181         * modules/unictype/ctype-space-tests: New file.
53182         * modules/unictype/ctype-upper-tests: New file.
53183         * modules/unictype/ctype-xdigit-tests: New file.
53184         * modules/unictype/decimal-digit-tests: New file.
53185         * modules/unictype/digit-tests: New file.
53186         * modules/unictype/mirror-tests: New file.
53187         * modules/unictype/numeric-tests: New file.
53188         * modules/unictype/property-alphabetic-tests: New file.
53189         * modules/unictype/property-ascii-hex-digit-tests: New file.
53190         * modules/unictype/property-bidi-arabic-digit-tests: New file.
53191         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
53192         * modules/unictype/property-bidi-block-separator-tests: New file.
53193         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
53194         * modules/unictype/property-bidi-common-separator-tests: New file.
53195         * modules/unictype/property-bidi-control-tests: New file.
53196         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
53197         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
53198         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
53199         * modules/unictype/property-bidi-european-digit-tests: New file.
53200         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
53201         * modules/unictype/property-bidi-left-to-right-tests: New file.
53202         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
53203         * modules/unictype/property-bidi-other-neutral-tests: New file.
53204         * modules/unictype/property-bidi-pdf-tests: New file.
53205         * modules/unictype/property-bidi-segment-separator-tests: New file.
53206         * modules/unictype/property-bidi-whitespace-tests: New file.
53207         * modules/unictype/property-byname-tests: New file.
53208         * modules/unictype/property-combining-tests: New file.
53209         * modules/unictype/property-composite-tests: New file.
53210         * modules/unictype/property-currency-symbol-tests: New file.
53211         * modules/unictype/property-dash-tests: New file.
53212         * modules/unictype/property-decimal-digit-tests: New file.
53213         * modules/unictype/property-default-ignorable-code-point-tests: New file.
53214         * modules/unictype/property-deprecated-tests: New file.
53215         * modules/unictype/property-diacritic-tests: New file.
53216         * modules/unictype/property-extender-tests: New file.
53217         * modules/unictype/property-format-control-tests: New file.
53218         * modules/unictype/property-grapheme-base-tests: New file.
53219         * modules/unictype/property-grapheme-extend-tests: New file.
53220         * modules/unictype/property-grapheme-link-tests: New file.
53221         * modules/unictype/property-hex-digit-tests: New file.
53222         * modules/unictype/property-hyphen-tests: New file.
53223         * modules/unictype/property-id-continue-tests: New file.
53224         * modules/unictype/property-id-start-tests: New file.
53225         * modules/unictype/property-ideographic-tests: New file.
53226         * modules/unictype/property-ids-binary-operator-tests: New file.
53227         * modules/unictype/property-ids-trinary-operator-tests: New file.
53228         * modules/unictype/property-ignorable-control-tests: New file.
53229         * modules/unictype/property-iso-control-tests: New file.
53230         * modules/unictype/property-join-control-tests: New file.
53231         * modules/unictype/property-left-of-pair-tests: New file.
53232         * modules/unictype/property-line-separator-tests: New file.
53233         * modules/unictype/property-logical-order-exception-tests: New file.
53234         * modules/unictype/property-lowercase-tests: New file.
53235         * modules/unictype/property-math-tests: New file.
53236         * modules/unictype/property-non-break-tests: New file.
53237         * modules/unictype/property-not-a-character-tests: New file.
53238         * modules/unictype/property-numeric-tests: New file.
53239         * modules/unictype/property-other-alphabetic-tests: New file.
53240         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
53241         * modules/unictype/property-other-grapheme-extend-tests: New file.
53242         * modules/unictype/property-other-id-continue-tests: New file.
53243         * modules/unictype/property-other-id-start-tests: New file.
53244         * modules/unictype/property-other-lowercase-tests: New file.
53245         * modules/unictype/property-other-math-tests: New file.
53246         * modules/unictype/property-other-uppercase-tests: New file.
53247         * modules/unictype/property-paired-punctuation-tests: New file.
53248         * modules/unictype/property-paragraph-separator-tests: New file.
53249         * modules/unictype/property-pattern-syntax-tests: New file.
53250         * modules/unictype/property-pattern-white-space-tests: New file.
53251         * modules/unictype/property-private-use-tests: New file.
53252         * modules/unictype/property-punctuation-tests: New file.
53253         * modules/unictype/property-quotation-mark-tests: New file.
53254         * modules/unictype/property-radical-tests: New file.
53255         * modules/unictype/property-sentence-terminal-tests: New file.
53256         * modules/unictype/property-soft-dotted-tests: New file.
53257         * modules/unictype/property-space-tests: New file.
53258         * modules/unictype/property-terminal-punctuation-tests: New file.
53259         * modules/unictype/property-test-tests: New file.
53260         * modules/unictype/property-titlecase-tests: New file.
53261         * modules/unictype/property-unassigned-code-value-tests: New file.
53262         * modules/unictype/property-unified-ideograph-tests: New file.
53263         * modules/unictype/property-uppercase-tests: New file.
53264         * modules/unictype/property-variation-selector-tests: New file.
53265         * modules/unictype/property-white-space-tests: New file.
53266         * modules/unictype/property-xid-continue-tests: New file.
53267         * modules/unictype/property-xid-start-tests: New file.
53268         * modules/unictype/property-zero-width-tests: New file.
53269         * modules/unictype/scripts-tests: New file.
53270         * modules/unictype/syntax-c-ident-tests: New file.
53271         * modules/unictype/syntax-c-whitespace-tests: New file.
53272         * modules/unictype/syntax-java-ident-tests: New file.
53273         * modules/unictype/syntax-java-whitespace-tests: New file.
53274         * tests/unictype/test-bidi_byname.c: New file.
53275         * tests/unictype/test-bidi_name.c: New file.
53276         * tests/unictype/test-bidi_of.c: New file.
53277         * tests/unictype/test-bidi_test.c: New file.
53278         * tests/unictype/test-block_list.c: New file.
53279         * tests/unictype/test-block_of.c: New file.
53280         * tests/unictype/test-block_test.c: New file.
53281         * tests/unictype/test-categ_and.c: New file.
53282         * tests/unictype/test-categ_and_not.c: New file.
53283         * tests/unictype/test-categ_byname.c: New file.
53284         * tests/unictype/test-categ_name.c: New file.
53285         * tests/unictype/test-categ_none.c: New file.
53286         * tests/unictype/test-categ_of.c: New file.
53287         * tests/unictype/test-categ_or.c: New file.
53288         * tests/unictype/test-categ_test_withtable.c: New file.
53289         * tests/unictype/test-combining.c: New file.
53290         * tests/unictype/test-decdigit.c: New file.
53291         * tests/unictype/test-digit.c: New file.
53292         * tests/unictype/test-mirror.c: New file.
53293         * tests/unictype/test-numeric.c: New file.
53294         * tests/unictype/test-pr_byname.c: New file.
53295         * tests/unictype/test-pr_test.c: New file.
53296         * tests/unictype/test-predicate-part1.h: New file.
53297         * tests/unictype/test-predicate-part2.h: New file.
53298         * tests/unictype/test-scripts.c: New file.
53299         * tests/unictype/test-sy_c_ident.c: New file.
53300         * tests/unictype/test-sy_java_ident.c: New file.
53301
53302         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
53303         for Unicode 5.0.0.
53304         * tests/unictype/test-categ_Cc.c: Likewise.
53305         * tests/unictype/test-categ_Cf.c: Likewise.
53306         * tests/unictype/test-categ_Cn.c: Likewise.
53307         * tests/unictype/test-categ_Co.c: Likewise.
53308         * tests/unictype/test-categ_Cs.c: Likewise.
53309         * tests/unictype/test-categ_L.c: Likewise.
53310         * tests/unictype/test-categ_Ll.c: Likewise.
53311         * tests/unictype/test-categ_Lm.c: Likewise.
53312         * tests/unictype/test-categ_Lo.c: Likewise.
53313         * tests/unictype/test-categ_Lt.c: Likewise.
53314         * tests/unictype/test-categ_Lu.c: Likewise.
53315         * tests/unictype/test-categ_M.c: Likewise.
53316         * tests/unictype/test-categ_Mc.c: Likewise.
53317         * tests/unictype/test-categ_Me.c: Likewise.
53318         * tests/unictype/test-categ_Mn.c: Likewise.
53319         * tests/unictype/test-categ_N.c: Likewise.
53320         * tests/unictype/test-categ_Nd.c: Likewise.
53321         * tests/unictype/test-categ_Nl.c: Likewise.
53322         * tests/unictype/test-categ_No.c: Likewise.
53323         * tests/unictype/test-categ_P.c: Likewise.
53324         * tests/unictype/test-categ_Pc.c: Likewise.
53325         * tests/unictype/test-categ_Pd.c: Likewise.
53326         * tests/unictype/test-categ_Pe.c: Likewise.
53327         * tests/unictype/test-categ_Pf.c: Likewise.
53328         * tests/unictype/test-categ_Pi.c: Likewise.
53329         * tests/unictype/test-categ_Po.c: Likewise.
53330         * tests/unictype/test-categ_Ps.c: Likewise.
53331         * tests/unictype/test-categ_S.c: Likewise.
53332         * tests/unictype/test-categ_Sc.c: Likewise.
53333         * tests/unictype/test-categ_Sk.c: Likewise.
53334         * tests/unictype/test-categ_Sm.c: Likewise.
53335         * tests/unictype/test-categ_So.c: Likewise.
53336         * tests/unictype/test-categ_Z.c: Likewise.
53337         * tests/unictype/test-categ_Zl.c: Likewise.
53338         * tests/unictype/test-categ_Zp.c: Likewise.
53339         * tests/unictype/test-categ_Zs.c: Likewise.
53340         * tests/unictype/test-ctype_alnum.c: Likewise.
53341         * tests/unictype/test-ctype_alpha.c: Likewise.
53342         * tests/unictype/test-ctype_blank.c: Likewise.
53343         * tests/unictype/test-ctype_cntrl.c: Likewise.
53344         * tests/unictype/test-ctype_digit.c: Likewise.
53345         * tests/unictype/test-ctype_graph.c: Likewise.
53346         * tests/unictype/test-ctype_lower.c: Likewise.
53347         * tests/unictype/test-ctype_print.c: Likewise.
53348         * tests/unictype/test-ctype_punct.c: Likewise.
53349         * tests/unictype/test-ctype_space.c: Likewise.
53350         * tests/unictype/test-ctype_upper.c: Likewise.
53351         * tests/unictype/test-ctype_xdigit.c: Likewise.
53352         * tests/unictype/test-decdigit.h: Likewise.
53353         * tests/unictype/test-digit.h: Likewise.
53354         * tests/unictype/test-numeric.h: Likewise.
53355         * tests/unictype/test-pr_alphabetic.c: Likewise.
53356         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
53357         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
53358         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
53359         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
53360         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
53361         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
53362         * tests/unictype/test-pr_bidi_control.c: Likewise.
53363         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
53364         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
53365         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
53366         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
53367         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
53368         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
53369         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
53370         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
53371         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
53372         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
53373         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
53374         * tests/unictype/test-pr_combining.c: Likewise.
53375         * tests/unictype/test-pr_composite.c: Likewise.
53376         * tests/unictype/test-pr_currency_symbol.c: Likewise.
53377         * tests/unictype/test-pr_dash.c: Likewise.
53378         * tests/unictype/test-pr_decimal_digit.c: Likewise.
53379         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
53380         * tests/unictype/test-pr_deprecated.c: Likewise.
53381         * tests/unictype/test-pr_diacritic.c: Likewise.
53382         * tests/unictype/test-pr_extender.c: Likewise.
53383         * tests/unictype/test-pr_format_control.c: Likewise.
53384         * tests/unictype/test-pr_grapheme_base.c: Likewise.
53385         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
53386         * tests/unictype/test-pr_grapheme_link.c: Likewise.
53387         * tests/unictype/test-pr_hex_digit.c: Likewise.
53388         * tests/unictype/test-pr_hyphen.c: Likewise.
53389         * tests/unictype/test-pr_id_continue.c: Likewise.
53390         * tests/unictype/test-pr_id_start.c: Likewise.
53391         * tests/unictype/test-pr_ideographic.c: Likewise.
53392         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
53393         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
53394         * tests/unictype/test-pr_ignorable_control.c: Likewise.
53395         * tests/unictype/test-pr_iso_control.c: Likewise.
53396         * tests/unictype/test-pr_join_control.c: Likewise.
53397         * tests/unictype/test-pr_left_of_pair.c: Likewise.
53398         * tests/unictype/test-pr_line_separator.c: Likewise.
53399         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
53400         * tests/unictype/test-pr_lowercase.c: Likewise.
53401         * tests/unictype/test-pr_math.c: Likewise.
53402         * tests/unictype/test-pr_non_break.c: Likewise.
53403         * tests/unictype/test-pr_not_a_character.c: Likewise.
53404         * tests/unictype/test-pr_numeric.c: Likewise.
53405         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
53406         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
53407         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
53408         * tests/unictype/test-pr_other_id_continue.c: Likewise.
53409         * tests/unictype/test-pr_other_id_start.c: Likewise.
53410         * tests/unictype/test-pr_other_lowercase.c: Likewise.
53411         * tests/unictype/test-pr_other_math.c: Likewise.
53412         * tests/unictype/test-pr_other_uppercase.c: Likewise.
53413         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
53414         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
53415         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
53416         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
53417         * tests/unictype/test-pr_private_use.c: Likewise.
53418         * tests/unictype/test-pr_punctuation.c: Likewise.
53419         * tests/unictype/test-pr_quotation_mark.c: Likewise.
53420         * tests/unictype/test-pr_radical.c: Likewise.
53421         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
53422         * tests/unictype/test-pr_soft_dotted.c: Likewise.
53423         * tests/unictype/test-pr_space.c: Likewise.
53424         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
53425         * tests/unictype/test-pr_titlecase.c: Likewise.
53426         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
53427         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
53428         * tests/unictype/test-pr_uppercase.c: Likewise.
53429         * tests/unictype/test-pr_variation_selector.c: Likewise.
53430         * tests/unictype/test-pr_white_space.c: Likewise.
53431         * tests/unictype/test-pr_xid_continue.c: Likewise.
53432         * tests/unictype/test-pr_xid_start.c: Likewise.
53433         * tests/unictype/test-pr_zero_width.c: Likewise.
53434         * tests/unictype/test-sy_c_whitespace.c: Likewise.
53435         * tests/unictype/test-sy_java_whitespace.c: Likewise.
53436
53437 2007-11-12  Bruno Haible  <bruno@clisp.org>
53438
53439         Unicode character classification functions.
53440         * lib/unictype.h: New file.
53441         * modules/unictype/base: New file.
53442         * modules/unictype/category-L: New file.
53443         * modules/unictype/category-Lu: New file.
53444         * modules/unictype/category-Ll: New file.
53445         * modules/unictype/category-Lt: New file.
53446         * modules/unictype/category-Lm: New file.
53447         * modules/unictype/category-Lo: New file.
53448         * modules/unictype/category-M: New file.
53449         * modules/unictype/category-Mn: New file.
53450         * modules/unictype/category-Mc: New file.
53451         * modules/unictype/category-Me: New file.
53452         * modules/unictype/category-N: New file.
53453         * modules/unictype/category-Nd: New file.
53454         * modules/unictype/category-Nl: New file.
53455         * modules/unictype/category-No: New file.
53456         * modules/unictype/category-P: New file.
53457         * modules/unictype/category-Pc: New file.
53458         * modules/unictype/category-Pd: New file.
53459         * modules/unictype/category-Ps: New file.
53460         * modules/unictype/category-Pe: New file.
53461         * modules/unictype/category-Pi: New file.
53462         * modules/unictype/category-Pf: New file.
53463         * modules/unictype/category-Po: New file.
53464         * modules/unictype/category-S: New file.
53465         * modules/unictype/category-Sm: New file.
53466         * modules/unictype/category-Sc: New file.
53467         * modules/unictype/category-Sk: New file.
53468         * modules/unictype/category-So: New file.
53469         * modules/unictype/category-Z: New file.
53470         * modules/unictype/category-Zs: New file.
53471         * modules/unictype/category-Zl: New file.
53472         * modules/unictype/category-Zp: New file.
53473         * modules/unictype/category-C: New file.
53474         * modules/unictype/category-Cc: New file.
53475         * modules/unictype/category-Cf: New file.
53476         * modules/unictype/category-Cs: New file.
53477         * modules/unictype/category-Co: New file.
53478         * modules/unictype/category-Cn: New file.
53479         * modules/unictype/category-or: New file.
53480         * modules/unictype/category-of: New file.
53481         * modules/unictype/category-test: New file.
53482         * modules/unictype/category-test-withtable: New file.
53483         * modules/unictype/category-byname: New file.
53484         * modules/unictype/category-none: New file.
53485         * modules/unictype/category-and: New file.
53486         * modules/unictype/category-and-not: New file.
53487         * modules/unictype/category-name: New file.
53488         * modules/unictype/combining-class: New file.
53489         * modules/unictype/category-all: New file.
53490         * modules/unictype/bidicategory-all: New file.
53491         * modules/unictype/bidicategory-byname: New file.
53492         * modules/unictype/bidicategory-name: New file.
53493         * modules/unictype/bidicategory-of: New file.
53494         * modules/unictype/bidicategory-test: New file.
53495         * modules/unictype/decimal-digit: New file.
53496         * modules/unictype/digit: New file.
53497         * modules/unictype/numeric: New file.
53498         * modules/unictype/mirror: New file.
53499         * modules/unictype/property-white-space: New file.
53500         * modules/unictype/property-alphabetic: New file.
53501         * modules/unictype/property-other-alphabetic: New file.
53502         * modules/unictype/property-not-a-character: New file.
53503         * modules/unictype/property-default-ignorable-code-point: New file.
53504         * modules/unictype/property-other-default-ignorable-code-point: New
53505         file.
53506         * modules/unictype/property-deprecated: New file.
53507         * modules/unictype/property-logical-order-exception: New file.
53508         * modules/unictype/property-variation-selector: New file.
53509         * modules/unictype/property-private-use: New file.
53510         * modules/unictype/property-unassigned-code-value: New file.
53511         * modules/unictype/property-uppercase: New file.
53512         * modules/unictype/property-other-uppercase: New file.
53513         * modules/unictype/property-lowercase: New file.
53514         * modules/unictype/property-other-lowercase: New file.
53515         * modules/unictype/property-titlecase: New file.
53516         * modules/unictype/property-soft-dotted: New file.
53517         * modules/unictype/property-id-start: New file.
53518         * modules/unictype/property-other-id-start: New file.
53519         * modules/unictype/property-id-continue: New file.
53520         * modules/unictype/property-other-id-continue: New file.
53521         * modules/unictype/property-xid-start: New file.
53522         * modules/unictype/property-xid-continue: New file.
53523         * modules/unictype/property-pattern-white-space: New file.
53524         * modules/unictype/property-pattern-syntax: New file.
53525         * modules/unictype/property-join-control: New file.
53526         * modules/unictype/property-grapheme-base: New file.
53527         * modules/unictype/property-grapheme-extend: New file.
53528         * modules/unictype/property-other-grapheme-extend: New file.
53529         * modules/unictype/property-grapheme-link: New file.
53530         * modules/unictype/property-bidi-control: New file.
53531         * modules/unictype/property-bidi-left-to-right: New file.
53532         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
53533         * modules/unictype/property-bidi-arabic-right-to-left: New file.
53534         * modules/unictype/property-bidi-european-digit: New file.
53535         * modules/unictype/property-bidi-eur-num-separator: New file.
53536         * modules/unictype/property-bidi-eur-num-terminator: New file.
53537         * modules/unictype/property-bidi-arabic-digit: New file.
53538         * modules/unictype/property-bidi-common-separator: New file.
53539         * modules/unictype/property-bidi-block-separator: New file.
53540         * modules/unictype/property-bidi-segment-separator: New file.
53541         * modules/unictype/property-bidi-whitespace: New file.
53542         * modules/unictype/property-bidi-non-spacing-mark: New file.
53543         * modules/unictype/property-bidi-boundary-neutral: New file.
53544         * modules/unictype/property-bidi-pdf: New file.
53545         * modules/unictype/property-bidi-embedding-or-override: New file.
53546         * modules/unictype/property-bidi-other-neutral: New file.
53547         * modules/unictype/property-hex-digit: New file.
53548         * modules/unictype/property-ascii-hex-digit: New file.
53549         * modules/unictype/property-ideographic: New file.
53550         * modules/unictype/property-unified-ideograph: New file.
53551         * modules/unictype/property-radical: New file.
53552         * modules/unictype/property-ids-binary-operator: New file.
53553         * modules/unictype/property-ids-trinary-operator: New file.
53554         * modules/unictype/property-zero-width: New file.
53555         * modules/unictype/property-space: New file.
53556         * modules/unictype/property-non-break: New file.
53557         * modules/unictype/property-iso-control: New file.
53558         * modules/unictype/property-format-control: New file.
53559         * modules/unictype/property-dash: New file.
53560         * modules/unictype/property-hyphen: New file.
53561         * modules/unictype/property-punctuation: New file.
53562         * modules/unictype/property-line-separator: New file.
53563         * modules/unictype/property-paragraph-separator: New file.
53564         * modules/unictype/property-quotation-mark: New file.
53565         * modules/unictype/property-sentence-terminal: New file.
53566         * modules/unictype/property-terminal-punctuation: New file.
53567         * modules/unictype/property-currency-symbol: New file.
53568         * modules/unictype/property-math: New file.
53569         * modules/unictype/property-other-math: New file.
53570         * modules/unictype/property-paired-punctuation: New file.
53571         * modules/unictype/property-left-of-pair: New file.
53572         * modules/unictype/property-combining: New file.
53573         * modules/unictype/property-composite: New file.
53574         * modules/unictype/property-decimal-digit: New file.
53575         * modules/unictype/property-numeric: New file.
53576         * modules/unictype/property-diacritic: New file.
53577         * modules/unictype/property-extender: New file.
53578         * modules/unictype/property-ignorable-control: New file.
53579         * modules/unictype/property-test: New file.
53580         * modules/unictype/property-byname: New file.
53581         * modules/unictype/property-all: New file.
53582         * modules/unictype/scripts: New file.
53583         * modules/unictype/scripts-all: New file.
53584         * modules/unictype/block-of: New file.
53585         * modules/unictype/block-test: New file.
53586         * modules/unictype/block-list: New file.
53587         * modules/unictype/block-all: New file.
53588         * modules/unictype/syntax-c-whitespace: New file.
53589         * modules/unictype/syntax-java-whitespace: New file.
53590         * modules/unictype/syntax-c-ident: New file.
53591         * modules/unictype/syntax-java-ident: New file.
53592         * modules/unictype/ctype-alnum: New file.
53593         * modules/unictype/ctype-alpha: New file.
53594         * modules/unictype/ctype-cntrl: New file.
53595         * modules/unictype/ctype-digit: New file.
53596         * modules/unictype/ctype-graph: New file.
53597         * modules/unictype/ctype-lower: New file.
53598         * modules/unictype/ctype-print: New file.
53599         * modules/unictype/ctype-punct: New file.
53600         * modules/unictype/ctype-space: New file.
53601         * modules/unictype/ctype-upper: New file.
53602         * modules/unictype/ctype-xdigit: New file.
53603         * modules/unictype/ctype-blank: New file.
53604         * lib/unictype/bidi_byname.c: New file.
53605         * lib/unictype/bidi_name.c: New file.
53606         * lib/unictype/bidi_of.c: New file.
53607         * lib/unictype/bidi_test.c: New file.
53608         * lib/unictype/bitmap.h: New file.
53609         * lib/unictype/block_test.c: New file.
53610         * lib/unictype/blocks.c: New file.
53611         * lib/unictype/categ_C.c: New file.
53612         * lib/unictype/categ_Cc.c: New file.
53613         * lib/unictype/categ_Cf.c: New file.
53614         * lib/unictype/categ_Cn.c: New file.
53615         * lib/unictype/categ_Co.c: New file.
53616         * lib/unictype/categ_Cs.c: New file.
53617         * lib/unictype/categ_L.c: New file.
53618         * lib/unictype/categ_Ll.c: New file.
53619         * lib/unictype/categ_Lm.c: New file.
53620         * lib/unictype/categ_Lo.c: New file.
53621         * lib/unictype/categ_Lt.c: New file.
53622         * lib/unictype/categ_Lu.c: New file.
53623         * lib/unictype/categ_M.c: New file.
53624         * lib/unictype/categ_Mc.c: New file.
53625         * lib/unictype/categ_Me.c: New file.
53626         * lib/unictype/categ_Mn.c: New file.
53627         * lib/unictype/categ_N.c: New file.
53628         * lib/unictype/categ_Nd.c: New file.
53629         * lib/unictype/categ_Nl.c: New file.
53630         * lib/unictype/categ_No.c: New file.
53631         * lib/unictype/categ_P.c: New file.
53632         * lib/unictype/categ_Pc.c: New file.
53633         * lib/unictype/categ_Pd.c: New file.
53634         * lib/unictype/categ_Pe.c: New file.
53635         * lib/unictype/categ_Pf.c: New file.
53636         * lib/unictype/categ_Pi.c: New file.
53637         * lib/unictype/categ_Po.c: New file.
53638         * lib/unictype/categ_Ps.c: New file.
53639         * lib/unictype/categ_S.c: New file.
53640         * lib/unictype/categ_Sc.c: New file.
53641         * lib/unictype/categ_Sk.c: New file.
53642         * lib/unictype/categ_Sm.c: New file.
53643         * lib/unictype/categ_So.c: New file.
53644         * lib/unictype/categ_Z.c: New file.
53645         * lib/unictype/categ_Zl.c: New file.
53646         * lib/unictype/categ_Zp.c: New file.
53647         * lib/unictype/categ_Zs.c: New file.
53648         * lib/unictype/categ_and.c: New file.
53649         * lib/unictype/categ_and_not.c: New file.
53650         * lib/unictype/categ_byname.c: New file.
53651         * lib/unictype/categ_name.c: New file.
53652         * lib/unictype/categ_none.c: New file.
53653         * lib/unictype/categ_of.c: New file.
53654         * lib/unictype/categ_or.c: New file.
53655         * lib/unictype/categ_test.c: New file.
53656         * lib/unictype/combining.c: New file.
53657         * lib/unictype/ctype_alnum.c: New file.
53658         * lib/unictype/ctype_alpha.c: New file.
53659         * lib/unictype/ctype_blank.c: New file.
53660         * lib/unictype/ctype_cntrl.c: New file.
53661         * lib/unictype/ctype_digit.c: New file.
53662         * lib/unictype/ctype_graph.c: New file.
53663         * lib/unictype/ctype_lower.c: New file.
53664         * lib/unictype/ctype_print.c: New file.
53665         * lib/unictype/ctype_punct.c: New file.
53666         * lib/unictype/ctype_space.c: New file.
53667         * lib/unictype/ctype_upper.c: New file.
53668         * lib/unictype/ctype_xdigit.c: New file.
53669         * lib/unictype/decdigit.c: New file.
53670         * lib/unictype/digit.c: New file.
53671         * lib/unictype/identsyntaxmap.h: New file.
53672         * lib/unictype/mirror.c: New file.
53673         * lib/unictype/numeric.c: New file.
53674         * lib/unictype/pr_alphabetic.c: New file.
53675         * lib/unictype/pr_ascii_hex_digit.c: New file.
53676         * lib/unictype/pr_bidi_arabic_digit.c: New file.
53677         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
53678         * lib/unictype/pr_bidi_block_separator.c: New file.
53679         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
53680         * lib/unictype/pr_bidi_common_separator.c: New file.
53681         * lib/unictype/pr_bidi_control.c: New file.
53682         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
53683         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
53684         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
53685         * lib/unictype/pr_bidi_european_digit.c: New file.
53686         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
53687         * lib/unictype/pr_bidi_left_to_right.c: New file.
53688         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
53689         * lib/unictype/pr_bidi_other_neutral.c: New file.
53690         * lib/unictype/pr_bidi_pdf.c: New file.
53691         * lib/unictype/pr_bidi_segment_separator.c: New file.
53692         * lib/unictype/pr_bidi_whitespace.c: New file.
53693         * lib/unictype/pr_byname.c: New file.
53694         * lib/unictype/pr_byname.gperf: New file.
53695         * lib/unictype/pr_combining.c: New file.
53696         * lib/unictype/pr_composite.c: New file.
53697         * lib/unictype/pr_currency_symbol.c: New file.
53698         * lib/unictype/pr_dash.c: New file.
53699         * lib/unictype/pr_decimal_digit.c: New file.
53700         * lib/unictype/pr_default_ignorable_code_point.c: New file.
53701         * lib/unictype/pr_deprecated.c: New file.
53702         * lib/unictype/pr_diacritic.c: New file.
53703         * lib/unictype/pr_extender.c: New file.
53704         * lib/unictype/pr_format_control.c: New file.
53705         * lib/unictype/pr_grapheme_base.c: New file.
53706         * lib/unictype/pr_grapheme_extend.c: New file.
53707         * lib/unictype/pr_grapheme_link.c: New file.
53708         * lib/unictype/pr_hex_digit.c: New file.
53709         * lib/unictype/pr_hyphen.c: New file.
53710         * lib/unictype/pr_id_continue.c: New file.
53711         * lib/unictype/pr_id_start.c: New file.
53712         * lib/unictype/pr_ideographic.c: New file.
53713         * lib/unictype/pr_ids_binary_operator.c: New file.
53714         * lib/unictype/pr_ids_trinary_operator.c: New file.
53715         * lib/unictype/pr_ignorable_control.c: New file.
53716         * lib/unictype/pr_iso_control.c: New file.
53717         * lib/unictype/pr_join_control.c: New file.
53718         * lib/unictype/pr_left_of_pair.c: New file.
53719         * lib/unictype/pr_line_separator.c: New file.
53720         * lib/unictype/pr_logical_order_exception.c: New file.
53721         * lib/unictype/pr_lowercase.c: New file.
53722         * lib/unictype/pr_math.c: New file.
53723         * lib/unictype/pr_non_break.c: New file.
53724         * lib/unictype/pr_not_a_character.c: New file.
53725         * lib/unictype/pr_numeric.c: New file.
53726         * lib/unictype/pr_other_alphabetic.c: New file.
53727         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
53728         * lib/unictype/pr_other_grapheme_extend.c: New file.
53729         * lib/unictype/pr_other_id_continue.c: New file.
53730         * lib/unictype/pr_other_id_start.c: New file.
53731         * lib/unictype/pr_other_lowercase.c: New file.
53732         * lib/unictype/pr_other_math.c: New file.
53733         * lib/unictype/pr_other_uppercase.c: New file.
53734         * lib/unictype/pr_paired_punctuation.c: New file.
53735         * lib/unictype/pr_paragraph_separator.c: New file.
53736         * lib/unictype/pr_pattern_syntax.c: New file.
53737         * lib/unictype/pr_pattern_white_space.c: New file.
53738         * lib/unictype/pr_private_use.c: New file.
53739         * lib/unictype/pr_punctuation.c: New file.
53740         * lib/unictype/pr_quotation_mark.c: New file.
53741         * lib/unictype/pr_radical.c: New file.
53742         * lib/unictype/pr_sentence_terminal.c: New file.
53743         * lib/unictype/pr_soft_dotted.c: New file.
53744         * lib/unictype/pr_space.c: New file.
53745         * lib/unictype/pr_terminal_punctuation.c: New file.
53746         * lib/unictype/pr_test.c: New file.
53747         * lib/unictype/pr_titlecase.c: New file.
53748         * lib/unictype/pr_unassigned_code_value.c: New file.
53749         * lib/unictype/pr_unified_ideograph.c: New file.
53750         * lib/unictype/pr_uppercase.c: New file.
53751         * lib/unictype/pr_variation_selector.c: New file.
53752         * lib/unictype/pr_white_space.c: New file.
53753         * lib/unictype/pr_xid_continue.c: New file.
53754         * lib/unictype/pr_xid_start.c: New file.
53755         * lib/unictype/pr_zero_width.c: New file.
53756         * lib/unictype/scripts.c: New file.
53757         * lib/unictype/sy_c_ident.c: New file.
53758         * lib/unictype/sy_c_whitespace.c: New file.
53759         * lib/unictype/sy_java_ident.c: New file.
53760         * lib/unictype/sy_java_whitespace.c: New file.
53761
53762         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
53763         Unicode 5.0.0.
53764         * lib/unictype/blocks.h: Likewise.
53765         * lib/unictype/categ_C.h: Likewise.
53766         * lib/unictype/categ_Cc.h: Likewise.
53767         * lib/unictype/categ_Cf.h: Likewise.
53768         * lib/unictype/categ_Cn.h: Likewise.
53769         * lib/unictype/categ_Co.h: Likewise.
53770         * lib/unictype/categ_Cs.h: Likewise.
53771         * lib/unictype/categ_L.h: Likewise.
53772         * lib/unictype/categ_Ll.h: Likewise.
53773         * lib/unictype/categ_Lm.h: Likewise.
53774         * lib/unictype/categ_Lo.h: Likewise.
53775         * lib/unictype/categ_Lt.h: Likewise.
53776         * lib/unictype/categ_Lu.h: Likewise.
53777         * lib/unictype/categ_M.h: Likewise.
53778         * lib/unictype/categ_Mc.h: Likewise.
53779         * lib/unictype/categ_Me.h: Likewise.
53780         * lib/unictype/categ_Mn.h: Likewise.
53781         * lib/unictype/categ_N.h: Likewise.
53782         * lib/unictype/categ_Nd.h: Likewise.
53783         * lib/unictype/categ_Nl.h: Likewise.
53784         * lib/unictype/categ_No.h: Likewise.
53785         * lib/unictype/categ_P.h: Likewise.
53786         * lib/unictype/categ_Pc.h: Likewise.
53787         * lib/unictype/categ_Pd.h: Likewise.
53788         * lib/unictype/categ_Pe.h: Likewise.
53789         * lib/unictype/categ_Pf.h: Likewise.
53790         * lib/unictype/categ_Pi.h: Likewise.
53791         * lib/unictype/categ_Po.h: Likewise.
53792         * lib/unictype/categ_Ps.h: Likewise.
53793         * lib/unictype/categ_S.h: Likewise.
53794         * lib/unictype/categ_Sc.h: Likewise.
53795         * lib/unictype/categ_Sk.h: Likewise.
53796         * lib/unictype/categ_Sm.h: Likewise.
53797         * lib/unictype/categ_So.h: Likewise.
53798         * lib/unictype/categ_Z.h: Likewise.
53799         * lib/unictype/categ_Zl.h: Likewise.
53800         * lib/unictype/categ_Zp.h: Likewise.
53801         * lib/unictype/categ_Zs.h: Likewise.
53802         * lib/unictype/categ_of.h: Likewise.
53803         * lib/unictype/combining.h: Likewise.
53804         * lib/unictype/ctype_alnum.h: Likewise.
53805         * lib/unictype/ctype_alpha.h: Likewise.
53806         * lib/unictype/ctype_blank.h: Likewise.
53807         * lib/unictype/ctype_cntrl.h: Likewise.
53808         * lib/unictype/ctype_digit.h: Likewise.
53809         * lib/unictype/ctype_graph.h: Likewise.
53810         * lib/unictype/ctype_lower.h: Likewise.
53811         * lib/unictype/ctype_print.h: Likewise.
53812         * lib/unictype/ctype_punct.h: Likewise.
53813         * lib/unictype/ctype_space.h: Likewise.
53814         * lib/unictype/ctype_upper.h: Likewise.
53815         * lib/unictype/ctype_xdigit.h: Likewise.
53816         * lib/unictype/decdigit.h: Likewise.
53817         * lib/unictype/digit.h: Likewise.
53818         * lib/unictype/mirror.h: Likewise.
53819         * lib/unictype/numeric.h: Likewise.
53820         * lib/unictype/pr_alphabetic.h: Likewise.
53821         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
53822         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
53823         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
53824         * lib/unictype/pr_bidi_block_separator.h: Likewise.
53825         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
53826         * lib/unictype/pr_bidi_common_separator.h: Likewise.
53827         * lib/unictype/pr_bidi_control.h: Likewise.
53828         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
53829         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
53830         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
53831         * lib/unictype/pr_bidi_european_digit.h: Likewise.
53832         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
53833         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
53834         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
53835         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
53836         * lib/unictype/pr_bidi_pdf.h: Likewise.
53837         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
53838         * lib/unictype/pr_bidi_whitespace.h: Likewise.
53839         * lib/unictype/pr_combining.h: Likewise.
53840         * lib/unictype/pr_composite.h: Likewise.
53841         * lib/unictype/pr_currency_symbol.h: Likewise.
53842         * lib/unictype/pr_dash.h: Likewise.
53843         * lib/unictype/pr_decimal_digit.h: Likewise.
53844         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
53845         * lib/unictype/pr_deprecated.h: Likewise.
53846         * lib/unictype/pr_diacritic.h: Likewise.
53847         * lib/unictype/pr_extender.h: Likewise.
53848         * lib/unictype/pr_format_control.h: Likewise.
53849         * lib/unictype/pr_grapheme_base.h: Likewise.
53850         * lib/unictype/pr_grapheme_extend.h: Likewise.
53851         * lib/unictype/pr_grapheme_link.h: Likewise.
53852         * lib/unictype/pr_hex_digit.h: Likewise.
53853         * lib/unictype/pr_hyphen.h: Likewise.
53854         * lib/unictype/pr_id_continue.h: Likewise.
53855         * lib/unictype/pr_id_start.h: Likewise.
53856         * lib/unictype/pr_ideographic.h: Likewise.
53857         * lib/unictype/pr_ids_binary_operator.h: Likewise.
53858         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
53859         * lib/unictype/pr_ignorable_control.h: Likewise.
53860         * lib/unictype/pr_iso_control.h: Likewise.
53861         * lib/unictype/pr_join_control.h: Likewise.
53862         * lib/unictype/pr_left_of_pair.h: Likewise.
53863         * lib/unictype/pr_line_separator.h: Likewise.
53864         * lib/unictype/pr_logical_order_exception.h: Likewise.
53865         * lib/unictype/pr_lowercase.h: Likewise.
53866         * lib/unictype/pr_math.h: Likewise.
53867         * lib/unictype/pr_non_break.h: Likewise.
53868         * lib/unictype/pr_not_a_character.h: Likewise.
53869         * lib/unictype/pr_numeric.h: Likewise.
53870         * lib/unictype/pr_other_alphabetic.h: Likewise.
53871         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
53872         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
53873         * lib/unictype/pr_other_id_continue.h: Likewise.
53874         * lib/unictype/pr_other_id_start.h: Likewise.
53875         * lib/unictype/pr_other_lowercase.h: Likewise.
53876         * lib/unictype/pr_other_math.h: Likewise.
53877         * lib/unictype/pr_other_uppercase.h: Likewise.
53878         * lib/unictype/pr_paired_punctuation.h: Likewise.
53879         * lib/unictype/pr_paragraph_separator.h: Likewise.
53880         * lib/unictype/pr_pattern_syntax.h: Likewise.
53881         * lib/unictype/pr_pattern_white_space.h: Likewise.
53882         * lib/unictype/pr_private_use.h: Likewise.
53883         * lib/unictype/pr_punctuation.h: Likewise.
53884         * lib/unictype/pr_quotation_mark.h: Likewise.
53885         * lib/unictype/pr_radical.h: Likewise.
53886         * lib/unictype/pr_sentence_terminal.h: Likewise.
53887         * lib/unictype/pr_soft_dotted.h: Likewise.
53888         * lib/unictype/pr_space.h: Likewise.
53889         * lib/unictype/pr_terminal_punctuation.h: Likewise.
53890         * lib/unictype/pr_titlecase.h: Likewise.
53891         * lib/unictype/pr_unassigned_code_value.h: Likewise.
53892         * lib/unictype/pr_unified_ideograph.h: Likewise.
53893         * lib/unictype/pr_uppercase.h: Likewise.
53894         * lib/unictype/pr_variation_selector.h: Likewise.
53895         * lib/unictype/pr_white_space.h: Likewise.
53896         * lib/unictype/pr_xid_continue.h: Likewise.
53897         * lib/unictype/pr_xid_start.h: Likewise.
53898         * lib/unictype/pr_zero_width.h: Likewise.
53899         * lib/unictype/scripts.h: Likewise.
53900         * lib/unictype/scripts_byname.gperf: Likewise.
53901         * lib/unictype/sy_c_ident.h: Likewise.
53902         * lib/unictype/sy_c_whitespace.h: Likewise.
53903         * lib/unictype/sy_java_ident.h: Likewise.
53904         * lib/unictype/sy_java_whitespace.h: Likewise.
53905
53906         * lib/unictype/Makefile: New file.
53907         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
53908         glibc.
53909         * lib/unictype/3level.h: New file, copied from glibc.
53910         * lib/unictype/3levelbit.h: New file.
53911
53912 2007-11-11  Bruno Haible  <bruno@clisp.org>
53913
53914         * modules/gperf: New file.
53915         * modules/iconv_open (Depends-on): Add it.
53916         (Makefile.am): Remove the GPERF definition.
53917
53918 2007-11-11  Bruno Haible  <bruno@clisp.org>
53919
53920         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
53921         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
53922
53923 2007-11-11  Bruno Haible  <bruno@clisp.org>
53924
53925         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
53926         (usage): Remove function.
53927
53928 2007-11-11  Bruno Haible  <bruno@clisp.org>
53929
53930         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
53931         gl_FUNC_CEILF_LIBS.
53932         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
53933         gl_FUNC_CEIL_LIBS.
53934         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
53935         gl_FUNC_CEILL_LIBS.
53936         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
53937         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
53938         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
53939
53940 2007-11-11  Bruno Haible  <bruno@clisp.org>
53941
53942         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
53943         roundf were declared but do not exist on functions.
53944         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
53945         roundl were declared but do not exist on functions.
53946         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
53947         HAVE_FLOORL_AND_CEILL, respectively.
53948         Needed for Sun C on Solaris 10.
53949
53950 2007-11-11  Bruno Haible  <bruno@clisp.org>
53951
53952         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
53953         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
53954         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
53955         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
53956         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
53957         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
53958         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
53959         HAVE_DECL_ROUNDF.
53960         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
53961         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
53962         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
53963         of HAVE_DECL_ROUND*.
53964         * modules/math (Makefile.am): Update.
53965
53966 2007-11-10  Bruno Haible  <bruno@clisp.org>
53967
53968         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
53969         ptrdiff_t as m4/intl.m4.
53970
53971 2007-11-10  Jim Meyering  <meyering@redhat.com>
53972
53973         Avoid link failure for the argmatch test.
53974         * tests/test-argmatch.c (usage): Define function to avoid a link
53975         failure: argmatch_die requires a usage function.
53976
53977 2007-11-09  Bruno Haible  <bruno@clisp.org>
53978
53979         * doc/functions/snprintf.texi: Mention BeOS deficiency.
53980         * doc/functions/vsnprintf.texi: Likewise.
53981         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
53982         with a size argument < 2.
53983
53984 2007-11-09  Bruno Haible  <bruno@clisp.org>
53985
53986         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
53987         buffer. Fixes an inefficiency introduced on 2007-11-03.
53988
53989 2007-11-09  Bruno Haible  <bruno@clisp.org>
53990
53991         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
53992         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
53993
53994 2007-11-08  Jim Meyering  <meyering@redhat.com>
53995
53996         Change cache variable name prefix "jm_" to "gl_" everywhere.
53997         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
53998         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
53999         * m4/uptime.m4: s/gl_/jm_/
54000
54001 2007-11-07  Bruno Haible  <bruno@clisp.org>
54002
54003         Update to GNU gettext 0.17.
54004         * m4/intl.m4: Update to GNU gettext 0.17.
54005         * m4/po.m4: Likewise.
54006         * modules/gettext (Files): Remove m4/ulonglong.m4.
54007         (configure.ac): Require gettext infrastructure from version 0.17.
54008
54009 2007-11-06  Bruno Haible  <bruno@clisp.org>
54010
54011         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
54012         symbolic values are not defined in a public header.
54013         * lib/freadable.c (freadable) [QNX]: Likewise.
54014         * lib/freadahead.c (freadahead) [QNX]: Likewise.
54015         * lib/freading.c (freading) [QNX]: Likewise.
54016         * lib/fseterr.c (fseterr) [QNX]: Likewise.
54017         * lib/fwritable.c (fwritable) [QNX]: Likewise.
54018         * lib/fwriting.c (fwriting) [QNX]: Likewise.
54019         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
54020         Reported by Alain Magloire.
54021
54022         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
54023
54024 2007-11-05  Bruno Haible  <bruno@clisp.org>
54025
54026         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
54027         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
54028         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
54029         Reported by Eric Blake.
54030
54031 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54032             Bruno Haible  <bruno@clisp.org>
54033
54034         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
54035         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
54036         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
54037         (malloc): Undefine also before including <stdlib.h>.
54038         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
54039         Needed on OSF/1 4.0.
54040
54041 2007-11-05  Jim Meyering  <meyering@redhat.com>
54042
54043         git-version-gen: sync from coreutils.
54044         * build-aux/git-version-gen: Add comments.
54045         Change the first '-' to '.' in the snapshot version string,
54046         e.g., 6.9-377-08144 -> 6.9.377-08144
54047         Remove first parameter.
54048         Don't declare a version "-dirty" merely because a time
54049         stamp has changed.
54050
54051 2007-11-04  Bruno Haible  <bruno@clisp.org>
54052
54053         * lib/lock.h: Protect all macro definitions containing an 'if'
54054         statement through a "do { ... } while (0)".
54055         * lib/tls.h: Likewise.
54056
54057 2007-11-04  Bruno Haible  <bruno@clisp.org>
54058
54059         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
54060
54061 2007-11-04  Bruno Haible  <bruno@clisp.org>
54062
54063         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
54064         * modules/fprintf-posix (Depends-on): Add nocrash.
54065         * modules/snprintf-posix (Depends-on): Likewise.
54066         * modules/sprintf-posix (Depends-on): Likewise.
54067         * modules/vasnprintf-posix (Depends-on): Likewise.
54068         * modules/vasprintf-posix (Depends-on): Likewise.
54069         * modules/vfprintf-posix (Depends-on): Likewise.
54070         * modules/vsnprintf-posix (Depends-on): Likewise.
54071         * modules/vsprintf-posix (Depends-on): Likewise.
54072         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
54073         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
54074         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
54075         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
54076         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
54077         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
54078         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
54079
54080 2007-11-04  Bruno Haible  <bruno@clisp.org>
54081
54082         * modules/nocrash: New file.
54083         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
54084         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
54085
54086 2007-11-04  Bruno Haible  <bruno@clisp.org>
54087
54088         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
54089         precision handling.
54090         * tests/test-vasprintf-posix.c (test_function): Likewise.
54091         * tests/test-snprintf-posix.h (test_function): Likewise.
54092         * tests/test-sprintf-posix.h (test_function): Likewise.
54093
54094         Fix *printf behaviour for large precisions on mingw and BeOS.
54095         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
54096         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
54097         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
54098         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
54099         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
54100         gl_PRINTF_PRECISION and test its result. Invoke
54101         gl_PREREQ_VASNPRINTF_PRECISION.
54102         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
54103         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
54104         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
54105         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
54106         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
54107         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
54108         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
54109         * doc/functions/fprintf.texi: Update.
54110         * doc/functions/printf.texi: Update.
54111         * doc/functions/snprintf.texi: Update.
54112         * doc/functions/sprintf.texi: Update.
54113         * doc/functions/vfprintf.texi: Update.
54114         * doc/functions/vprintf.texi: Update.
54115         * doc/functions/vsnprintf.texi: Update.
54116         * doc/functions/vsprintf.texi: Update.
54117
54118 2007-11-04  Bruno Haible  <bruno@clisp.org>
54119
54120         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
54121
54122 2007-11-04  Bruno Haible  <bruno@clisp.org>
54123
54124         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
54125         Reported by Sylvain Beucler <beuc@gnu.org>.
54126
54127 2007-11-03  Bruno Haible  <bruno@clisp.org>
54128
54129         * tests/test-fprintf-posix2.sh: New file.
54130         * tests/test-fprintf-posix2.c: New file.
54131         * modules/fprintf-posix-tests (Files): Add them.
54132         (TESTS): Add test-fprintf-posix2.sh.
54133         (configure.ac): Check for getrlimit and setrlimit.
54134         (check_PROGRAMS): Add test-fprintf-posix2.
54135
54136         * tests/test-printf-posix2.sh: New file.
54137         * tests/test-printf-posix2.c: New file.
54138         * modules/printf-posix-tests (Files): Add them.
54139         (TESTS): Add test-printf-posix2.sh.
54140         (configure.ac): Check for getrlimit and setrlimit.
54141         (check_PROGRAMS): Add test-printf-posix2.
54142
54143         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
54144         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
54145         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
54146         (decode_double): New function, copied from decode_long_double.
54147         (scale10_round_decimal_decoded): New function, extracted from
54148         scale10_round_decimal_long_double.
54149         (scale10_round_decimal_long_double): Use it.
54150         (scale10_round_decimal_double): New function.
54151         (floorlog10): New function.
54152         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
54153         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
54154         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
54155         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
54156         gl_PRINTF_ENOMEM and test its result. Invoke
54157         gl_PREREQ_VASNPRINTF_ENOMEM.
54158         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
54159         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
54160         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
54161         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
54162         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
54163         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
54164         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
54165         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
54166         * modules/snprintf-posix (Depends-on): Likewise.
54167         * modules/sprintf-posix (Depends-on): Likewise.
54168         * modules/vasnprintf-posix (Depends-on): Likewise.
54169         * modules/vasprintf-posix (Depends-on): Likewise.
54170         * modules/vfprintf-posix (Depends-on): Likewise.
54171         * modules/vsnprintf-posix (Depends-on): Likewise.
54172         * modules/vsprintf-posix (Depends-on): Likewise.
54173         * doc/functions/fprintf.texi: Update.
54174         * doc/functions/printf.texi: Update.
54175         * doc/functions/snprintf.texi: Update.
54176         * doc/functions/sprintf.texi: Update.
54177         * doc/functions/vfprintf.texi: Update.
54178         * doc/functions/vprintf.texi: Update.
54179         * doc/functions/vsnprintf.texi: Update.
54180         * doc/functions/vsprintf.texi: Update.
54181
54182 2007-11-03  Bruno Haible  <bruno@clisp.org>
54183
54184         * modules/frexp-nolibm-tests: New file.
54185
54186         * modules/frexp-nolibm: New file.
54187         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
54188
54189 2007-11-03  Bruno Haible  <bruno@clisp.org>
54190
54191         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
54192         value is C99 compliant.
54193         Needed for OSF/1 5.1.
54194
54195 2007-11-03  Bruno Haible  <bruno@clisp.org>
54196
54197         Fix out-of-memory handling of vasnprintf.
54198         * lib/printf-parse.c: Include <errno.h>.
54199         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
54200         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
54201         is already set.
54202
54203 2007-11-02  Eric Blake  <ebb9@byu.net>
54204
54205         Fix tests on cygwin.
54206         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
54207
54208 2007-11-01  Bruno Haible  <bruno@clisp.org>
54209
54210         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
54211         warning.
54212         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
54213         needed for POSIX compatibility.
54214
54215 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
54216
54217         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
54218         for compatibility with GNU.
54219
54220 2007-11-01  Bruno Haible  <bruno@clisp.org>
54221
54222         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
54223         (putenv): Renamed from rpl_putenv. Change argument type from
54224         'const char *' to 'char *'.
54225         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
54226         of defining putenv in config.h, just set REPLACE_PUTENV.
54227         * modules/putenv (Depends-on): Add stdlib.
54228         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
54229         (Include): Use <stdlib.h>.
54230         * lib/stdlib.in.h (putenv): New declaration.
54231         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
54232         REPLACE_PUTENV.
54233         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
54234         REPLACE_PUTENV.
54235         Needed for MacOS X 10.5.0.
54236         Reported by Peter O'Gorman <peter@pogma.com>.
54237
54238 2007-11-01  Jim Meyering  <meyering@redhat.com>
54239
54240         Treat an empty date string exactly like "0".
54241         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
54242         if the remaining date string (to be parsed) is empty, use "0".
54243         Reported by Mischa Molhoek and discussed in this thread:
54244         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
54245
54246 2007-10-31  Bruno Haible  <bruno@clisp.org>
54247
54248         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
54249         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
54250         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
54251         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
54252         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
54253         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
54254
54255 2007-10-31  Bruno Haible  <bruno@clisp.org>
54256
54257         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
54258         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
54259         (AC_TYPE_LONG_LONG_INT): Use it.
54260         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
54261         it as well.
54262         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
54263         to m4/longlong.m4.
54264         * modules/stdint (Files): Remove m4/ulonglong.m4.
54265         * modules/strtoull (Files): Use m4/longlong.m4 instead of
54266         m4/ulonglong.m4.
54267         * modules/strtoumax (Files): Likewise.
54268
54269 2007-10-30  Bruno Haible  <bruno@clisp.org>
54270
54271         * modules/xvasprintf-posix: New file.
54272         Suggested by Eric Blake.
54273
54274 2007-10-30  Bruno Haible  <bruno@clisp.org>
54275
54276         * modules/xprintf-posix-tests: New file.
54277         * tests/test-xprintf-posix.sh: New file.
54278         * tests/test-xprintf-posix.c: New file.
54279         * tests/test-xfprintf-posix.c: New file.
54280
54281         * modules/xprintf-posix: New file.
54282
54283 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54284
54285         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
54286         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
54287         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
54288
54289 2007-10-29  Bruno Haible  <bruno@clisp.org>
54290
54291         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
54292         contain the special marker '_cv_'.
54293         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
54294         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
54295         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
54296         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
54297         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
54298         Reported by Ralf Wildenhues.
54299
54300 2007-10-29  Bruno Haible  <bruno@clisp.org>
54301
54302         * gnulib-tool (func_import): When --lgpl is not specified, set
54303         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
54304         GPLv3.
54305         Reported by Simon Josefsson.
54306
54307 2007-10-28  Bruno Haible  <bruno@clisp.org>
54308
54309         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
54310         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
54311         HAVE_DECL_ISFINITE.
54312         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
54313         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
54314         HAVE_DECL_ISFINITE.
54315
54316 2007-10-28  Bruno Haible  <bruno@clisp.org>
54317
54318         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
54319         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
54320
54321 2007-10-28  Bruno Haible  <bruno@clisp.org>
54322
54323         Fix link errors with Sun C 5.0 on Solaris 10.
54324         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
54325         function is declared but not present in the compiler's libm.
54326         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
54327         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
54328         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
54329         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
54330         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
54331         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
54332         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
54333         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
54334         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
54335         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
54336         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
54337         HAVE_DECL_FLOORL.
54338
54339 2007-10-28  Bruno Haible  <bruno@clisp.org>
54340
54341         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
54342         gl_FUNC_FLOORL. Cache the result.
54343         (gl_FUNC_FLOORL): Use it.
54344         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
54345         gl_FUNC_CEILL. Cache the result.
54346         (gl_FUNC_CEILL): Use it.
54347
54348         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
54349         gl_FUNC_FLOOR. Cache the result.
54350         (gl_FUNC_FLOOR): Use it.
54351         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
54352         gl_FUNC_CEIL. Cache the result.
54353         (gl_FUNC_CEIL): Use it.
54354
54355         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
54356         gl_FUNC_FLOORF. Cache the result.
54357         (gl_FUNC_FLOORF): Use it.
54358         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
54359         gl_FUNC_CEILF. Cache the result.
54360         (gl_FUNC_CEILF): Use it.
54361
54362 2007-10-28  Bruno Haible  <bruno@clisp.org>
54363
54364         * gnulib-tool: Allow specifying the LGPL version number through
54365         --lgpl=2 or --lgpl=3.
54366         (func_usage): Document --lgpl with argument.
54367         Handle --lgpl=... arguments.
54368         (func_import): Recognize also gl_LGPL calls with an argument. When
54369         --lgpl=2 is used and the module's license is just LGPL, report an
54370         error. Set sed_transform_lib_file according to the lgpl variable. In
54371         the generated files, use --lgpl or gl_LGPL invocations with argument,
54372         if necessary.
54373         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
54374         an LGPv2+ license.
54375         * doc/gnulib-tool.texi (Modified imports): Update explanation of
54376         gl_LGPL macro.
54377
54378 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54379             Bruno Haible  <bruno@clisp.org>
54380
54381         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
54382         (u16_uctomb_aux): Likewise.
54383         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
54384         !HAVE_INLINE.
54385         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
54386
54387 2007-10-28  Bruno Haible  <bruno@clisp.org>
54388
54389         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
54390         Invoke AM_GETTEXT_OPTION if it exists.
54391         * modules/vasprintf: Likewise.
54392         * modules/verror: Likewise.
54393         * modules/xprintf: Likewise.
54394         * modules/xvasprintf: Likewise.
54395
54396 2007-10-27  Ben Pfaff  <blp@gnu.org>
54397
54398         * lib/math.in.h: Define isfinite macro and prototypes for
54399         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
54400         implementations.
54401         * m4/math_h.m4: New substitutions for isfinite module.
54402         * lib/isfinite.c: New file.
54403         * m4/isfinite.m4: New file.
54404         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
54405         * modules/isfinite: New file.
54406         * modules/isfinite-tests: New file.
54407         * tests/tests-isfinite.c: New file.
54408         * doc/functions/isfinite.texi: Mention isfinite module.
54409         * MODULES.html.sh: Mention new module.
54410
54411 2007-10-27  Ben Pfaff  <blp@gnu.org>
54412
54413         Ralf Wildenhues reported that Tru64 4.0D declares the round
54414         functions but does not have definitions.
54415         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
54416         cannot be found in any library, set the output variable to
54417         "missing" instead of "".
54418         * m4/round.m4: Also use our substitute if we cannot find round in
54419         any library, even if it is declared.
54420         * m4/roundf.m4: Likewise for roundf.
54421         * m4/roundl.m4: Likewise for roundl.
54422         * lib/math.in.h: Undefine roundf, round, roundl before defining
54423         their replacements, to allow for hypothetical systems where these
54424         may be defined as macros but not available in libraries.
54425
54426 2007-10-27  Bruno Haible  <bruno@clisp.org>
54427
54428         * doc/gnulib.texi: Invoke @firstparagraphindent.
54429         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
54430         changes in gnulib.
54431         (Source changes): New section.
54432
54433 2007-10-26  Bruno Haible  <bruno@clisp.org>
54434
54435         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
54436         borrowed from autoconf.
54437
54438 2007-10-26  Bruno Haible  <bruno@clisp.org>
54439
54440         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
54441         strerror returned the empty string. Needed on HP-UX 11.00.
54442
54443 2007-10-24  Micah Cowan  <micah@cowan.name>
54444
54445         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
54446         * build-aux/bootstrap: Remove support for now-unnecessary option,
54447         --cvs-user, and envvars CVS_USER, CVS_RSH.
54448
54449 2007-10-24  Jim Meyering  <meyering@redhat.com>
54450
54451         Avoid diagnostics from sha1sum when there is no cached checksum.
54452         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
54453         if the po.s1 file hasn't been created yet.
54454
54455         * build-aux/bootstrap: Sync from coreutils:
54456         2007-10-24  Jim Meyering  <meyering@redhat.com>
54457         Get gnulib from the git repository, not from an obsolete cvs one.
54458         * build-aux/bootstrap: Suggestion from Micah Cowan.
54459         2007-10-04  Jim Meyering  <jim@meyering.net>
54460         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
54461         (update_po_files): Work also when there are no .po files in po/.
54462
54463 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
54464
54465         * README: Append ".git" to git and cg examples.
54466         Problem reported by Benoit Sigoure.
54467
54468 2007-10-23  Micah Cowan  <micah@cowan.name>
54469
54470         * users.txt: Add wget.
54471
54472 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54473
54474         Fix linking of some unistdio tests on FreeBSD.
54475         * modules/unistdio/u16-vsnprintf-tests
54476         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
54477         * modules/unistdio/u16-vsprintf-tests
54478         (test_u16_vsnprintf1_LDADD): Likewise.
54479         * modules/unistdio/u32-vsnprintf-tests
54480         (test_u32_vsnprintf1_LDADD): Likewise.
54481         * modules/unistdio/u32-vsprintf-tests
54482         (test_u32_vsprintf1_LDADD): Likewise.
54483         * modules/unistdio/u8-vsnprintf-tests
54484         (test_u8_vsnprintf1_LDADD): Likewise.
54485         * modules/unistdio/u8-vsprintf-tests
54486         (test_u8_vsprintf1_LDADD): Likewise.
54487         * modules/unistdio/ulc-vsnprintf-tests
54488         (test_ulc_vsnprintf1_LDADD): Likewise.
54489         * modules/unistdio/ulc-vsprintf-tests
54490         (test_ulc_vsprintf1_LDADD): Likewise.
54491
54492         Fix linking of some uniconv tests on FreeBSD.
54493         * modules/uniconv/u16-conv-from-enc-tests
54494         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
54495         * modules/uniconv/u16-conv-to-enc-tests
54496         (test_u16_conv_to_enc_LDADD): Likewise.
54497         * modules/uniconv/u16-strconv-from-enc-tests
54498         (test_u16_strconv_from_enc_LDADD): Likewise.
54499         * modules/uniconv/u16-strconv-to-enc-tests
54500         (test_u16_strconv_to_enc_LDADD): Likewise.
54501         * modules/uniconv/u32-conv-from-enc-tests
54502         (test_u32_conv_from_enc_LDADD): Likewise.
54503         * modules/uniconv/u32-conv-to-enc-tests
54504         (test_u32_conv_to_enc_LDADD): Likewise.
54505         * modules/uniconv/u32-strconv-from-enc-tests
54506         (test_u32_strconv_from_enc_LDADD): Likewise.
54507         * modules/uniconv/u32-strconv-to-enc-tests
54508         (test_u32_strconv_to_enc_LDADD): Likewise.
54509         * modules/uniconv/u8-conv-from-enc-tests
54510         (test_u8_conv_from_enc_LDADD): Likewise.
54511         * modules/uniconv/u8-conv-to-enc-tests
54512         (test_u8_conv_to_enc_LDADD): Likewise.
54513         * modules/uniconv/u8-strconv-from-enc-tests
54514         (test_u8_strconv_from_enc_LDADD): Likewise.
54515         * modules/uniconv/u8-strconv-to-enc-tests
54516         (test_u8_strconv_to_enc_LDADD): Likewise.
54517
54518 2007-10-22  Bruno Haible  <bruno@clisp.org>
54519
54520         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
54521         size.
54522
54523 2007-10-22  Eric Blake  <ebb9@byu.net>
54524
54525         Tweak x*printf documentation.
54526         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
54527         variable name and comments.
54528         Suggested by Bruno Haible.
54529
54530 2007-10-22  Bruno Haible  <bruno@clisp.org>
54531
54532         * lib/acl.c (copy_acl): Fix file name in comment.
54533
54534 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
54535
54536         Fix Tru64 problem with stdbool.h.
54537         * lib/stdbool.in.h (false, true):
54538         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
54539         Don't declare as an enum in this situation; it runs afoul of Tru64.
54540         Problem reported by Steven M. Schweda in
54541         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
54542
54543 2007-10-22  Eric Blake  <ebb9@byu.net>
54544
54545         Also wrap vf?printf.
54546         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
54547         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
54548         (xvprintf, xvfprintf): New functions.
54549
54550 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54551
54552         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
54553         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
54554
54555         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
54556         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
54557
54558 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
54559
54560         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
54561         by Bruno Haible.
54562
54563 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54564
54565         * lib/getloadavg.c
54566         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
54567         Undef `sys' after including sys/table.h, for Tru64 4.0D.
54568
54569         * tests/test-i-ring.c: Work for C89.
54570
54571 2007-10-22  Bruno Haible  <bruno@clisp.org>
54572
54573         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
54574         -1u, in preprocessor expression, so that we don't test for the bug
54575         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
54576         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
54577
54578 2007-10-22  Eric Blake  <ebb9@byu.net>
54579
54580         * tests/test-yesno.sh: Silence stderr during test.
54581
54582 2007-10-22  Simon Josefsson  <simon@josefsson.org>
54583
54584         * modules/crypto/gc-camellia: New file.
54585
54586         * m4/gc-camellia.m4: New file.
54587
54588         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
54589
54590         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
54591
54592 2007-10-22  Simon Josefsson  <simon@josefsson.org>
54593
54594         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
54595         --help to stdout.  Reported by sms@antinode.org (Steven
54596         M. Schweda).
54597
54598 2007-10-22  Simon Josefsson  <simon@josefsson.org>
54599
54600         * users.txt: Fix link to libksba.
54601
54602 2007-10-21  Ben Pfaff  <blp@gnu.org>
54603
54604         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
54605         round.c roundf implementation that depends on floorf and ceilf to
54606         be tested unconditionally.
54607
54608 2007-10-21  Ben Pfaff  <blp@gnu.org>
54609
54610         * m4/check-libm-func.m4: Removed.
54611         * m4/check-math-lib.m4: New file.
54612         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
54613         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
54614         definition and lack of AC_LIBOBJ([roundf]).
54615         * m4/roundl.m4: Ditto, and similarly for roundl.
54616         * modules/round: Reference new m4 file.
54617         * modules/roundf: Ditto.
54618         * modules/roundl: Ditto.
54619         * tests/test-round2.c (main): Use ROUND instead of round.
54620         Bug report from Bruno Haible.
54621
54622 2007-10-21  Bruno Haible  <bruno@clisp.org>
54623
54624         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
54625         context.
54626
54627 2007-10-21  Bruno Haible  <bruno@clisp.org>
54628
54629         * tests/test-wcwidth.c (main): Allow negative result for some control
54630         characters.
54631
54632         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
54633         Needed on OSF/1 5.1.
54634
54635 2007-10-21  Bruno Haible  <bruno@clisp.org>
54636
54637         * tests/test-floorf1.c: Include isnanf.h.
54638         (main): Use isnanf() instead of isnan().
54639         * tests/test-ceilf1.c: Include isnanf.h.
54640         (main): Use isnanf() instead of isnan().
54641         * tests/test-truncf1.c: Include isnanf.h.
54642         (main): Use isnanf() instead of isnan().
54643         * tests/test-roundf1.c: Include isnanf.h.
54644         (main): Use isnanf() instead of isnan().
54645
54646 2007-10-21  Eric Blake  <ebb9@byu.net>
54647
54648         * users.txt: Update URL for m4.
54649
54650 2007-10-21  Bruno Haible  <bruno@clisp.org>
54651
54652         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
54653
54654 2007-10-21  Bruno Haible  <bruno@clisp.org>
54655
54656         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
54657         Git's management files if the CVS files are not present.
54658
54659 2007-10-20  Bruno Haible  <bruno@clisp.org>
54660
54661         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
54662         gcc-3.4.x.
54663
54664 2007-10-20  Ben Pfaff  <blp@gnu.org>
54665
54666         * lib/math.in.h: Declare round, roundf, roundl if we are providing
54667         implementations.
54668         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
54669         * lib/round.c: New file.
54670         * lib/roundf.c: New file.
54671         * lib/roundl.c: New file.
54672         * m4/round.m4: New file.
54673         * m4/roundf.m4: New file.
54674         * m4/roundl.m4: New file.
54675         * m4/check-libm-func-m4: New file.
54676         * modules/math: Replace round, roundf, roundl related @VARS@ in
54677         math.in.h.
54678         * modules/round: New file.
54679         * modules/round-tests: New file.
54680         * modules/roundf: New file.
54681         * modules/roundf-tests: New file.
54682         * modules/roundl: New file.
54683         * modules/roundl-tests: New file.
54684         * tests/test-round1.c: New file.
54685         * tests/test-round2.c: New file.
54686         * tests/test-roundf1.c: New file.
54687         * tests/test-roundf2.c: New file.
54688         * tests/test-roundl.c: New file.
54689         * doc/functions/round.texi: Mention round module.
54690         * doc/functions/roundf.texi: Mention roundf module.
54691         * doc/functions/roundl.texi: Mention roundl module.
54692         * MODULES.html.sh: Mention new modules.
54693         Thanks to Bruno Haible for suggestions.
54694
54695 2007-10-20  Jim Meyering  <meyering@redhat.com>
54696
54697         * lib/xprintf.c: Include <config.h> unconditionally.
54698
54699         Change xprintf's license to GPL.
54700         * modules/xprintf (License): s/LGPL/GPL/, since this module
54701         depends on modules (exit and exitfail) which are GPL.
54702         Suggestion from Bruno Haible.
54703
54704         xprintf fixes.
54705         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
54706         Use a clearer diagnostic.
54707         Patch from Bruno Haible.
54708
54709 2007-10-20  Bruno Haible  <bruno@clisp.org>
54710
54711         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
54712         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
54713         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54714
54715 2007-10-20  Bruno Haible  <bruno@clisp.org>
54716
54717         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
54718         precision in the comparison result > x - 1 or similar.
54719         * tests/test-ceilf2.c (correct_result_p): Likewise.
54720         * tests/test-truncf2.c (correct_result_p): Likewise.
54721         * tests/test-trunc2.c (correct_result_p): Likewise.
54722         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54723
54724 2007-10-20  Bruno Haible  <bruno@clisp.org>
54725
54726         * modules/ceil: New file.
54727         * m4/ceil.m4: New file.
54728         * doc/functions/ceil.texi: Mention the 'ceil' module.
54729
54730 2007-10-20  Bruno Haible  <bruno@clisp.org>
54731
54732         * modules/floor: New file.
54733         * m4/floor.m4: New file.
54734         * doc/functions/floor.texi: Mention the 'floor' module.
54735
54736 2007-10-20  Bruno Haible  <bruno@clisp.org>
54737
54738         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
54739         of %a.
54740         * modules/floorf-tests (Depends-on): Likewise.
54741         * modules/truncf-tests (Depends-on): Likewise.
54742         * modules/trunc-tests (Depends-on): Likewise.
54743         Reported by Ben Pfaff.
54744
54745 2007-10-19  Jim Meyering  <meyering@redhat.com>
54746
54747         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
54748         Don't bother testing specific errno values.  Just test ferror.
54749
54750         New module: xprintf
54751         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
54752
54753 2007-10-19  Bruno Haible  <bruno@clisp.org>
54754
54755         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
54756         syntax.
54757         * modules/javaexec (Makefile.am): Likewise.
54758         * modules/relocatable-prog (Makefile.am): Likewise.
54759         Suggested by Jim Meyering.
54760
54761 2007-10-18  Bruno Haible  <bruno@clisp.org>
54762
54763         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
54764         Reported by Jim Meyering.
54765
54766 2007-10-18  Eric Blake  <ebb9@byu.net>
54767
54768         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
54769
54770 2007-10-18  Bruno Haible  <bruno@clisp.org>
54771
54772         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
54773         the format string into writable memory. Needed in Fortify conditions.
54774
54775 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
54776             Bruno Haible  <bruno@clisp.org>
54777
54778         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
54779         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
54780         * modules/trim (Depends-on): Add mbchar.
54781         (configure.ac): Add gl_FUNC_MBRTOWC.
54782         (Makefile.am): Augment lib_SOURCES.
54783
54784 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
54785
54786         Modify glob.c to use fstatat and dirfd, to simplify it.
54787         Suggested by Eric Blake.
54788         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
54789         Don't include <stdbool.h>; not used.
54790         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
54791         (link_exists_p): Simplify implementation, since we can now assume
54792         dirfd and fstatat.
54793         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
54794
54795 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54796
54797         * gnulib-tool (func_get_dependencies): Fix sed script to
54798         match only tests.
54799
54800 2007-10-17  Bruno Haible  <bruno@clisp.org>
54801
54802         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
54803         allow locale names without encoding suffix.
54804         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
54805         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
54806
54807 2007-10-16  Bruno Haible  <bruno@clisp.org>
54808
54809         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
54810         * lib/getgroups.c (getgroups): Likewise.
54811         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
54812
54813 2007-10-16  Bruno Haible  <bruno@clisp.org>
54814
54815         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
54816         * modules/malloc-posix (License): Likewise.
54817         * modules/realloc-posix (License): Likewise.
54818         * modules/calloc-posix (License): Likewise.
54819         * modules/intprops (License): Change from GPL to LGPL, with
54820         Paul Eggert's approval.
54821
54822 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
54823
54824         Merge glibc changes into lib/glob.c.
54825
54826         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
54827         2007-10-15 04:59:03 UTC.  Here are the changes:
54828
54829         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
54830
54831         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
54832
54833         * lib/glob.c: Add some branch prediction throughout.
54834
54835         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
54836
54837         [BZ #5103]
54838         * lib/glob.c (glob): Recognize patterns starting \/.
54839
54840         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
54841
54842         [BZ #3996]
54843         * lib/glob.c (attribute_hidden): Define if not defined.
54844         (glob): Unescape dirname, filename or username when needed and not
54845         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
54846         is NULL.  Handle unescaped [ in pattern without closing ].
54847         Don't pass GLOB_CHECK down to recursive glob for directories.
54848         (__glob_pattern_type): New function.
54849         (__glob_pattern_p): Implement using __glob_pattern_type.
54850         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
54851         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
54852         Remove unreachable code.
54853
54854         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
54855
54856         * lib/glob.c (glob_in_dir): Add some comments and asserts to
54857         explain why there are no leaks.
54858
54859         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
54860
54861         [BZ #3253]
54862         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
54863         time, rather allocate increasingly bigger arrays of pointers, if
54864         possible with alloca, if too large with malloc.
54865
54866 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
54867
54868         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
54869         Problem reported by H.Merijn Brand in
54870         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
54871         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
54872         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
54873
54874 2007-10-15  Bruno Haible  <bruno@clisp.org>
54875
54876         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
54877         with explicit rpl_ prefix.
54878         * lib/fopen.c (fopen): Likewise.
54879         * lib/freopen.c (freopen): Likewise.
54880         * lib/iconv.c (iconv): Likewise.
54881         * lib/iconv_close.c (iconv_close): Likewise.
54882
54883 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54884
54885         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
54886
54887 2007-10-15  Bruno Haible  <bruno@clisp.org>
54888
54889         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
54890         <stddef.h> instead of <stdlib.h> since we only need NULL.
54891         Reported by Ben Pfaff <blp@cs.stanford.edu>.
54892
54893 2007-10-15  Bruno Haible  <bruno@clisp.org>
54894
54895         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
54896         Replace paragraph talking about LIBOBJS.
54897         Reported by Colin Watson <cjwatson@debian.org>.
54898
54899 2007-10-15  Bruno Haible  <bruno@clisp.org>
54900
54901         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
54902         <stdlib.h> before using NULL.
54903
54904 2007-10-15  Simon Josefsson  <simon@josefsson.org>
54905
54906         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
54907         Reported by Albert Chin <china@thewrittenword.com>.
54908
54909 2007-10-14  Bruno Haible  <bruno@clisp.org>
54910
54911         * modules/iconv_open-utf-tests: New file.
54912         * tests/test-iconv-utf.c: New file.
54913
54914         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
54915         * modules/iconv_open-utf: New file.
54916         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
54917         (iconv, iconv_close): New declarations.
54918         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
54919         be defined.
54920         (iconv_open): Add special handling of conversion between UTF-8 and
54921         UTF-{16,32}{BE,LE}.
54922         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
54923         * lib/iconv_close.c: New file.
54924         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
54925         gl_FUNC_ICONV_OPEN.
54926         (gl_FUNC_ICONV_OPEN): Use it.
54927         (gl_FUNC_ICONV_OPEN_UTF): New macro.
54928         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
54929         and REPLACE_ICONV_UTF.
54930         * modules/iconv_open (Depends-on): Add c-strcase.
54931         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
54932         ICONV_CONST.
54933         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
54934
54935 2007-10-13  Albert Chin  <china@thewrittenword.com>
54936             Bruno Haible  <bruno@clisp.org>
54937
54938         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
54939         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
54940
54941 2007-10-13  Bruno Haible  <bruno@clisp.org>
54942
54943         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
54944         defined, use the ISO C99 inline semantics.
54945         * lib/argp.h (ARGP_EI): Likewise.
54946
54947 2007-10-13  Bruno Haible  <bruno@clisp.org>
54948
54949         Handle 'inline' change in gcc 4.3.0.
54950         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
54951         argp_fmtstream_write, argp_fmtstream_set_lmargin,
54952         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
54953         argp_fmtstream_point): Disable 'extern' declaration if the function
54954         definition is going to be provided inline.
54955         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
54956         semantics, not the ISO C99 inline semantics.
54957         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
54958         'extern' declaration if the function definition is going to be provided
54959         inline.
54960         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
54961         the GNU C inline semantics, not the ISO C99 inline semantics. With
54962         GCC 4.2, avoid a warning.
54963
54964 2007-10-13  Bruno Haible  <bruno@clisp.org>
54965
54966         * lib/freading.h (freading): Enable the use of __freading for
54967         glibc >= 2.7.
54968         * lib/freading.c (freading): Likewise.
54969
54970 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
54971
54972         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
54973         "warning: C99 inline functions are not supported; using GNU89".
54974
54975 2007-10-12  Bruno Haible  <bruno@clisp.org>
54976
54977         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
54978         of 2.
54979         * tests/test-ceilf2.c: New file.
54980         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
54981
54982         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
54983         * modules/ceilf-tests: Update.
54984
54985 2007-10-12  Bruno Haible  <bruno@clisp.org>
54986
54987         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
54988         of 2.
54989         * tests/test-floorf2.c: New file.
54990         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
54991
54992         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
54993         * modules/floorf-tests: Update.
54994
54995 2007-10-12  Bruno Haible  <bruno@clisp.org>
54996
54997         * tests/test-trunc2.c: New file.
54998         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
54999
55000         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
55001         * modules/trunc-tests: Update.
55002
55003 2007-10-12  Bruno Haible  <bruno@clisp.org>
55004
55005         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
55006         of 2.
55007         * tests/test-truncf2.c: New file.
55008         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
55009
55010         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
55011         * modules/truncf-tests: Update.
55012
55013 2007-10-11  Eric Blake  <ebb9@byu.net>
55014
55015         Don't claim strerror is broken on Interix.
55016         * doc/functions/strerror.texi (strerror): Known broken systems are
55017         now Solaris 8, and not Interix.
55018         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
55019         Interix on cross-compile.
55020         Reported by Martin Koeppe in
55021         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
55022
55023 2007-10-11  Bruno Haible  <bruno@clisp.org>
55024
55025         * modules/i-ring-tests: New file.
55026         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
55027         instead of assert.
55028
55029 2007-10-11  Bruno Haible  <bruno@clisp.org>
55030
55031         * modules/filenamecat-tests: New file.
55032         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
55033         * lib/filenamecat.c: Remove test code.
55034
55035 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
55036
55037         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
55038
55039         * lib/strerror.c: Include <string.h> always, to test interface,
55040         and to remove the need for the dummy.
55041         Include intprops.h to compute width instead of doing it ourselves
55042         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
55043         (strerror): Define it to return NULL if there's no system strerror.
55044         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
55045         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
55046         ancient pre-strerror Unix systems well any more.  Saying "unknown
55047         system error" is enough.
55048         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
55049         simpler strerror.c implementation.
55050         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
55051         Simplify the tests to reflect the simpler strerror implementation.
55052         * modules/strerror (Depends-on): Add intprops.
55053
55054 2007-10-09  Eric Blake  <ebb9@byu.net>
55055
55056         Silence test-fpending.
55057         * modules/fpending-tests (Files): Add wrapper script.
55058         * tests/test-fpending.sh: New file.
55059
55060 2007-10-09  Bruno Haible  <bruno@clisp.org>
55061
55062         * MODULES.html.sh (func_module): Don't create a hyperlink for
55063         function names like 'printf_frexp'.
55064         (Misc): Add crc, memxor.
55065         (Characteristics of floating types): New section.
55066         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
55067         isnanf-nolibm, signbit, trunc, truncf, truncl.
55068         (Enhancements for ISO C 99 functions): New subsection Input/output.
55069         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
55070         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
55071         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
55072         (Compatibility checks for POSIX:2001 functions): Add clock-time.
55073         (Enhancements for POSIX:2001 functions): Add chdir-long.
55074         (File system functions): Add areadlink, chdir-safer, read-file.
55075         Remove cycle-check.
55076         (File system as inode set): New section.
55077         (Date and time): Add gethrxtime.
55078         (Multithreading): Add openmp.
55079         (Internationalization functions): Add localename.
55080         (Unicode string functions): Add unistr/u*-mbsnlen.
55081         (Support for maintaining and releasing projects): Add git-version-gen.
55082         (Lone files): Remove directories.
55083
55084 2007-10-08  Ben Pfaff  <blp@gnu.org>
55085
55086         * lib/xmalloca.h: Fix typo in comment.
55087
55088 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
55089
55090         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
55091         when avoiding problems with integer overflow.  Use a portable test
55092         instead.
55093
55094 2007-10-08  Simon Josefsson  <simon@josefsson.org>
55095
55096         * modules/dummy (License): Change to LGPLv2+.
55097         * modules/float (License): Likewise
55098         * modules/realloc (License): Likewise
55099         * modules/stdlib (License): Likewise
55100
55101 2007-10-07  Bruno Haible  <bruno@clisp.org>
55102
55103         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
55104         * floor.c (TWO_MANT_DIG): Likewise.
55105         * ceil.c (TWO_MANT_DIG): Likewise.
55106         Reported by Ben Pfaff.
55107
55108 2007-10-07  Bruno Haible  <bruno@clisp.org>
55109
55110         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
55111         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
55112         * lib/frexp.c (FUNC): Likewise.
55113         * lib/printf-frexp.h (printf_frexp): Likewise.
55114         * lib/printf-frexpl.h (printf_frexpl): Likewise.
55115         * lib/printf-frexp.c (FUNC): Likewise.
55116         Suggested by Jim Meyering.
55117
55118 2007-10-07  Jim Meyering  <meyering@redhat.com>
55119
55120         Make xnanosleep's integer overflow test more robust.
55121         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
55122         so that gcc-4.3.0 doesn't optimize away this test for overflow.
55123
55124 2007-10-07  Bruno Haible  <bruno@clisp.org>
55125
55126         * NEWS: Mention the license change.
55127
55128         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
55129         abbreviations in the modules files.
55130
55131         Change copyright notice from GPLv2+ to GPLv3+.
55132         * README: Change copyright notice.
55133         * MODULES.html.sh: Likewise.
55134         * build-aux/bootstrap.conf: Likewise.
55135         * build-aux/config.libpath: Likewise.
55136         * build-aux/csharpcomp.sh.in: Likewise.
55137         * build-aux/csharpexec.sh.in: Likewise.
55138         * build-aux/install-reloc: Likewise.
55139         * build-aux/javacomp.sh.in: Likewise.
55140         * build-aux/javaexec.sh.in: Likewise.
55141         * build-aux/ldd.sh.in: Likewise.
55142         * build-aux/reloc-ldflags: Likewise.
55143         * build-aux/relocatable.sh.in: Likewise.
55144         * build-aux/x-to-1.in: Likewise.
55145         * check-module: Likewise.
55146         * config/srclistvars.sh: Likewise.
55147         * gnulib-tool: Likewise.
55148         * lib/acl-internal.h: Likewise.
55149         * lib/acl.c: Likewise.
55150         * lib/acl.h: Likewise.
55151         * lib/acl_entries.c: Likewise.
55152         * lib/areadlink-with-size.c: Likewise.
55153         * lib/areadlink.c: Likewise.
55154         * lib/areadlink.h: Likewise.
55155         * lib/argmatch.c: Likewise.
55156         * lib/argmatch.h: Likewise.
55157         * lib/argp-ba.c: Likewise.
55158         * lib/argp-eexst.c: Likewise.
55159         * lib/argp-fmtstream.c: Likewise.
55160         * lib/argp-fmtstream.h: Likewise.
55161         * lib/argp-fs-xinl.c: Likewise.
55162         * lib/argp-help.c: Likewise.
55163         * lib/argp-namefrob.h: Likewise.
55164         * lib/argp-parse.c: Likewise.
55165         * lib/argp-pin.c: Likewise.
55166         * lib/argp-pv.c: Likewise.
55167         * lib/argp-pvh.c: Likewise.
55168         * lib/argp-xinl.c: Likewise.
55169         * lib/argp.h: Likewise.
55170         * lib/at-func.c: Likewise.
55171         * lib/atanl.c: Likewise.
55172         * lib/backupfile.c: Likewise.
55173         * lib/backupfile.h: Likewise.
55174         * lib/basename.c: Likewise.
55175         * lib/binary-io.h: Likewise.
55176         * lib/byteswap.in.h: Likewise.
55177         * lib/c-stack.c: Likewise.
55178         * lib/c-stack.h: Likewise.
55179         * lib/c-strcasestr.c: Likewise.
55180         * lib/c-strcasestr.h: Likewise.
55181         * lib/c-strstr.c: Likewise.
55182         * lib/c-strstr.h: Likewise.
55183         * lib/c-strtod.c: Likewise.
55184         * lib/calloc.c: Likewise.
55185         * lib/canon-host.c: Likewise.
55186         * lib/canon-host.h: Likewise.
55187         * lib/canonicalize-lgpl.c: Likewise.
55188         * lib/canonicalize.c: Likewise.
55189         * lib/canonicalize.h: Likewise.
55190         * lib/ceil.c: Likewise.
55191         * lib/ceilf.c: Likewise.
55192         * lib/ceill.c: Likewise.
55193         * lib/chdir-long.c: Likewise.
55194         * lib/chdir-long.h: Likewise.
55195         * lib/chdir-safer.c: Likewise.
55196         * lib/chdir-safer.h: Likewise.
55197         * lib/chown.c: Likewise.
55198         * lib/classpath.c: Likewise.
55199         * lib/classpath.h: Likewise.
55200         * lib/clean-temp.c: Likewise.
55201         * lib/clean-temp.h: Likewise.
55202         * lib/cloexec.c: Likewise.
55203         * lib/close-stream.c: Likewise.
55204         * lib/closein.c: Likewise.
55205         * lib/closein.h: Likewise.
55206         * lib/closeout.c: Likewise.
55207         * lib/closeout.h: Likewise.
55208         * lib/concat-filename.c: Likewise.
55209         * lib/copy-file.c: Likewise.
55210         * lib/copy-file.h: Likewise.
55211         * lib/count-one-bits.h: Likewise.
55212         * lib/crc.c: Likewise.
55213         * lib/crc.h: Likewise.
55214         * lib/creat-safer.c: Likewise.
55215         * lib/csharpcomp.c: Likewise.
55216         * lib/csharpcomp.h: Likewise.
55217         * lib/csharpexec.c: Likewise.
55218         * lib/csharpexec.h: Likewise.
55219         * lib/cycle-check.c: Likewise.
55220         * lib/cycle-check.h: Likewise.
55221         * lib/diacrit.c: Likewise.
55222         * lib/diacrit.h: Likewise.
55223         * lib/diffseq.h: Likewise.
55224         * lib/dirchownmod.c: Likewise.
55225         * lib/dirent.in.h: Likewise.
55226         * lib/dirfd.c: Likewise.
55227         * lib/dirfd.h: Likewise.
55228         * lib/dirname.c: Likewise.
55229         * lib/dirname.h: Likewise.
55230         * lib/dummy.c: Likewise.
55231         * lib/dup-safer.c: Likewise.
55232         * lib/dup2.c: Likewise.
55233         * lib/eealloc.h: Likewise.
55234         * lib/error.c: Likewise.
55235         * lib/error.h: Likewise.
55236         * lib/euidaccess.c: Likewise.
55237         * lib/exclude.c: Likewise.
55238         * lib/exclude.h: Likewise.
55239         * lib/execute.c: Likewise.
55240         * lib/execute.h: Likewise.
55241         * lib/exitfail.c: Likewise.
55242         * lib/exitfail.h: Likewise.
55243         * lib/expl.c: Likewise.
55244         * lib/fatal-signal.c: Likewise.
55245         * lib/fatal-signal.h: Likewise.
55246         * lib/fbufmode.c: Likewise.
55247         * lib/fbufmode.h: Likewise.
55248         * lib/fchdir.c: Likewise.
55249         * lib/fchmodat.c: Likewise.
55250         * lib/fchownat.c: Likewise.
55251         * lib/fcntl--.h: Likewise.
55252         * lib/fcntl-safer.h: Likewise.
55253         * lib/fcntl.in.h: Likewise.
55254         * lib/fd-safer.c: Likewise.
55255         * lib/fflush.c: Likewise.
55256         * lib/file-has-acl.c: Likewise.
55257         * lib/file-set.c: Likewise.
55258         * lib/file-type.c: Likewise.
55259         * lib/file-type.h: Likewise.
55260         * lib/fileblocks.c: Likewise.
55261         * lib/filemode.c: Likewise.
55262         * lib/filemode.h: Likewise.
55263         * lib/filename.h: Likewise.
55264         * lib/filenamecat.c: Likewise.
55265         * lib/filenamecat.h: Likewise.
55266         * lib/findprog.c: Likewise.
55267         * lib/findprog.h: Likewise.
55268         * lib/float.in.h: Likewise.
55269         * lib/floor.c: Likewise.
55270         * lib/floorf.c: Likewise.
55271         * lib/floorl.c: Likewise.
55272         * lib/fopen-safer.c: Likewise.
55273         * lib/fopen.c: Likewise.
55274         * lib/fpending.c: Likewise.
55275         * lib/fpending.h: Likewise.
55276         * lib/fprintf.c: Likewise.
55277         * lib/fprintftime.h: Likewise.
55278         * lib/fpucw.h: Likewise.
55279         * lib/fpurge.c: Likewise.
55280         * lib/fpurge.h: Likewise.
55281         * lib/freadable.c: Likewise.
55282         * lib/freadable.h: Likewise.
55283         * lib/freadahead.c: Likewise.
55284         * lib/freadahead.h: Likewise.
55285         * lib/freading.c: Likewise.
55286         * lib/freading.h: Likewise.
55287         * lib/free.c: Likewise.
55288         * lib/freopen.c: Likewise.
55289         * lib/frexp.c: Likewise.
55290         * lib/frexpl.c: Likewise.
55291         * lib/fseek.c: Likewise.
55292         * lib/fseterr.c: Likewise.
55293         * lib/fseterr.h: Likewise.
55294         * lib/fstatat.c: Likewise.
55295         * lib/fstrcmp.c: Likewise.
55296         * lib/fstrcmp.h: Likewise.
55297         * lib/fsusage.c: Likewise.
55298         * lib/fsusage.h: Likewise.
55299         * lib/ftell.c: Likewise.
55300         * lib/ftello.c: Likewise.
55301         * lib/fts-cycle.c: Likewise.
55302         * lib/fts.c: Likewise.
55303         * lib/fts_.h: Likewise.
55304         * lib/full-read.c: Likewise.
55305         * lib/full-read.h: Likewise.
55306         * lib/full-write.c: Likewise.
55307         * lib/full-write.h: Likewise.
55308         * lib/fwritable.c: Likewise.
55309         * lib/fwritable.h: Likewise.
55310         * lib/fwriteerror.c: Likewise.
55311         * lib/fwriteerror.h: Likewise.
55312         * lib/fwriting.c: Likewise.
55313         * lib/fwriting.h: Likewise.
55314         * lib/gcd.c: Likewise.
55315         * lib/gcd.h: Likewise.
55316         * lib/getcwd.c: Likewise.
55317         * lib/getdate.h: Likewise.
55318         * lib/getdate.y: Likewise.
55319         * lib/getdomainname.c: Likewise.
55320         * lib/getdomainname.h: Likewise.
55321         * lib/getgroups.c: Likewise.
55322         * lib/gethostname.c: Likewise.
55323         * lib/gethrxtime.c: Likewise.
55324         * lib/gethrxtime.h: Likewise.
55325         * lib/getloadavg.c: Likewise.
55326         * lib/getndelim2.c: Likewise.
55327         * lib/getndelim2.h: Likewise.
55328         * lib/getnline.c: Likewise.
55329         * lib/getnline.h: Likewise.
55330         * lib/getopt.c: Likewise.
55331         * lib/getopt.in.h: Likewise.
55332         * lib/getopt1.c: Likewise.
55333         * lib/getopt_int.h: Likewise.
55334         * lib/getpagesize.h: Likewise.
55335         * lib/getsubopt.c: Likewise.
55336         * lib/gettime.c: Likewise.
55337         * lib/getugroups.c: Likewise.
55338         * lib/getugroups.h: Likewise.
55339         * lib/getusershell.c: Likewise.
55340         * lib/gl_anyavltree_list1.h: Likewise.
55341         * lib/gl_anyavltree_list2.h: Likewise.
55342         * lib/gl_anyhash_list1.h: Likewise.
55343         * lib/gl_anyhash_list2.h: Likewise.
55344         * lib/gl_anylinked_list1.h: Likewise.
55345         * lib/gl_anylinked_list2.h: Likewise.
55346         * lib/gl_anyrbtree_list1.h: Likewise.
55347         * lib/gl_anyrbtree_list2.h: Likewise.
55348         * lib/gl_anytree_list1.h: Likewise.
55349         * lib/gl_anytree_list2.h: Likewise.
55350         * lib/gl_anytree_oset.h: Likewise.
55351         * lib/gl_anytreehash_list1.h: Likewise.
55352         * lib/gl_anytreehash_list2.h: Likewise.
55353         * lib/gl_array_list.c: Likewise.
55354         * lib/gl_array_list.h: Likewise.
55355         * lib/gl_array_oset.c: Likewise.
55356         * lib/gl_array_oset.h: Likewise.
55357         * lib/gl_avltree_list.c: Likewise.
55358         * lib/gl_avltree_list.h: Likewise.
55359         * lib/gl_avltree_oset.c: Likewise.
55360         * lib/gl_avltree_oset.h: Likewise.
55361         * lib/gl_avltreehash_list.c: Likewise.
55362         * lib/gl_avltreehash_list.h: Likewise.
55363         * lib/gl_carray_list.c: Likewise.
55364         * lib/gl_carray_list.h: Likewise.
55365         * lib/gl_linked_list.c: Likewise.
55366         * lib/gl_linked_list.h: Likewise.
55367         * lib/gl_linkedhash_list.c: Likewise.
55368         * lib/gl_linkedhash_list.h: Likewise.
55369         * lib/gl_list.c: Likewise.
55370         * lib/gl_list.h: Likewise.
55371         * lib/gl_oset.c: Likewise.
55372         * lib/gl_oset.h: Likewise.
55373         * lib/gl_rbtree_list.c: Likewise.
55374         * lib/gl_rbtree_list.h: Likewise.
55375         * lib/gl_rbtree_oset.c: Likewise.
55376         * lib/gl_rbtree_oset.h: Likewise.
55377         * lib/gl_rbtreehash_list.c: Likewise.
55378         * lib/gl_rbtreehash_list.h: Likewise.
55379         * lib/gl_sublist.c: Likewise.
55380         * lib/gl_sublist.h: Likewise.
55381         * lib/group-member.c: Likewise.
55382         * lib/group-member.h: Likewise.
55383         * lib/hard-locale.c: Likewise.
55384         * lib/hard-locale.h: Likewise.
55385         * lib/hash-pjw.c: Likewise.
55386         * lib/hash-pjw.h: Likewise.
55387         * lib/hash-triple.c: Likewise.
55388         * lib/hash.c: Likewise.
55389         * lib/hash.h: Likewise.
55390         * lib/human.c: Likewise.
55391         * lib/human.h: Likewise.
55392         * lib/i-ring.c: Likewise.
55393         * lib/i-ring.h: Likewise.
55394         * lib/idcache.c: Likewise.
55395         * lib/imaxabs.c: Likewise.
55396         * lib/imaxdiv.c: Likewise.
55397         * lib/inet_pton.c: Likewise.
55398         * lib/inet_pton.h: Likewise.
55399         * lib/intprops.h: Likewise.
55400         * lib/inttostr.c: Likewise.
55401         * lib/inttostr.h: Likewise.
55402         * lib/inttypes.in.h: Likewise.
55403         * lib/isapipe.c: Likewise.
55404         * lib/isdir.c: Likewise.
55405         * lib/isnan.c: Likewise.
55406         * lib/isnan.h: Likewise.
55407         * lib/isnanf.c: Likewise.
55408         * lib/isnanf.h: Likewise.
55409         * lib/isnanl-nolibm.h: Likewise.
55410         * lib/isnanl.c: Likewise.
55411         * lib/isnanl.h: Likewise.
55412         * lib/javacomp.c: Likewise.
55413         * lib/javacomp.h: Likewise.
55414         * lib/javaexec.c: Likewise.
55415         * lib/javaexec.h: Likewise.
55416         * lib/javaversion.c: Likewise.
55417         * lib/javaversion.h: Likewise.
55418         * lib/javaversion.java: Likewise.
55419         * lib/lbrkprop.h: Likewise.
55420         * lib/lchmod.h: Likewise.
55421         * lib/lchown.c: Likewise.
55422         * lib/ldexpl.c: Likewise.
55423         * lib/linebreak.c: Likewise.
55424         * lib/linebreak.h: Likewise.
55425         * lib/linebuffer.c: Likewise.
55426         * lib/linebuffer.h: Likewise.
55427         * lib/locale.in.h: Likewise.
55428         * lib/logl.c: Likewise.
55429         * lib/long-options.c: Likewise.
55430         * lib/long-options.h: Likewise.
55431         * lib/lstat.c: Likewise.
55432         * lib/lstat.h: Likewise.
55433         * lib/math.in.h: Likewise.
55434         * lib/mbchar.c: Likewise.
55435         * lib/mbchar.h: Likewise.
55436         * lib/mbfile.h: Likewise.
55437         * lib/mbiter.h: Likewise.
55438         * lib/mbscasecmp.c: Likewise.
55439         * lib/mbscasestr.c: Likewise.
55440         * lib/mbschr.c: Likewise.
55441         * lib/mbscspn.c: Likewise.
55442         * lib/mbslen.c: Likewise.
55443         * lib/mbsncasecmp.c: Likewise.
55444         * lib/mbsnlen.c: Likewise.
55445         * lib/mbspbrk.c: Likewise.
55446         * lib/mbspcasecmp.c: Likewise.
55447         * lib/mbsrchr.c: Likewise.
55448         * lib/mbssep.c: Likewise.
55449         * lib/mbsspn.c: Likewise.
55450         * lib/mbsstr.c: Likewise.
55451         * lib/mbstok_r.c: Likewise.
55452         * lib/mbswidth.c: Likewise.
55453         * lib/mbswidth.h: Likewise.
55454         * lib/mbuiter.h: Likewise.
55455         * lib/memcasecmp.c: Likewise.
55456         * lib/memcasecmp.h: Likewise.
55457         * lib/memchr.c: Likewise.
55458         * lib/memcmp.c: Likewise.
55459         * lib/memcoll.c: Likewise.
55460         * lib/memcoll.h: Likewise.
55461         * lib/memcpy.c: Likewise.
55462         * lib/memrchr.c: Likewise.
55463         * lib/mkancesdirs.c: Likewise.
55464         * lib/mkdir-p.c: Likewise.
55465         * lib/mkdir-p.h: Likewise.
55466         * lib/mkdir.c: Likewise.
55467         * lib/mkdirat.c: Likewise.
55468         * lib/mkdtemp.c: Likewise.
55469         * lib/mkstemp-safer.c: Likewise.
55470         * lib/mkstemp.c: Likewise.
55471         * lib/modechange.c: Likewise.
55472         * lib/modechange.h: Likewise.
55473         * lib/mountlist.c: Likewise.
55474         * lib/mountlist.h: Likewise.
55475         * lib/mpsort.c: Likewise.
55476         * lib/nanosleep.c: Likewise.
55477         * lib/obstack.c: Likewise.
55478         * lib/obstack.h: Likewise.
55479         * lib/open-safer.c: Likewise.
55480         * lib/open.c: Likewise.
55481         * lib/openat-die.c: Likewise.
55482         * lib/openat-priv.h: Likewise.
55483         * lib/openat-proc.c: Likewise.
55484         * lib/openat.c: Likewise.
55485         * lib/openat.h: Likewise.
55486         * lib/pagealign_alloc.c: Likewise.
55487         * lib/pagealign_alloc.h: Likewise.
55488         * lib/physmem.c: Likewise.
55489         * lib/physmem.h: Likewise.
55490         * lib/pipe-safer.c: Likewise.
55491         * lib/pipe.c: Likewise.
55492         * lib/pipe.h: Likewise.
55493         * lib/posixtm.c: Likewise.
55494         * lib/posixtm.h: Likewise.
55495         * lib/posixver.c: Likewise.
55496         * lib/printf-frexp.c: Likewise.
55497         * lib/printf-frexp.h: Likewise.
55498         * lib/printf-frexpl.c: Likewise.
55499         * lib/printf-frexpl.h: Likewise.
55500         * lib/printf.c: Likewise.
55501         * lib/progname.c: Likewise.
55502         * lib/progname.h: Likewise.
55503         * lib/progreloc.c: Likewise.
55504         * lib/putenv.c: Likewise.
55505         * lib/quote.c: Likewise.
55506         * lib/quote.h: Likewise.
55507         * lib/quotearg.c: Likewise.
55508         * lib/quotearg.h: Likewise.
55509         * lib/raise.c: Likewise.
55510         * lib/readline.c: Likewise.
55511         * lib/readline.h: Likewise.
55512         * lib/readlink.c: Likewise.
55513         * lib/readtokens.c: Likewise.
55514         * lib/readtokens.h: Likewise.
55515         * lib/readtokens0.c: Likewise.
55516         * lib/readtokens0.h: Likewise.
55517         * lib/readutmp.c: Likewise.
55518         * lib/readutmp.h: Likewise.
55519         * lib/realloc.c: Likewise.
55520         * lib/relocwrapper.c: Likewise.
55521         * lib/rename-dest-slash.c: Likewise.
55522         * lib/rename.c: Likewise.
55523         * lib/rmdir.c: Likewise.
55524         * lib/rpmatch.c: Likewise.
55525         * lib/safe-read.c: Likewise.
55526         * lib/safe-read.h: Likewise.
55527         * lib/safe-write.c: Likewise.
55528         * lib/safe-write.h: Likewise.
55529         * lib/same-inode.h: Likewise.
55530         * lib/same.c: Likewise.
55531         * lib/same.h: Likewise.
55532         * lib/save-cwd.c: Likewise.
55533         * lib/save-cwd.h: Likewise.
55534         * lib/savedir.c: Likewise.
55535         * lib/savedir.h: Likewise.
55536         * lib/savewd.c: Likewise.
55537         * lib/savewd.h: Likewise.
55538         * lib/search.in.h: Likewise.
55539         * lib/setenv.c: Likewise.
55540         * lib/setenv.h: Likewise.
55541         * lib/settime.c: Likewise.
55542         * lib/sh-quote.c: Likewise.
55543         * lib/sh-quote.h: Likewise.
55544         * lib/sig2str.c: Likewise.
55545         * lib/sig2str.h: Likewise.
55546         * lib/signal.in.h: Likewise.
55547         * lib/signbitd.c: Likewise.
55548         * lib/signbitf.c: Likewise.
55549         * lib/signbitl.c: Likewise.
55550         * lib/sigprocmask.c: Likewise.
55551         * lib/sincosl.c: Likewise.
55552         * lib/sleep.c: Likewise.
55553         * lib/sprintf.c: Likewise.
55554         * lib/sqrtl.c: Likewise.
55555         * lib/stat-time.h: Likewise.
55556         * lib/stdio--.h: Likewise.
55557         * lib/stdio-safer.h: Likewise.
55558         * lib/stdlib--.h: Likewise.
55559         * lib/stdlib-safer.h: Likewise.
55560         * lib/stdlib.in.h: Likewise.
55561         * lib/stpcpy.c: Likewise.
55562         * lib/stpncpy.c: Likewise.
55563         * lib/strchrnul.c: Likewise.
55564         * lib/strcspn.c: Likewise.
55565         * lib/strerror.c: Likewise.
55566         * lib/strftime.c: Likewise.
55567         * lib/strftime.h: Likewise.
55568         * lib/striconveh.c: Likewise.
55569         * lib/striconveh.h: Likewise.
55570         * lib/striconveha.c: Likewise.
55571         * lib/striconveha.h: Likewise.
55572         * lib/stripslash.c: Likewise.
55573         * lib/strnlen1.c: Likewise.
55574         * lib/strnlen1.h: Likewise.
55575         * lib/strtod.c: Likewise.
55576         * lib/strtoimax.c: Likewise.
55577         * lib/strtok_r.c: Likewise.
55578         * lib/strtol.c: Likewise.
55579         * lib/strtoll.c: Likewise.
55580         * lib/strtoul.c: Likewise.
55581         * lib/strtoull.c: Likewise.
55582         * lib/sysexits.in.h: Likewise.
55583         * lib/tempname.c: Likewise.
55584         * lib/tempname.h: Likewise.
55585         * lib/timespec.h: Likewise.
55586         * lib/tls.c: Likewise.
55587         * lib/tls.h: Likewise.
55588         * lib/tmpdir.c: Likewise.
55589         * lib/tmpdir.h: Likewise.
55590         * lib/tmpfile-safer.c: Likewise.
55591         * lib/tmpfile.c: Likewise.
55592         * lib/trigl.c: Likewise.
55593         * lib/trigl.h: Likewise.
55594         * lib/trim.c: Likewise.
55595         * lib/trim.h: Likewise.
55596         * lib/trunc.c: Likewise.
55597         * lib/truncf.c: Likewise.
55598         * lib/truncl.c: Likewise.
55599         * lib/tsearch.c: Likewise.
55600         * lib/unicodeio.c: Likewise.
55601         * lib/unicodeio.h: Likewise.
55602         * lib/unistd--.h: Likewise.
55603         * lib/unistd-safer.h: Likewise.
55604         * lib/unistdio/ulc-fprintf.c: Likewise.
55605         * lib/unistdio/ulc-vfprintf.c: Likewise.
55606         * lib/unlinkdir.c: Likewise.
55607         * lib/unlinkdir.h: Likewise.
55608         * lib/unlocked-io.h: Likewise.
55609         * lib/unsetenv.c: Likewise.
55610         * lib/userspec.c: Likewise.
55611         * lib/utime.c: Likewise.
55612         * lib/utimecmp.c: Likewise.
55613         * lib/utimecmp.h: Likewise.
55614         * lib/utimens.c: Likewise.
55615         * lib/verify.h: Likewise.
55616         * lib/verror.c: Likewise.
55617         * lib/verror.h: Likewise.
55618         * lib/version-etc-fsf.c: Likewise.
55619         * lib/version-etc.c: Likewise.
55620         * lib/version-etc.h: Likewise.
55621         * lib/vfprintf.c: Likewise.
55622         * lib/vprintf.c: Likewise.
55623         * lib/vsprintf.c: Likewise.
55624         * lib/w32spawn.h: Likewise.
55625         * lib/wait-process.c: Likewise.
55626         * lib/wait-process.h: Likewise.
55627         * lib/wcwidth.c: Likewise.
55628         * lib/write-any-file.c: Likewise.
55629         * lib/xalloc-die.c: Likewise.
55630         * lib/xalloc.h: Likewise.
55631         * lib/xasprintf.c: Likewise.
55632         * lib/xgetcwd.c: Likewise.
55633         * lib/xgetcwd.h: Likewise.
55634         * lib/xgetdomainname.c: Likewise.
55635         * lib/xgetdomainname.h: Likewise.
55636         * lib/xgethostname.c: Likewise.
55637         * lib/xmalloc.c: Likewise.
55638         * lib/xmalloca.c: Likewise.
55639         * lib/xmalloca.h: Likewise.
55640         * lib/xmemcoll.c: Likewise.
55641         * lib/xnanosleep.c: Likewise.
55642         * lib/xreadlink.c: Likewise.
55643         * lib/xreadlink.h: Likewise.
55644         * lib/xsetenv.c: Likewise.
55645         * lib/xsetenv.h: Likewise.
55646         * lib/xstriconv.c: Likewise.
55647         * lib/xstriconv.h: Likewise.
55648         * lib/xstrndup.c: Likewise.
55649         * lib/xstrndup.h: Likewise.
55650         * lib/xstrtod.c: Likewise.
55651         * lib/xstrtod.h: Likewise.
55652         * lib/xstrtol-error.c: Likewise.
55653         * lib/xstrtol.c: Likewise.
55654         * lib/xstrtol.h: Likewise.
55655         * lib/xtime.h: Likewise.
55656         * lib/xvasprintf.c: Likewise.
55657         * lib/xvasprintf.h: Likewise.
55658         * lib/yesno.c: Likewise.
55659         * lib/yesno.h: Likewise.
55660         * posix-modules: Likewise.
55661         * tests/test-alloca-opt.c: Likewise.
55662         * tests/test-arcfour.c: Likewise.
55663         * tests/test-arctwo.c: Likewise.
55664         * tests/test-argmatch.c: Likewise.
55665         * tests/test-argp-2.sh: Likewise.
55666         * tests/test-argp.c: Likewise.
55667         * tests/test-arpa_inet.c: Likewise.
55668         * tests/test-array_list.c: Likewise.
55669         * tests/test-array_oset.c: Likewise.
55670         * tests/test-atexit.c: Likewise.
55671         * tests/test-avltree_list.c: Likewise.
55672         * tests/test-avltree_oset.c: Likewise.
55673         * tests/test-avltreehash_list.c: Likewise.
55674         * tests/test-base64.c: Likewise.
55675         * tests/test-binary-io.c: Likewise.
55676         * tests/test-byteswap.c: Likewise.
55677         * tests/test-c-ctype.c: Likewise.
55678         * tests/test-c-strcasecmp.c: Likewise.
55679         * tests/test-c-strcasestr.c: Likewise.
55680         * tests/test-c-strncasecmp.c: Likewise.
55681         * tests/test-c-strstr.c: Likewise.
55682         * tests/test-canonicalize-lgpl.c: Likewise.
55683         * tests/test-canonicalize.c: Likewise.
55684         * tests/test-carray_list.c: Likewise.
55685         * tests/test-ceilf.c: Likewise.
55686         * tests/test-ceill.c: Likewise.
55687         * tests/test-count-one-bits.c: Likewise.
55688         * tests/test-crc.c: Likewise.
55689         * tests/test-dirname.c: Likewise.
55690         * tests/test-fbufmode.c: Likewise.
55691         * tests/test-fcntl.c: Likewise.
55692         * tests/test-fflush.c: Likewise.
55693         * tests/test-floorf.c: Likewise.
55694         * tests/test-floorl.c: Likewise.
55695         * tests/test-fopen.c: Likewise.
55696         * tests/test-fprintf-posix.c: Likewise.
55697         * tests/test-fprintf-posix.h: Likewise.
55698         * tests/test-fpurge.c: Likewise.
55699         * tests/test-freadable.c: Likewise.
55700         * tests/test-freadahead.c: Likewise.
55701         * tests/test-freading.c: Likewise.
55702         * tests/test-freopen.c: Likewise.
55703         * tests/test-frexp.c: Likewise.
55704         * tests/test-frexpl.c: Likewise.
55705         * tests/test-fseek.c: Likewise.
55706         * tests/test-fseeko.c: Likewise.
55707         * tests/test-fseterr.c: Likewise.
55708         * tests/test-fstrcmp.c: Likewise.
55709         * tests/test-ftell.c: Likewise.
55710         * tests/test-ftello.c: Likewise.
55711         * tests/test-fwritable.c: Likewise.
55712         * tests/test-fwriting.c: Likewise.
55713         * tests/test-getaddrinfo.c: Likewise.
55714         * tests/test-getpass.c: Likewise.
55715         * tests/test-gettimeofday.c: Likewise.
55716         * tests/test-hmac-md5.c: Likewise.
55717         * tests/test-hmac-sha1.c: Likewise.
55718         * tests/test-iconv.c: Likewise.
55719         * tests/test-iconvme.c: Likewise.
55720         * tests/test-inttypes.c: Likewise.
55721         * tests/test-isnan.c: Likewise.
55722         * tests/test-isnanf.c: Likewise.
55723         * tests/test-isnanl-nolibm.c: Likewise.
55724         * tests/test-isnanl.c: Likewise.
55725         * tests/test-isnanl.h: Likewise.
55726         * tests/test-ldexpl.c: Likewise.
55727         * tests/test-linked_list.c: Likewise.
55728         * tests/test-linkedhash_list.c: Likewise.
55729         * tests/test-locale.c: Likewise.
55730         * tests/test-localename.c: Likewise.
55731         * tests/test-lock.c: Likewise.
55732         * tests/test-lseek.c: Likewise.
55733         * tests/test-malloca.c: Likewise.
55734         * tests/test-math.c: Likewise.
55735         * tests/test-mbscasecmp.c: Likewise.
55736         * tests/test-mbscasestr1.c: Likewise.
55737         * tests/test-mbscasestr2.c: Likewise.
55738         * tests/test-mbscasestr3.c: Likewise.
55739         * tests/test-mbscasestr4.c: Likewise.
55740         * tests/test-mbschr.c: Likewise.
55741         * tests/test-mbscspn.c: Likewise.
55742         * tests/test-mbsncasecmp.c: Likewise.
55743         * tests/test-mbspbrk.c: Likewise.
55744         * tests/test-mbspcasecmp.c: Likewise.
55745         * tests/test-mbsrchr.c: Likewise.
55746         * tests/test-mbsspn.c: Likewise.
55747         * tests/test-mbsstr1.c: Likewise.
55748         * tests/test-mbsstr2.c: Likewise.
55749         * tests/test-mbsstr3.c: Likewise.
55750         * tests/test-md5.c: Likewise.
55751         * tests/test-memmem.c: Likewise.
55752         * tests/test-netinet_in.c: Likewise.
55753         * tests/test-open.c: Likewise.
55754         * tests/test-printf-frexp.c: Likewise.
55755         * tests/test-printf-frexpl.c: Likewise.
55756         * tests/test-printf-posix.c: Likewise.
55757         * tests/test-printf-posix.h: Likewise.
55758         * tests/test-rbtree_list.c: Likewise.
55759         * tests/test-rbtree_oset.c: Likewise.
55760         * tests/test-rbtreehash_list.c: Likewise.
55761         * tests/test-read-file.c: Likewise.
55762         * tests/test-rijndael.c: Likewise.
55763         * tests/test-search.c: Likewise.
55764         * tests/test-signbit.c: Likewise.
55765         * tests/test-sleep.c: Likewise.
55766         * tests/test-snprintf-posix.c: Likewise.
55767         * tests/test-snprintf-posix.h: Likewise.
55768         * tests/test-snprintf.c: Likewise.
55769         * tests/test-sprintf-posix.c: Likewise.
55770         * tests/test-sprintf-posix.h: Likewise.
55771         * tests/test-stat-time.c: Likewise.
55772         * tests/test-stdbool.c: Likewise.
55773         * tests/test-stdint.c: Likewise.
55774         * tests/test-stdio.c: Likewise.
55775         * tests/test-stdlib.c: Likewise.
55776         * tests/test-stpncpy.c: Likewise.
55777         * tests/test-strcasestr.c: Likewise.
55778         * tests/test-striconv.c: Likewise.
55779         * tests/test-striconveh.c: Likewise.
55780         * tests/test-striconveha.c: Likewise.
55781         * tests/test-string.c: Likewise.
55782         * tests/test-sys_select.c: Likewise.
55783         * tests/test-sys_socket.c: Likewise.
55784         * tests/test-sys_stat.c: Likewise.
55785         * tests/test-sys_time.c: Likewise.
55786         * tests/test-sysexits.c: Likewise.
55787         * tests/test-time.c: Likewise.
55788         * tests/test-tls.c: Likewise.
55789         * tests/test-trunc.c: Likewise.
55790         * tests/test-truncf.c: Likewise.
55791         * tests/test-truncl.c: Likewise.
55792         * tests/test-unistd.c: Likewise.
55793         * tests/test-vasnprintf-posix.c: Likewise.
55794         * tests/test-vasnprintf-posix2.c: Likewise.
55795         * tests/test-vasnprintf.c: Likewise.
55796         * tests/test-vasprintf-posix.c: Likewise.
55797         * tests/test-vasprintf.c: Likewise.
55798         * tests/test-verify.c: Likewise.
55799         * tests/test-vfprintf-posix.c: Likewise.
55800         * tests/test-vprintf-posix.c: Likewise.
55801         * tests/test-vsnprintf-posix.c: Likewise.
55802         * tests/test-vsnprintf.c: Likewise.
55803         * tests/test-vsprintf-posix.c: Likewise.
55804         * tests/test-wchar.c: Likewise.
55805         * tests/test-wctype.c: Likewise.
55806         * tests/test-wcwidth.c: Likewise.
55807         * tests/test-xstrtol.c: Likewise.
55808         * tests/test-xvasprintf.c: Likewise.
55809         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
55810         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
55811         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
55812         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
55813         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
55814         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
55815         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
55816         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
55817         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
55818         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
55819         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
55820         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
55821         * tests/uniname/test-uninames.c: Likewise.
55822         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
55823         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
55824         * tests/unistdio/test-u16-printf1.h: Likewise.
55825         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
55826         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
55827         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
55828         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
55829         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
55830         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
55831         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
55832         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
55833         * tests/unistdio/test-u32-printf1.h: Likewise.
55834         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
55835         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
55836         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
55837         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
55838         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
55839         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
55840         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
55841         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
55842         * tests/unistdio/test-u8-printf1.h: Likewise.
55843         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
55844         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
55845         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
55846         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
55847         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
55848         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
55849         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
55850         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
55851         * tests/unistdio/test-ulc-printf1.h: Likewise.
55852         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
55853         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
55854         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
55855         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
55856         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
55857         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
55858         * tests/uniwidth/test-u16-strwidth.c: Likewise.
55859         * tests/uniwidth/test-u16-width.c: Likewise.
55860         * tests/uniwidth/test-u32-strwidth.c: Likewise.
55861         * tests/uniwidth/test-u32-width.c: Likewise.
55862         * tests/uniwidth/test-u8-strwidth.c: Likewise.
55863         * tests/uniwidth/test-u8-width.c: Likewise.
55864         * tests/uniwidth/test-uc_width.c: Likewise.
55865         * config/srclist-update: Likewise.
55866         (fixlicense): Update to GPLv3+.
55867
55868         Change copyright notice from LGPLv2.1+ to LGPLv3+.
55869         * tests/test-tsearch.c: Change copyright notice.
55870
55871         Change copyright notice from LGPLv2.0+ to LGPLv3+.
55872         * lib/c-strcaseeq.h: Change copyright notice.
55873         * lib/streq.h: Likewise.
55874         * lib/uniconv.h: Likewise.
55875         * lib/uniconv/u-conv-from-enc.h: Likewise.
55876         * lib/uniconv/u-conv-to-enc.h: Likewise.
55877         * lib/uniconv/u-strconv-from-enc.h: Likewise.
55878         * lib/uniconv/u-strconv-to-enc.h: Likewise.
55879         * lib/uniconv/u16-conv-from-enc.c: Likewise.
55880         * lib/uniconv/u16-conv-to-enc.c: Likewise.
55881         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
55882         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
55883         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
55884         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
55885         * lib/uniconv/u32-conv-from-enc.c: Likewise.
55886         * lib/uniconv/u32-conv-to-enc.c: Likewise.
55887         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
55888         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
55889         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
55890         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
55891         * lib/uniconv/u8-conv-from-enc.c: Likewise.
55892         * lib/uniconv/u8-conv-to-enc.c: Likewise.
55893         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
55894         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
55895         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
55896         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
55897         * lib/uniname.h: Likewise.
55898         * lib/uniname/uniname.c: Likewise.
55899         * lib/unistdio.h: Likewise.
55900         * lib/unistdio/u-asnprintf.h: Likewise.
55901         * lib/unistdio/u-asprintf.h: Likewise.
55902         * lib/unistdio/u-printf-args.c: Likewise.
55903         * lib/unistdio/u-printf-args.h: Likewise.
55904         * lib/unistdio/u-printf-parse.h: Likewise.
55905         * lib/unistdio/u-snprintf.h: Likewise.
55906         * lib/unistdio/u-sprintf.h: Likewise.
55907         * lib/unistdio/u-vasprintf.h: Likewise.
55908         * lib/unistdio/u-vsnprintf.h: Likewise.
55909         * lib/unistdio/u-vsprintf.h: Likewise.
55910         * lib/unistdio/u16-asnprintf.c: Likewise.
55911         * lib/unistdio/u16-asprintf.c: Likewise.
55912         * lib/unistdio/u16-printf-parse.c: Likewise.
55913         * lib/unistdio/u16-snprintf.c: Likewise.
55914         * lib/unistdio/u16-sprintf.c: Likewise.
55915         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
55916         * lib/unistdio/u16-u16-asprintf.c: Likewise.
55917         * lib/unistdio/u16-u16-snprintf.c: Likewise.
55918         * lib/unistdio/u16-u16-sprintf.c: Likewise.
55919         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
55920         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
55921         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
55922         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
55923         * lib/unistdio/u16-vasnprintf.c: Likewise.
55924         * lib/unistdio/u16-vasprintf.c: Likewise.
55925         * lib/unistdio/u16-vsnprintf.c: Likewise.
55926         * lib/unistdio/u16-vsprintf.c: Likewise.
55927         * lib/unistdio/u32-asnprintf.c: Likewise.
55928         * lib/unistdio/u32-asprintf.c: Likewise.
55929         * lib/unistdio/u32-printf-parse.c: Likewise.
55930         * lib/unistdio/u32-snprintf.c: Likewise.
55931         * lib/unistdio/u32-sprintf.c: Likewise.
55932         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
55933         * lib/unistdio/u32-u32-asprintf.c: Likewise.
55934         * lib/unistdio/u32-u32-snprintf.c: Likewise.
55935         * lib/unistdio/u32-u32-sprintf.c: Likewise.
55936         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
55937         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
55938         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
55939         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
55940         * lib/unistdio/u32-vasnprintf.c: Likewise.
55941         * lib/unistdio/u32-vasprintf.c: Likewise.
55942         * lib/unistdio/u32-vsnprintf.c: Likewise.
55943         * lib/unistdio/u32-vsprintf.c: Likewise.
55944         * lib/unistdio/u8-asnprintf.c: Likewise.
55945         * lib/unistdio/u8-asprintf.c: Likewise.
55946         * lib/unistdio/u8-printf-parse.c: Likewise.
55947         * lib/unistdio/u8-snprintf.c: Likewise.
55948         * lib/unistdio/u8-sprintf.c: Likewise.
55949         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
55950         * lib/unistdio/u8-u8-asprintf.c: Likewise.
55951         * lib/unistdio/u8-u8-snprintf.c: Likewise.
55952         * lib/unistdio/u8-u8-sprintf.c: Likewise.
55953         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
55954         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
55955         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
55956         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
55957         * lib/unistdio/u8-vasnprintf.c: Likewise.
55958         * lib/unistdio/u8-vasprintf.c: Likewise.
55959         * lib/unistdio/u8-vsnprintf.c: Likewise.
55960         * lib/unistdio/u8-vsprintf.c: Likewise.
55961         * lib/unistdio/ulc-asnprintf.c: Likewise.
55962         * lib/unistdio/ulc-asprintf.c: Likewise.
55963         * lib/unistdio/ulc-printf-parse.c: Likewise.
55964         * lib/unistdio/ulc-snprintf.c: Likewise.
55965         * lib/unistdio/ulc-sprintf.c: Likewise.
55966         * lib/unistdio/ulc-vasnprintf.c: Likewise.
55967         * lib/unistdio/ulc-vasprintf.c: Likewise.
55968         * lib/unistdio/ulc-vsnprintf.c: Likewise.
55969         * lib/unistdio/ulc-vsprintf.c: Likewise.
55970         * lib/unistr.h: Likewise.
55971         * lib/unistr/u-cpy-alloc.h: Likewise.
55972         * lib/unistr/u-cpy.h: Likewise.
55973         * lib/unistr/u-endswith.h: Likewise.
55974         * lib/unistr/u-move.h: Likewise.
55975         * lib/unistr/u-set.h: Likewise.
55976         * lib/unistr/u-startswith.h: Likewise.
55977         * lib/unistr/u-stpcpy.h: Likewise.
55978         * lib/unistr/u-stpncpy.h: Likewise.
55979         * lib/unistr/u-strcat.h: Likewise.
55980         * lib/unistr/u-strcpy.h: Likewise.
55981         * lib/unistr/u-strcspn.h: Likewise.
55982         * lib/unistr/u-strdup.h: Likewise.
55983         * lib/unistr/u-strlen.h: Likewise.
55984         * lib/unistr/u-strncat.h: Likewise.
55985         * lib/unistr/u-strncpy.h: Likewise.
55986         * lib/unistr/u-strnlen.h: Likewise.
55987         * lib/unistr/u-strpbrk.h: Likewise.
55988         * lib/unistr/u-strspn.h: Likewise.
55989         * lib/unistr/u-strstr.h: Likewise.
55990         * lib/unistr/u-strtok.h: Likewise.
55991         * lib/unistr/u16-check.c: Likewise.
55992         * lib/unistr/u16-chr.c: Likewise.
55993         * lib/unistr/u16-cmp.c: Likewise.
55994         * lib/unistr/u16-cpy-alloc.c: Likewise.
55995         * lib/unistr/u16-cpy.c: Likewise.
55996         * lib/unistr/u16-endswith.c: Likewise.
55997         * lib/unistr/u16-mblen.c: Likewise.
55998         * lib/unistr/u16-mbsnlen.c: Likewise.
55999         * lib/unistr/u16-mbtouc-aux.c: Likewise.
56000         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
56001         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
56002         * lib/unistr/u16-mbtouc.c: Likewise.
56003         * lib/unistr/u16-mbtoucr.c: Likewise.
56004         * lib/unistr/u16-move.c: Likewise.
56005         * lib/unistr/u16-next.c: Likewise.
56006         * lib/unistr/u16-prev.c: Likewise.
56007         * lib/unistr/u16-set.c: Likewise.
56008         * lib/unistr/u16-startswith.c: Likewise.
56009         * lib/unistr/u16-stpcpy.c: Likewise.
56010         * lib/unistr/u16-stpncpy.c: Likewise.
56011         * lib/unistr/u16-strcat.c: Likewise.
56012         * lib/unistr/u16-strchr.c: Likewise.
56013         * lib/unistr/u16-strcmp.c: Likewise.
56014         * lib/unistr/u16-strcpy.c: Likewise.
56015         * lib/unistr/u16-strcspn.c: Likewise.
56016         * lib/unistr/u16-strdup.c: Likewise.
56017         * lib/unistr/u16-strlen.c: Likewise.
56018         * lib/unistr/u16-strmblen.c: Likewise.
56019         * lib/unistr/u16-strmbtouc.c: Likewise.
56020         * lib/unistr/u16-strncat.c: Likewise.
56021         * lib/unistr/u16-strncmp.c: Likewise.
56022         * lib/unistr/u16-strncpy.c: Likewise.
56023         * lib/unistr/u16-strnlen.c: Likewise.
56024         * lib/unistr/u16-strpbrk.c: Likewise.
56025         * lib/unistr/u16-strrchr.c: Likewise.
56026         * lib/unistr/u16-strspn.c: Likewise.
56027         * lib/unistr/u16-strstr.c: Likewise.
56028         * lib/unistr/u16-strtok.c: Likewise.
56029         * lib/unistr/u16-to-u32.c: Likewise.
56030         * lib/unistr/u16-to-u8.c: Likewise.
56031         * lib/unistr/u16-uctomb-aux.c: Likewise.
56032         * lib/unistr/u16-uctomb.c: Likewise.
56033         * lib/unistr/u32-check.c: Likewise.
56034         * lib/unistr/u32-chr.c: Likewise.
56035         * lib/unistr/u32-cmp.c: Likewise.
56036         * lib/unistr/u32-cpy-alloc.c: Likewise.
56037         * lib/unistr/u32-cpy.c: Likewise.
56038         * lib/unistr/u32-endswith.c: Likewise.
56039         * lib/unistr/u32-mblen.c: Likewise.
56040         * lib/unistr/u32-mbsnlen.c: Likewise.
56041         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
56042         * lib/unistr/u32-mbtouc.c: Likewise.
56043         * lib/unistr/u32-mbtoucr.c: Likewise.
56044         * lib/unistr/u32-move.c: Likewise.
56045         * lib/unistr/u32-next.c: Likewise.
56046         * lib/unistr/u32-prev.c: Likewise.
56047         * lib/unistr/u32-set.c: Likewise.
56048         * lib/unistr/u32-startswith.c: Likewise.
56049         * lib/unistr/u32-stpcpy.c: Likewise.
56050         * lib/unistr/u32-stpncpy.c: Likewise.
56051         * lib/unistr/u32-strcat.c: Likewise.
56052         * lib/unistr/u32-strchr.c: Likewise.
56053         * lib/unistr/u32-strcmp.c: Likewise.
56054         * lib/unistr/u32-strcpy.c: Likewise.
56055         * lib/unistr/u32-strcspn.c: Likewise.
56056         * lib/unistr/u32-strdup.c: Likewise.
56057         * lib/unistr/u32-strlen.c: Likewise.
56058         * lib/unistr/u32-strmblen.c: Likewise.
56059         * lib/unistr/u32-strmbtouc.c: Likewise.
56060         * lib/unistr/u32-strncat.c: Likewise.
56061         * lib/unistr/u32-strncmp.c: Likewise.
56062         * lib/unistr/u32-strncpy.c: Likewise.
56063         * lib/unistr/u32-strnlen.c: Likewise.
56064         * lib/unistr/u32-strpbrk.c: Likewise.
56065         * lib/unistr/u32-strrchr.c: Likewise.
56066         * lib/unistr/u32-strspn.c: Likewise.
56067         * lib/unistr/u32-strstr.c: Likewise.
56068         * lib/unistr/u32-strtok.c: Likewise.
56069         * lib/unistr/u32-to-u16.c: Likewise.
56070         * lib/unistr/u32-to-u8.c: Likewise.
56071         * lib/unistr/u32-uctomb.c: Likewise.
56072         * lib/unistr/u8-check.c: Likewise.
56073         * lib/unistr/u8-chr.c: Likewise.
56074         * lib/unistr/u8-cmp.c: Likewise.
56075         * lib/unistr/u8-cpy-alloc.c: Likewise.
56076         * lib/unistr/u8-cpy.c: Likewise.
56077         * lib/unistr/u8-endswith.c: Likewise.
56078         * lib/unistr/u8-mblen.c: Likewise.
56079         * lib/unistr/u8-mbsnlen.c: Likewise.
56080         * lib/unistr/u8-mbtouc-aux.c: Likewise.
56081         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
56082         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
56083         * lib/unistr/u8-mbtouc.c: Likewise.
56084         * lib/unistr/u8-mbtoucr.c: Likewise.
56085         * lib/unistr/u8-move.c: Likewise.
56086         * lib/unistr/u8-next.c: Likewise.
56087         * lib/unistr/u8-prev.c: Likewise.
56088         * lib/unistr/u8-set.c: Likewise.
56089         * lib/unistr/u8-startswith.c: Likewise.
56090         * lib/unistr/u8-stpcpy.c: Likewise.
56091         * lib/unistr/u8-stpncpy.c: Likewise.
56092         * lib/unistr/u8-strcat.c: Likewise.
56093         * lib/unistr/u8-strchr.c: Likewise.
56094         * lib/unistr/u8-strcmp.c: Likewise.
56095         * lib/unistr/u8-strcpy.c: Likewise.
56096         * lib/unistr/u8-strcspn.c: Likewise.
56097         * lib/unistr/u8-strdup.c: Likewise.
56098         * lib/unistr/u8-strlen.c: Likewise.
56099         * lib/unistr/u8-strmblen.c: Likewise.
56100         * lib/unistr/u8-strmbtouc.c: Likewise.
56101         * lib/unistr/u8-strncat.c: Likewise.
56102         * lib/unistr/u8-strncmp.c: Likewise.
56103         * lib/unistr/u8-strncpy.c: Likewise.
56104         * lib/unistr/u8-strnlen.c: Likewise.
56105         * lib/unistr/u8-strpbrk.c: Likewise.
56106         * lib/unistr/u8-strrchr.c: Likewise.
56107         * lib/unistr/u8-strspn.c: Likewise.
56108         * lib/unistr/u8-strstr.c: Likewise.
56109         * lib/unistr/u8-strtok.c: Likewise.
56110         * lib/unistr/u8-to-u16.c: Likewise.
56111         * lib/unistr/u8-to-u32.c: Likewise.
56112         * lib/unistr/u8-uctomb-aux.c: Likewise.
56113         * lib/unistr/u8-uctomb.c: Likewise.
56114         * lib/unitypes.h: Likewise.
56115         * lib/uniwidth.h: Likewise.
56116         * lib/uniwidth/cjk.h: Likewise.
56117         * lib/uniwidth/u16-strwidth.c: Likewise.
56118         * lib/uniwidth/u16-width.c: Likewise.
56119         * lib/uniwidth/u32-strwidth.c: Likewise.
56120         * lib/uniwidth/u32-width.c: Likewise.
56121         * lib/uniwidth/u8-strwidth.c: Likewise.
56122         * lib/uniwidth/u8-width.c: Likewise.
56123         * lib/uniwidth/width.c: Likewise.
56124
56125 2007-10-07  Bruno Haible  <bruno@clisp.org>
56126
56127         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
56128         The file is still under LGPL (see modules/inttypes).
56129
56130 2007-10-06  Bruno Haible  <bruno@clisp.org>
56131
56132         * modules/trunc (Dependencies): Add 'extensions'.
56133         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
56134         Reported by Ben Pfaff <blp@gnu.org>.
56135
56136 2007-10-06  Bruno Haible  <bruno@clisp.org>
56137
56138         * modules/freopen-tests: New file.
56139         * tests/test-freopen.c: New file.
56140
56141         * modules/fopen-tests: New file.
56142         * tests/test-fopen.c: New file.
56143
56144         * modules/fopen: New file.
56145         * lib/fopen.c: New file.
56146         * m4/fopen.m4: New file.
56147         * modules/freopen: New file.
56148         * lib/freopen.c: New file.
56149         * m4/freopen.m4: New file.
56150         * lib/stdio.in.h (fopen, freopen): New declarations.
56151         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
56152         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
56153         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
56154         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
56155         * doc/functions/fopen.texi: Mention the 'fopen' module.
56156         * doc/functions/freopen.texi: Mention the 'freopen' module.
56157
56158 2007-10-06  Bruno Haible  <bruno@clisp.org>
56159
56160         * modules/open-tests: New file.
56161         * tests/test-open.c: New file.
56162
56163         * modules/open: New file.
56164         * lib/open.c: New file.
56165         * m4/open.m4: New file.
56166         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
56167         lib/open.c does.
56168         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
56169         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
56170         macros.
56171         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
56172         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
56173         REPLACE_OPEN.
56174         * doc/functions/open.texi: Mention the 'open' module.
56175
56176 2007-10-04  Bruno Haible  <bruno@clisp.org>
56177
56178         * modules/ceill-tests: New file.
56179         * tests/test-ceill.c: New file.
56180
56181         * modules/ceill: New file.
56182         * lib/ceill.c: Replace entire file.
56183         * m4/ceill.m4: New file.
56184         * lib/math.in.h (ceill): Replace declaration.
56185         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
56186         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
56187         * doc/functions/ceill.texi: Mention the 'ceill' module.
56188         * modules/mathl (Files): Remove lib/ceill.c.
56189         (Depends-on): Add ceill.
56190
56191 2007-10-04  Bruno Haible  <bruno@clisp.org>
56192
56193         * modules/ceilf-tests: New file.
56194         * tests/test-ceilf.c: New file.
56195
56196         * modules/ceilf: New file.
56197         * lib/ceil.c: New file.
56198         * lib/ceilf.c: New file.
56199         * m4/ceilf.m4: New file.
56200         * lib/math.in.h (ceilf): New declaration.
56201         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
56202         HAVE_DECL_CEILF.
56203         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
56204         HAVE_DECL_CEILF.
56205         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
56206
56207 2007-10-04  Bruno Haible  <bruno@clisp.org>
56208
56209         * modules/floorl-tests: New file.
56210         * tests/test-floorl.c: New file.
56211
56212         * modules/floorl: New file.
56213         * lib/floorl.c: Replace entire file.
56214         * m4/floorl.m4: New file.
56215         * lib/math.in.h (floorl): Replace declaration.
56216         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
56217         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
56218         * doc/functions/floorl.texi: Mention the 'floorl' module.
56219         * modules/mathl (Files): Remove lib/floorl.c.
56220         (Depends-on): Add floorl.
56221
56222 2007-10-04  Bruno Haible  <bruno@clisp.org>
56223
56224         * modules/floorf-tests: New file.
56225         * tests/test-floorf.c: New file.
56226
56227         * modules/floorf: New file.
56228         * lib/floor.c: New file.
56229         * lib/floorf.c: New file.
56230         * m4/floorf.m4: New file.
56231         * lib/math.in.h (floorf): New declaration.
56232         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
56233         HAVE_DECL_FLOORF.
56234         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
56235         HAVE_DECL_FLOORF.
56236         * doc/functions/floorf.texi: Mention the 'floorf' module.
56237
56238 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
56239             Bruno Haible  <bruno@clisp.org>
56240
56241         Advertise for the Git server instead of the CVS server.
56242         * doc/gnulib-intro.texi (Steady Development): Mention the Git
56243         repository instead of the CVS one.
56244         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
56245         about all VCS systems generically.
56246         * doc/gnulib.texi (Introduction): Capitalize `Git'.
56247
56248 2007-10-04  Bruno Haible  <bruno@clisp.org>
56249
56250         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
56251         means.
56252         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
56253
56254 2007-10-04  Bruno Haible  <bruno@clisp.org>
56255
56256         * modules/truncl-tests: New file.
56257         * tests/test-truncl.c: New file.
56258
56259         * modules/truncl: New file.
56260         * lib/truncl.c: New file.
56261         * m4/truncl.m4: New file.
56262         * lib/math.in.h (truncl): New declaration.
56263         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
56264         HAVE_DECL_TRUNCL.
56265         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
56266         HAVE_DECL_TRUNCL.
56267         * doc/functions/truncl.texi: Mention the 'truncl' module.
56268
56269 2007-10-04  Bruno Haible  <bruno@clisp.org>
56270
56271         * modules/truncf-tests: New file.
56272         * tests/test-truncf.c: New file.
56273
56274         * modules/truncf: New file.
56275         * lib/trunc.c: Make paramerizable through USE_* macros.
56276         * lib/truncf.c: New file.
56277         * m4/truncf.m4: New file.
56278         * lib/math.in.h (truncf): New declaration.
56279         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
56280         HAVE_DECL_TRUNCF.
56281         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
56282         HAVE_DECL_TRUNCF.
56283         * doc/functions/truncf.texi: Mention the 'truncf' module.
56284
56285 2007-10-03  Bruno Haible  <bruno@clisp.org>
56286
56287         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
56288         augmentation also for tests modules.
56289         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
56290         * modules/atexit-tests (Makefile.am): Likewise.
56291         * modules/binary-io-tests (Makefile.am): Likewise.
56292         * modules/c-strcase-tests (Makefile.am): Likewise.
56293         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
56294         * modules/canonicalize-tests (Makefile.am): Likewise.
56295         * modules/closein-tests (Makefile.am): Likewise.
56296         * modules/fprintf-posix-tests (Makefile.am): Likewise.
56297         * modules/freadahead-tests (Makefile.am): Likewise.
56298         * modules/fseek-tests (Makefile.am): Likewise.
56299         * modules/fseeko-tests (Makefile.am): Likewise.
56300         * modules/ftell-tests (Makefile.am): Likewise.
56301         * modules/ftello-tests (Makefile.am): Likewise.
56302         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
56303         * modules/isnanl-tests (Makefile.am): Likewise.
56304         * modules/lseek-tests (Makefile.am): Likewise.
56305         * modules/mbscasecmp-tests (Makefile.am): Likewise.
56306         * modules/mbscasestr-tests (Makefile.am): Likewise.
56307         * modules/mbschr-tests (Makefile.am): Likewise.
56308         * modules/mbscspn-tests (Makefile.am): Likewise.
56309         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
56310         * modules/mbspbrk-tests (Makefile.am): Likewise.
56311         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
56312         * modules/mbsrchr-tests (Makefile.am): Likewise.
56313         * modules/mbsspn-tests (Makefile.am): Likewise.
56314         * modules/mbsstr-tests (Makefile.am): Likewise.
56315         * modules/printf-posix-tests (Makefile.am): Likewise.
56316         * modules/snprintf-posix-tests (Makefile.am): Likewise.
56317         * modules/sprintf-posix-tests (Makefile.am): Likewise.
56318         * modules/tsearch-tests (Makefile.am): Likewise.
56319         * modules/uniname/uniname-tests (Makefile.am): Likewise.
56320         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
56321         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
56322         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
56323         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
56324         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
56325         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
56326         * modules/vprintf-posix-tests (Makefile.am): Likewise.
56327         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
56328         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
56329         * modules/xstrtoimax-tests (Makefile.am): Likewise.
56330         * modules/xstrtol-tests (Makefile.am): Likewise.
56331         * modules/xstrtoumax-tests (Makefile.am): Likewise.
56332         * modules/yesno-tests (Makefile.am): Likewise.
56333
56334 2007-10-03  Bruno Haible  <bruno@clisp.org>
56335
56336         * modules/trunc-tests: New file.
56337         * tests/test-trunc.c: New file.
56338
56339         * modules/trunc: New file.
56340         * lib/trunc.c: New file.
56341         * m4/trunc.m4: New file.
56342         * lib/math.in.h (trunc): New declaration.
56343         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
56344         HAVE_DECL_TRUNC.
56345         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
56346         HAVE_DECL_TRUNC.
56347         * doc/functions/trunc.texi: Mention the 'trunc' module.
56348
56349 2007-10-03  Bruno Haible  <bruno@clisp.org>
56350
56351         * tests/test-fpending.c: New file, mostly copied
56352         from coreutils/lib/t-fpending.c.
56353         * modules/fpending-tests: New file.
56354
56355 2007-10-03  Bruno Haible  <bruno@clisp.org>
56356
56357         Port the stdio extensions to QNX (untested).
56358         * lib/fseterr.c (fseterr): Add support for QNX.
56359         * lib/fbufmode.c (fbufmode): Likewise.
56360         * lib/freadable.c (freadable): Likewise.
56361         * lib/fwritable.c (fwritable): Likewise.
56362         * lib/freading.c (freading): Likewise.
56363         * lib/fwriting.c (fwriting): Likewise.
56364         * lib/freadahead.c (freadahed): Likewise.
56365         * lib/fpurge.c (fpurge): Likewise.
56366         * lib/fseeko.c (rpl_fseeko): Likewise.
56367
56368 2007-10-03  Bruno Haible  <bruno@clisp.org>
56369             Jim Meyering  <jim@meyering.net>
56370             Eric Blake  <ebb9@byu.net>
56371
56372         * doc/relocatable.texi: Use @command instead of @program.
56373
56374 2007-10-02  Jim Meyering  <jim@meyering.net>
56375
56376         Perform one more "_.h" -> ".in.h" substitution.
56377         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
56378         instead of unistd_.h here, too.
56379
56380 2007-10-01  Bruno Haible  <bruno@clisp.org>
56381
56382         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
56383         Needed for the alloca-opt module.
56384
56385 2007-09-30  Bruno Haible  <bruno@clisp.org>
56386
56387         * lib/alloca.in.h: Renamed from lib/alloca_.h.
56388         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
56389         alloca_.h.
56390         * lib/argz.in.h: Renamed from lib/argz_.h.
56391         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
56392         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
56393         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
56394         byteswap_.h.
56395         * lib/dirent.in.h: Renamed from lib/dirent_.h.
56396         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
56397         dirent_.h.
56398         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
56399         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
56400         fcntl_.h.
56401         * lib/float.in.h: Renamed from lib/float_.h.
56402         * modules/float (Files, Makefile.am): Use float.in.h instead of
56403         float_.h.
56404         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
56405         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
56406         fnmatch_.h.
56407         * lib/getopt.in.h: Renamed from lib/getopt_.h.
56408         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
56409         getopt_.h.
56410         * lib/glob.in.h: Renamed from lib/glob_.h.
56411         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
56412         * lib/iconv.in.h: Renamed from lib/iconv_.h.
56413         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
56414         iconv_.h.
56415         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
56416         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
56417         inttypes_.h.
56418         * lib/locale.in.h: Renamed from lib/locale_.h.
56419         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
56420         locale_.h.
56421         * lib/math.in.h: Renamed from lib/math_.h.
56422         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
56423         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
56424         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
56425         of netinet_in_.h. Add dependency.
56426         * lib/poll.in.h: Renamed from lib/poll_.h.
56427         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
56428         * lib/search.in.h: Renamed from lib/search_.h.
56429         * modules/search (Files, Makefile.am): Use search.in.h instead of
56430         search_.h.
56431         * lib/signal.in.h: Renamed from lib/signal_.h.
56432         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
56433         _signal.h.
56434         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
56435         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
56436         stdbool_.h.
56437         * lib/stdint.in.h: Renamed from lib/stdint_.h.
56438         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
56439         stdint_.h.
56440         * lib/stdio.in.h: Renamed from lib/stdio_.h.
56441         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
56442         stdio_.h.
56443         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
56444         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
56445         stdlib_.h.
56446         * lib/string.in.h: Renamed from lib/string_.h.
56447         * modules/string (Files, Makefile.am): Use string.in.h instead of
56448         string_.h.
56449         * doc/gnulib-tool.texi (Initial import): Update.
56450         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
56451         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
56452         of sys_select_.h. Add dependency.
56453         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
56454         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
56455         of sys_socket_.h.
56456         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
56457         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
56458         sys_stat_.h.
56459         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
56460         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
56461         sys_time_.h.
56462         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
56463         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
56464         sysexits_.h.
56465         * lib/time.in.h: Renamed from lib/time_.h.
56466         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
56467         * lib/unistd.in.h: Renamed from lib/unistd_.h.
56468         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
56469         unistd_.h.
56470         * lib/wchar.in.h: Renamed from lib/wchar_.h.
56471         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
56472         wchar_.h.
56473         * lib/wctype.in.h: Renamed from lib/wctype_.h.
56474         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
56475         wctype_.h.
56476         * build-aux/bootstrap (slurp): Update.
56477         * lib/.cppi-disable: Update.
56478
56479 2007-09-30  Bruno Haible  <bruno@clisp.org>
56480
56481         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
56482         Needed on BeOS.
56483
56484 2007-09-30  Bruno Haible  <bruno@clisp.org>
56485
56486         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
56487
56488 2007-09-29  Bruno Haible  <bruno@clisp.org>
56489
56490         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
56491
56492 2007-09-29  Bruno Haible  <bruno@clisp.org>
56493
56494         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
56495         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
56496         * build-aux/install-reloc: Compile also areadlink.c.
56497         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
56498
56499 2007-09-29  Bruno Haible  <bruno@clisp.org>
56500
56501         * gnulib-tool (func_emit_initmacro_done): Indentation.
56502
56503 2007-09-29  Bruno Haible  <bruno@clisp.org>
56504
56505         * README: Add CVS checkout update instructions.
56506         Info from Bob Proulx <bob@proulx.com>.
56507
56508 2007-09-28  Eric Blake  <ebb9@byu.net>
56509
56510         Provide move-if-change.
56511         * build-aux/move-if-change: New file, based on best practice
56512         rather than any canonical upstream location.
56513
56514 2007-09-28  Jim Meyering  <jim@meyering.net>
56515
56516         Fix canonicalize loop-detection corner case.
56517         Do not attempt to stat the symlink values stored via seen_triple.
56518         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
56519         on linux-2.6.18, (but not 2.6.22).
56520         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
56521         triple_compare.  The former compares dev,ino,filename, while the latter
56522         would actually stat dirname(filename) when dev and ino were equal.
56523         * lib/hash-triple.c: Install <string.h>.
56524         (STREQ): Define.
56525         (triple_compare_ino_str): New function.
56526         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
56527
56528 2007-09-28  Eric Blake  <ebb9@byu.net>
56529
56530         Enforce that AC_REPLACE_FUNCS files exist.
56531         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
56532         override check for typos.
56533
56534         Fix test-closein on Solaris 10.
56535         * tests/test-closein.c (main): Don't assume stdin can be inherited
56536         closed on all systems.
56537         * tests/test-closein.sh: Likewise.
56538         Reported by Piotr Tarnowski.
56539
56540 2007-09-28  Jim Meyering  <jim@meyering.net>
56541
56542         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
56543
56544 2007-09-27  Jim Meyering  <jim@meyering.net>
56545
56546         canonicalize: Avoid a false-positive cycle failure.
56547         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
56548         Sort.  Remove cycle-check.
56549         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
56550         not cycle-check.h.
56551         (seen_triple): New function.
56552         (canonicalize_filename_mode): Use it instead of cycle-check.
56553         * tests/test-canonicalize.c: Add a test for this bug.
56554         * tests/test-canonicalize.sh: Set up and run the test.
56555
56556         New module, file-set, from coreutils.
56557         * modules/file-set: Define it.
56558         * lib/file-set.c, lib/file-set.h: Implement.
56559
56560         New module, hash-triple, from coreutils.
56561         * modules/hash-triple: Define it.
56562         * lib/hash-triple.c, lib/hash-triple.h: Implement.
56563
56564 2007-09-25  Eric Blake  <ebb9@byu.net>
56565
56566         Fix strerror on Interix.
56567         * lib/string_.h (strerror): Declare replacement.
56568         * doc/functions/strerror.texi (strerror): Document the Interix
56569         shortcoming.
56570         * modules/string (Makefile.am): Support new hooks.
56571         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
56572         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
56573         gl_FUNC_STRERROR_SEPARATE.
56574         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
56575         * lib/strerror.c (rpl_strerror): Provide replacement.
56576         * modules/strerror (Depends-on): Add string.
56577         (configure.ac): Detect use of module.
56578         * tests/test-strerror.c: New file.
56579         * modules/strerror-tests: New test module.
56580         * modules/argp (Depends-on): Add strerror.
56581         * modules/error (Depends-on): Likewise.
56582         Reported by Martin Koeppe.
56583
56584 2007-09-24  Bruno Haible  <bruno@clisp.org>
56585
56586         * README: Update git instructions.
56587
56588 2007-09-24  Eric Blake  <ebb9@byu.net>
56589
56590         Revert fpending breakage from 2007-09-08.
56591         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
56592         __fpending.c.
56593
56594 2007-09-24  Jim Meyering  <jim@meyering.net>
56595
56596         filenamecat.c: Add a test.
56597         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
56598         showing how the function works when DIR is the empty string.
56599
56600 2007-09-21  Simon Josefsson  <simon@josefsson.org>
56601
56602         * tests/test-canonicalize.sh: Turn on executable bit.
56603
56604 2007-09-19  Eric Blake  <ebb9@byu.net>
56605
56606         * README: Update CVS instructions.
56607
56608 2007-09-18  Bruno Haible  <bruno@clisp.org>
56609
56610         * modules/areadlink: New file.
56611         * lib/areadlink.h (areadlink): New declaration.
56612         * lib/areadlink.c: New file, based on lib/xreadlink.c.
56613
56614 2007-09-17  Jim Meyering  <jim@meyering.net>
56615
56616         * lib/savewd.c (ESTALE) [!defined]: Define.
56617         Reported to be required on Interix by Martin Koeppe.
56618
56619 2007-09-17  Bruno Haible  <bruno@clisp.org>
56620
56621         * gnulib-tool (func_version): Use $version.
56622
56623 2007-09-16  Bruno Haible  <bruno@clisp.org>
56624
56625         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
56626         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
56627         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
56628         Reported by Greg Schafer <gschafer@zip.com.au>.
56629
56630 2007-09-15  Bruno Haible  <bruno@clisp.org>
56631
56632         * gnulib-tool (sed): Try a little harder to make bash understand the
56633         alias.
56634         Reported by Bruce Korb <bruce.korb@gmail.com>.
56635
56636 2007-09-13  Eric Blake  <ebb9@byu.net>
56637
56638         * ChangeLog: Remove conflict markers.
56639
56640 2007-09-13  Simon Josefsson  <simon@josefsson.org>
56641
56642         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
56643         Reported by Bruno Haible <bruno@clisp.org>.
56644
56645 2007-09-12  Bruno Haible  <bruno@clisp.org>
56646
56647         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
56648         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
56649         is not defined.
56650
56651 2007-09-12  Eric Blake  <ebb9@byu.net>
56652
56653         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
56654         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
56655         Autoconf definition.
56656         * modules/euidaccess (Depends-on): Add extensions, for
56657         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
56658         * modules/fnmatch (Depends-on): Likewise.
56659         * modules/getaddrinfo (Depends-on): Likewise.
56660         * modules/getdelim (Depends-on): Likewise.
56661         * modules/getline (Depends-on): Likewise.
56662         * modules/getsubopt (Depends-on): Likewise.
56663         * modules/gettext (Depends-on): Likewise.
56664         * modules/group-member (Depends-on): Likewise.
56665         * modules/mbchar (Depends-on): Likewise.
56666         * modules/memmem (Depends-on): Likewise.
56667         * modules/mempcpy (Depends-on): Likewise.
56668         * modules/memrchr (Depends-on): Likewise.
56669         * modules/pagealign_alloc (Depends-on): Likewise.
56670         * modules/readutmp (Depends-on): Likewise.
56671         * modules/stpcpy (Depends-on): Likewise.
56672         * modules/stpncpy (Depends-on): Likewise.
56673         * modules/strchrnul (Depends-on): Likewise.
56674         * modules/strndup (Depends-on): Likewise.
56675         * modules/strsep (Depends-on): Likewise.
56676         * modules/strverscmp (Depends-on): Likewise.
56677         * modules/vasprintf (Depends-on): Likewise.
56678         * modules/wcwidth (Depends-on): Likewise.
56679         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
56680         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
56681         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
56682         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
56683         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
56684         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
56685         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
56686         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
56687         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
56688         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
56689         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
56690         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
56691         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
56692         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
56693         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
56694         * m4/readutmp.m4 (gl_READUTMP): Likewise.
56695         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
56696         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
56697         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
56698         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
56699         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
56700         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
56701         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
56702         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
56703         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
56704         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
56705         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
56706         so that lock.m4 can be used in gettext without extensions module.
56707
56708 2007-09-11  Bruno Haible  <bruno@clisp.org>
56709
56710         * m4/isc-posix.m4: Remove file.
56711         Suggested by Eric Blake.
56712
56713 2007-09-11  Eric Blake  <ebb9@byu.net>
56714
56715         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
56716
56717 2007-09-10  Bruno Haible  <bruno@clisp.org>
56718
56719         * posix-modules: Fix typo in error message.
56720         Reported by Matt <mkraai@beckman.com>.
56721
56722 2007-09-09  Bruno Haible  <bruno@clisp.org>
56723
56724         * doc/functions/getdelim.texi: Update list of platforms lacking the
56725         function.
56726         * doc/functions/getline.texi: Likewise.
56727
56728 2007-09-09  Jim Meyering  <jim@meyering.net>
56729
56730         * lib/hash.c (hash_initialize): Detect calloc failure.
56731         Reported by Bruno Haible.
56732
56733 2007-09-09  Bruno Haible  <bruno@clisp.org>
56734
56735         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
56736         malloc or realloc fails.
56737
56738 2007-09-09  Bruno Haible  <bruno@clisp.org>
56739
56740         * modules/getcwd (Depends-on): Add malloc-posix.
56741         * modules/glob (Depends-on): Likewise.
56742         * modules/putenv (Depends-on): Likewise.
56743         * modules/strdup (Depends-on): Likewise.
56744         * modules/getdelim (Depends-on): Add realloc-posix.
56745         * modules/read-file (Depends-on): Likewise.
56746
56747 2007-09-09  Bruno Haible  <bruno@clisp.org>
56748
56749         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
56750         (gl_FUNC_MALLOC_POSIX): Require it.
56751         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
56752         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
56753         * modules/realloc (Files): Add m4/malloc.m4.
56754         * modules/calloc (Files): Likewise.
56755
56756 2007-09-09  Bruno Haible  <bruno@clisp.org>
56757
56758         * modules/malloc-posix: New file.
56759         * modules/malloc (Depends-on): Add malloc-posix.
56760         * lib/malloc.c: Include errno.h.
56761         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
56762         and a POSIX-compatible malloc into a single function. Set ENOMEM
56763         when returning NULL.
56764         * m4/malloc.m4: New file.
56765         * doc/functions/malloc.texi: Mention the malloc-posix module.
56766         * lib/stdlib_.h (malloc): New declaration.
56767         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
56768         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
56769         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
56770         and HAVE_MALLOC_POSIX.
56771
56772 2007-09-09  Bruno Haible  <bruno@clisp.org>
56773
56774         * modules/realloc-posix: New file.
56775         * modules/realloc (Depends-on): Add realloc-posix.
56776         * lib/realloc.c: Include errno.h.
56777         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
56778         and a POSIX-compatible realloc into a single function. Set ENOMEM
56779         when returning NULL.
56780         * m4/realloc.m4: New file.
56781         * doc/functions/realloc.texi: Mention the realloc-posix module.
56782         * lib/stdlib_.h (realloc): New declaration.
56783         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
56784         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
56785         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
56786         and HAVE_REALLOC_POSIX.
56787
56788 2007-09-09  Bruno Haible  <bruno@clisp.org>
56789
56790         * modules/calloc-posix: New file.
56791         * modules/calloc (Depends-on): Add calloc-posix.
56792         * lib/calloc.c: Include errno.h.
56793         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
56794         and a POSIX-compatible calloc into a single function. Set ENOMEM
56795         when returning NULL.
56796         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
56797         * doc/functions/calloc.texi: Mention the calloc-posix module.
56798         * lib/stdlib_.h (calloc): New declaration.
56799         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
56800         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
56801         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
56802         and HAVE_CALLOC_POSIX.
56803
56804 2007-09-09  Bruno Haible  <bruno@clisp.org>
56805
56806         Allow for modules to show an arbitrary notice.
56807         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
56808         * gnulib-tool: New option --extract-notice.
56809         (func_usage): Document it.
56810         (sed_extract_prog): Update.
56811         (func_get_notice): New function.
56812         (func_modules_notice): New function.
56813         (func_import, func_create_testdir): Invoke it.
56814         Suggested by Jim Meyering.
56815
56816 2007-09-09  Bruno Haible  <bruno@clisp.org>
56817
56818         * gnulib-tool: New options --verbose, --quiet.
56819         (func_usage): Document them.
56820         (verbose): New variable.
56821         (func_execute_command): New function.
56822         (func_import): Don't show the module list and the file list if
56823         $verbose < 0.
56824         (func_create_testdir): Likewise. Use func_execute_command.
56825         (func_create_megatestdir): Use func_execute_command.
56826
56827 2007-09-08  Bruno Haible  <bruno@clisp.org>
56828
56829         * gnulib-tool (func_import): Prefer rsync over wget when available,
56830         for fetching the PO files.
56831
56832 2007-09-08  Bruno Haible  <bruno@clisp.org>
56833
56834         * posix-modules: New file. Portions copied from gnulib-tool.
56835         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
56836
56837 2007-09-08  Jim Meyering  <jim@meyering.net>
56838
56839         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
56840         * lib/fpending.h: Rename from __fpending.h.
56841         * lib/fpending.c: Rename from __fpending.c.
56842         Include "fpending.h", not "__fpending.h".
56843         * lib/__fpending.h, lib/__fpending.c: Remove files.
56844         * modules/fpending (Files): Reflect new file names.
56845         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
56846
56847 2007-09-08  Bruno Haible  <bruno@clisp.org>
56848
56849         * m4/inttypes-h.m4: Remove stub file.
56850
56851 2007-09-07  Simon Josefsson  <simon@josefsson.org>
56852
56853         * doc/headers/stdint.texi: Discuss #include_next issue.
56854
56855 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
56856
56857         * build-aux/bootstrap: Remove obsolete comment about wget --help.
56858
56859 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56860
56861         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
56862         in variable name.
56863
56864 2007-09-03  Jim Meyering  <jim@meyering.net>
56865
56866         New module: git-version-gen.
56867         * modules/git-version-gen: New file.
56868
56869         Import changes from coreutils for bootstrap script.
56870
56871         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
56872
56873         bootstrap: uses rsync to download the .po files
56874         * build-aux/bootstrap (po_download_command_format): New global.
56875         (download_po_files): Use rsync.
56876         (update_po_files): Don't remove .po files after download,
56877         so future rsync runs can take advantage of the copies.
56878
56879         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
56880
56881         Solve the unnecessary-.po-file-regeneration problem once and for all.
56882         * build-aux/bootstrap (download_po_files): New function, renamed from
56883         get_translations.  Now, downloads, but doesn't update LINGUAS.
56884         (update_po_files): New function.
56885
56886         bootstrap: Ignore more.
56887         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
56888         uniwidth to e.g., lib/.gitignore.
56889         (slurp): Handle the sys_stat_.h -> sys mapping, too.
56890
56891         * build-aux/bootstrap: New setting: vc_ignore.
56892         (insert_sorted_if_absent): Create $file if absent.
56893         Adapt to new, possibly empty, list: $vc_ignore.
56894
56895         bootstrap: generate more ignorable names
56896         * build-aux/bootstrap (slurp): When generating ignorable names,
56897         also map .sin to .sed, .gperf to .c, and .y to .c.
56898
56899 2007-09-03  Jim Meyering  <jim@meyering.net>
56900
56901         * build-aux/git-version-gen: New file, from coreutils.  For details, see
56902         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
56903
56904 2007-09-02  Bruno Haible  <bruno@clisp.org>
56905
56906         Fix mis-recognition of 'mcs' on QNX 6.
56907         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
56908         output contains the string "Mono".
56909         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
56910         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
56911
56912 2007-09-01  Bruno Haible  <bruno@clisp.org>
56913
56914         Fix collision between uniwidth/* and linebreak modules.
56915         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
56916         u32_width): Remove declarations.
56917         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
56918         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
56919         streq3, streq2, streq1, streq0): Remove functions.
56920         (STREQ): Remove macro.
56921         (is_cjk_encoding): Remove function.
56922         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
56923         (uc_width, u8_width, u16_width, u32_width): Remove functions.
56924         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
56925         * NEWS: Document the change.
56926
56927 2007-09-01  Bruno Haible  <bruno@clisp.org>
56928
56929         * lib/streq.h: Add double-inclusion guard.
56930
56931 2007-09-01  Karl Berry  <karl@gnu.org>
56932
56933         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
56934
56935 2007-08-28  Jim Meyering  <jim@meyering.net>
56936
56937         Rename mreadlink_with_size to areadlink_with_size.
56938         * NEWS: Document the change.
56939         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
56940         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
56941         * lib/mreadlink.h: Rename this to...
56942         * lib/areadlink.h: ...this.
56943         * modules/mreadlink-with-size: Rename this to...
56944         * modules/areadlink-with-size: ...this.
56945         * lib/canonicalize.c: Reflect the renaming.
56946         * modules/canonicalize: Likewise.
56947
56948 2007-08-26  Bruno Haible  <bruno@clisp.org>
56949
56950         * gnulib-tool (func_import): When deciding which files to remove,
56951         consider also dangling symbolic links.
56952         Reported by Eric Blake.
56953
56954 2007-08-26  Bruno Haible  <bruno@clisp.org>
56955
56956         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
56957
56958 2007-08-23  Simon Josefsson  <simon@josefsson.org>
56959
56960         * lib/readline.c: Don't include getline.h, the prototype is now
56961         found in stdio.h.
56962
56963 2007-08-23  Jim Meyering  <jim@meyering.net>
56964
56965         Getdelim touchup.
56966         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
56967         around the funlockfile call, since funlockfile never sets errno.
56968         Don't set errno upon failed realloc.
56969
56970 2007-08-22  Eric Blake  <ebb9@byu.net>
56971
56972         Getline touchups.
56973         * lib/getdelim.c (getdelim): Revert regression that required *n to
56974         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
56975         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
56976         getdelim, rather than whether implementation is missing.
56977         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
56978         * lib/stdio_.h (getline): Also declare if replacement is
56979         required.
56980         * doc/functions/getdelim.texi: New file.
56981         * doc/functions/getline.texi: Likewise.
56982         * doc/gnulib.texi (Function Substitutes): Add new files.
56983         Reported by Bruno Haible.
56984
56985 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
56986
56987         * users.txt: Add Guile.
56988
56989 2007-08-22  Eric Blake  <ebb9@byu.net>
56990
56991         * tests/test-getdelim.c (main): Use remove, not unlink.
56992         * tests/test-getline.c (main): Likewise.
56993
56994         Move getline and getdelim into stdio.h, per POSIX 200x.
56995         * modules/getline (Files): Remove getline.h.
56996         (Depends-on): Add stdio.
56997         (configure.ac): Add module indicator.
56998         * modules/getdelim (Files): Remove getdelim.h.
56999         (Depends-on): Add stdio.
57000         (configure.ac): Add module indicator.
57001         * modules/stdio (Makefile.am): Work with new indicators.
57002         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
57003         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
57004         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
57005         * lib/getdelim.h: Delete.
57006         * lib/getline.h: Delete.
57007         * lib/stdio_.h (getdelim, getline): Declare.
57008         * modules/getdelim-tests: New module.
57009         * modules/getline-tests: Likewise.
57010         * tests/test-getdelim.c: New file.
57011         * tests/test-getline.c: Likewise.
57012         * NEWS: Document the change.
57013         * lib/getline.c: Update choice of header.
57014         * lib/csharpcomp.c: Likewise.
57015         * lib/getpass.c: Likewise.
57016         * lib/javacomp.c: Likewise.
57017         * lib/javaversion.c: Likewise.
57018         * lib/yesno.c: Likewise.
57019         * lib/getdelim.c: Likewise.
57020         (getdelim): Set errno on failure, and avoid memory leak.
57021
57022 2007-08-19  Bruno Haible  <bruno@clisp.org>
57023
57024         * modules/closein (Depends-on): Add freadahead.
57025         * lib/closein.c: Include freadahead.h.
57026         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
57027         is zero.
57028
57029 2007-08-19  Bruno Haible  <bruno@clisp.org>
57030
57031         * modules/freadahead-tests: New file.
57032         * tests/test-freadahead.sh: New file.
57033         * tests/test-freadahead.c: New file.
57034
57035         * modules/freadahead: New file.
57036         * lib/freadahead.h: New file.
57037         * lib/freadahead.c: New file.
57038         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
57039         fbufmode, fpurge, freadable, fwritable.
57040
57041 2007-08-19  Eric Blake  <ebb9@byu.net>
57042
57043         Test yesno in combination with closein.
57044         * lib/yesno.c (yesno): Document use of stdin.
57045         * modules/yesno-tests (Files): New module.
57046         * tests/test-yesno.c (main): New file.
57047         * tests/test-yesno.sh: Likewise.
57048
57049 2007-08-19  Bruno Haible  <bruno@clisp.org>
57050
57051         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
57052         * lib/fseeko.c (rpl_fseeko): Likewise.
57053         * lib/fseterr.c (fseterr): Likewise.
57054
57055 2007-08-19  Bruno Haible  <bruno@clisp.org>
57056
57057         * tests/test-lseek.c (main): Disable a test for BeOS.
57058         * doc/functions/lseek.texi: Document the BeOS bug.
57059
57060 2007-08-19  Bruno Haible  <bruno@clisp.org>
57061             Eric Blake  <ebb9@byu.net>
57062
57063         * lib/lseek.c: Include <sys/stat.h>.
57064         (rpl_lseek): Add workaround code also for Unix platforms.
57065         Needed for BeOS.
57066         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
57067         * doc/functions/lseek.texi: Document BeOS definiency.
57068
57069 2007-08-18  Bruno Haible  <bruno@clisp.org>
57070
57071         * modules/fstrcmp-tests: New file.
57072         * tests/test-fstrcmp.c: New file.
57073
57074 2007-08-18  Bruno Haible  <bruno@clisp.org>
57075
57076         * modules/fstrcmp: New file, from GNU gettext with modifications.
57077         * lib/fstrcmp.h: New file, from GNU gettext.
57078         * lib/fstrcmp.c: New file, from GNU gettext.
57079         * MODULES.html.sh (String handling): Add fstrcmp.
57080
57081 2007-08-18  Bruno Haible  <bruno@clisp.org>
57082
57083         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
57084         'bool'.
57085         (diag, compareseq): Remove const from the ctxt argument.
57086         (USE_HEURISTIC): Undefine at the end.
57087
57088 2007-08-18  Jim Meyering  <jim@meyering.net>
57089
57090         New file: lib/idcache.h
57091         * NEWS: Mention the addition.
57092         * modules/idcache (Files): Add lib/idcache.h
57093         * lib/idcache.c: Include "idcache.h".
57094         Don't include <sys/types.h>.
57095         Add a FIXME comment.
57096         Move file-scoped "static" declarations to the top.
57097         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
57098
57099 2007-08-17  Bruno Haible  <bruno@clisp.org>
57100         and Paul Eggert  <eggert@cs.ucla.edu>
57101
57102         * MODULES.html.sh: Add diffseq.
57103         * modules/diffseq: New file.
57104         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
57105         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
57106
57107 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
57108
57109         Import changes from coreutils for bootstrap script.
57110
57111         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
57112
57113         * build-aux/bootstrap (slurp): Work even in environments where
57114         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
57115         current code does not slurp files whose names start with ".", and
57116         this looks like it might be a troublesome area.
57117
57118         2007-07-11  Jim Meyering  <jim@meyering.net>
57119
57120         If there's a GPL vN copyright comment, require that N == 3.
57121
57122         2007-07-08  Jim Meyering  <jim@meyering.net>
57123
57124         Run the coreutils-specific code only if tests/Makefile.am.in exists.
57125         * build-aux/bootstrap (mam_template): Move definition out of loop.
57126
57127         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
57128
57129         * build-aux/bootstrap (symlink_to_dir): Rename function from
57130         symlink_to_gnulib.  Add a directory parameter.  Update all
57131         callers.
57132         (cp_mark_as_generated): Also check for -- and link to -- files in
57133         gl/.
57134
57135         2007-07-08  Jim Meyering  <jim@meyering.net>
57136
57137         Adapt to deeper hierarchy in gnulib.
57138         * build-aux/bootstrap (symlink_to_dir): If the destination
57139         directory doesn't exist, create it. This is required at least for
57140         "lib/uniwidth/cjk.h".
57141
57142         2007-05-15  Jim Meyering  <jim@meyering.net>
57143
57144         * build-aux/bootstrap: Now that generated Makefile.am files
57145         are no longer under version control, they must be created at
57146         bootstrap time.
57147
57148 2007-08-14  Ben Pfaff  <blp@gnu.org>
57149
57150         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
57151
57152 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
57153
57154         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
57155         given the changes below.
57156         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
57157         even on hosts that have padding bits beyond the supported 64.
57158
57159 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
57160
57161         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
57162         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
57163         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
57164         depends on it.
57165         (xstrtol_error): Remove.
57166         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
57167         but with a different signature.
57168         (ATTRIBUTE_NORETURN, __attribute__): New macros.
57169         * lib/xstrtol-error.c: Include exitfail.h.
57170         (xstrtol_fatal): New function, with a different signature from the
57171         old xstrtol_error, so that the caller need not worry about passing
57172         in an exit status, or about storage management of the option argument.
57173         (xstrtol_error): Now a static function.  Redo signature to
57174         implement xstrtol_fatal.  Output the correct number of hyphens in
57175         front of the option so that the caller need not worry about
57176         storage management.
57177         (N_): New macro.
57178         (_): Remove; not used now.
57179         * modules/xstrtol: Depend on getopt.
57180         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
57181         of old STRTOL_FATAL_ERROR macro.
57182         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
57183         of test program.
57184         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
57185         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
57186
57187 2007-08-08  Eric Blake  <ebb9@byu.net>
57188
57189         * lib/xstrtol-error.c: Add missing include.
57190
57191         Move xstrtol messages into gnulib domain, when --pobase is used.
57192         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
57193         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
57194         * modules/xstrtol (Files): Distribute new file.
57195         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
57196         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
57197         * tests/test-xstrtol.c: ...into new file.
57198         * tests/test-xstrtoul.c: Also test xstrtoul.
57199         * tests/test-xstrtoimax.c: Also test xstrtoimax.
57200         * tests/test-xstrtoumax.c: Also test xstrtoumax.
57201         * tests/test-xstrtol.sh: Drive the tests.
57202         * tests/test-xstrtoimax.sh: Likewise.
57203         * tests/test-xstrtoumax.sh: Likewise.
57204         * modules/xstrtol-tests: New module.
57205         * modules/xstrtoimax-tests: Likewise.
57206         * modules/xstrtoumax-tests: Likewise.
57207
57208 2007-08-08  Jim Meyering  <jim@meyering.net>
57209
57210         New function: mfile_name_concat.
57211         * lib/filenamecat.c (mfile_name_concat): New function, just like
57212         file_name_concat, but return NULL upon failure rather than exiting
57213         with a diagnostic.
57214         * lib/filenamecat.h: Declare it.
57215
57216 2007-08-07  Bruno Haible  <bruno@clisp.org>
57217
57218         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
57219         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
57220         warning from gcc.
57221         Reported by Eric Blake.
57222
57223 2007-08-07  Simon Josefsson  <simon@josefsson.org>
57224
57225         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
57226         * modules/crypto/arcfour (License): Likewise.
57227         * modules/crypto/des-tests (License): Likewise.
57228         * modules/crypto/gc-arctwo-tests (License): Likewise.
57229         * modules/crypto/gc-des-tests (License): Likewise.
57230         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
57231         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
57232         * modules/crypto/gc-md2-tests (License): Likewise.
57233         * modules/crypto/gc-md4-tests (License): Likewise.
57234         * modules/crypto/gc-md5-tests (License): Likewise.
57235         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
57236         * modules/crypto/gc-rijndael-tests (License): Likewise.
57237         * modules/crypto/gc-sha1-tests (License): Likewise.
57238         * modules/crypto/gc-tests (License): Likewise.
57239         * modules/crypto/hmac-md5 (License): Likewise.
57240         * modules/crypto/hmac-sha1 (License): Likewise.
57241         * modules/crypto/md2-tests (License): Likewise.
57242         * modules/crypto/md4-tests (License): Likewise.
57243         * modules/crypto/md5 (License): Likewise.
57244         * modules/crypto/rijndael (License): Likewise.
57245         * modules/crypto/sha1 (License): Likewise.
57246         * modules/memxor (License): Likewise.
57247
57248 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
57249         and Bruno Haible  <bruno@clisp.org>
57250
57251         * NEWS: Describe interface changes to human, xstrtol.
57252         * lib/human.h: Include <xstrtol.h>.
57253         (human_options): Return enum strtol_error, not int.  Remove
57254         bool arg; take int * instead.
57255         * lib/human.c: Don't include "gettext.h".
57256         (_): Remove; no longer used.
57257         Don't include <xstrtol.h>, since human.h does it.
57258         (human_options): Adjust to abovementioned interface changes.
57259         Do not report error to stderr; that's now the caller's
57260         responsibility.
57261         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
57262         interface change.
57263         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
57264         Str, Argument_type_string.  All uses changed.  Put " argument"
57265         in diagnostics to make them clearer.  Change wording of suffix
57266         message for clarity.
57267         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
57268         Argument_type_string.
57269         (STRTOL_FATAL_WARN): Remove; no longer used.
57270         * modules/human (Depends-on): Remove gettext-h.
57271
57272 2007-08-06  Simon Josefsson  <simon@josefsson.org>
57273
57274         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
57275
57276 2007-07-31  Bruno Haible  <bruno@clisp.org>
57277
57278         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
57279         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
57280         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
57281
57282 2007-07-31  Bruno Haible  <bruno@clisp.org>
57283
57284         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
57285         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
57286
57287 2007-07-30  Bruno Haible  <bruno@clisp.org>
57288
57289         * modules/base64 (License): Use the synonymous term "LGPLv2+".
57290         * modules/c-ctype (License): Likewise.
57291         * modules/c-strcase (License): Likewise.
57292         * modules/check-version (License): Likewise.
57293         * modules/iconv (License): Likewise.
57294         * modules/iconv_open (License): Likewise.
57295         * modules/read-file (License): Likewise.
57296         * modules/striconv (License): Likewise.
57297         * modules/strverscmp (License): Likewise.
57298         * modules/vasprintf (License): Likewise.
57299         * modules/crypto/des (License): Likewise.
57300         * modules/crypto/gc (License): Likewise.
57301         * modules/crypto/gc-arcfour (License): Likewise.
57302         * modules/crypto/gc-arctwo (License): Likewise.
57303         * modules/crypto/gc-des (License): Likewise.
57304         * modules/crypto/gc-hmac-md5 (License): Likewise.
57305         * modules/crypto/gc-hmac-sha1 (License): Likewise.
57306         * modules/crypto/gc-md2 (License): Likewise.
57307         * modules/crypto/gc-md4 (License): Likewise.
57308         * modules/crypto/gc-md5 (License): Likewise.
57309         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
57310         * modules/crypto/gc-random (License): Likewise.
57311         * modules/crypto/gc-rijndael (License): Likewise.
57312         * modules/crypto/gc-sha1 (License): Likewise.
57313         * modules/crypto/md2 (License): Likewise.
57314         * modules/crypto/md4 (License): Likewise.
57315
57316 2007-07-30  Jim Meyering  <jim@meyering.net>
57317
57318         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
57319         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
57320         it has valid stat data.  This bug would cause du not to count the
57321         sizes of inaccessible directories.
57322         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
57323         in <http://bugzilla.redhat.com/250077>.
57324
57325 2007-07-25  Peter O'Gorman  <peter@pogma.com>
57326             Bruno Haible  <bruno@clisp.org>
57327
57328         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
57329         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
57330         #include_next, gives a diagnostic about it, but reports no error in
57331         the exit code.
57332         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
57333
57334 2007-07-24  Ben Pfaff  <blp@gnu.org>
57335
57336         Improve name: "count-one-bits" is better than "popcount".
57337         * MODULES.html.sh: Update name.
57338         * lib/popcount.h: Renamed lib/count-one-bits.h.
57339         (popcount): Renamed count_one_bits.
57340         (popcountl): Renamed count_one_bits_l.
57341         (popcountll): Renamed count_one_bits_ll.
57342         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
57343         * modules/popcount: Renamed module/count-one-bits.
57344         * modules/popcount-tests: Renamed module/count-one-bits-tests.
57345         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
57346
57347 2007-07-23  Ben Pfaff  <blp@gnu.org>
57348
57349         * lib/popcount.h (popcount32): Reduce size of constants, to allow
57350         better code generation, and add U to large constants to avoid
57351         warnings, in non-GCC case.
57352         Suggested by Bruno Haible.
57353
57354 2007-07-23  Ben Pfaff  <blp@gnu.org>
57355
57356         * lib/popcount.h: Use verify_true instead of if...abort.
57357         * modules/popcount: Depend on verify module.
57358         Suggested by Jim Meyering.
57359
57360 2007-07-23  Bruno Haible  <bruno@clisp.org>
57361
57362         * gnulib-tool (func_import): Create a .cvsignore file also when the
57363         directory is not yet in CVS but the toplevel directory is. When
57364         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
57365         Reported by Karl Berry.
57366
57367 2007-07-22  Ben Pfaff  <blp@gnu.org>
57368
57369         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
57370         case.
57371         Suggested by Eric Blake.
57372
57373 2007-07-22  Ben Pfaff  <blp@gnu.org>
57374
57375         New module: popcount.
57376         * MODULES.html.sh: Add popcount.
57377         * modules/popcount: New file.
57378         * modules/popcount-tests: New file.
57379         * tests/test-popcount.c: New file.
57380         * lib/popcount.h: New file.
57381         * m4/popcount.m4: New file.
57382
57383 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
57384
57385         * build-aux/announce-gen: Update to GPLv3.
57386
57387         * build-aux/config.guess: Update from config.
57388
57389 2007-07-21  Bruno Haible  <bruno@clisp.org>
57390
57391         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
57392         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
57393
57394 2007-07-20  Jim Meyering  <jim@meyering.net>
57395
57396         * check-module: Diagnose a self-dependency.
57397
57398 2007-07-19  Bruno Haible  <bruno@clisp.org>
57399
57400         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
57401         empty.
57402         Reported by Eric Blake.
57403
57404 2007-07-18  Bruno Haible  <bruno@clisp.org>
57405
57406         * gnulib-tool: New options --po-base, --po-domain.
57407         (func_usage): Document them.
57408         (pobase, po_domain): New variables.
57409         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
57410         DEFAULT_TEXT_DOMAIN.
57411         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
57412         (func_import): Consider pobase and po_domain. Create a po/ directory.
57413         (func_create_testdir): Set pobase and po_domain to empty.
57414         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
57415         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
57416
57417 2007-07-18  Bruno Haible  <bruno@clisp.org>
57418
57419         * gnulib-tool (func_get_automake_snippet): Synthesize also an
57420         EXTRA_DIST augmentation for files in build-aux/.
57421
57422 2007-07-16  Bruno Haible  <bruno@clisp.org>
57423
57424         * modules/lseek (License): Use the synonymous term "LGPLv2+".
57425         * modules/getdelim (License): Likewise.
57426
57427 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57428
57429         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
57430         * modules/d-type (License): Likewise.
57431         * modules/extensions (License): Likewise.
57432         * modules/fnmatch (License): Likewise.
57433         * modules/fseeko (License): Likewise.
57434         * modules/getaddrinfo (License): Likewise.
57435         * modules/getline (License): Likewise.
57436         * modules/getlogin_r (License): Likewise.
57437         * modules/getpass (License): Likewise.
57438         * modules/gettimeofday (License): Likewise.
57439         * modules/glob (License): Likewise.
57440         * modules/inet_ntop (License): Likewise.
57441         * modules/malloc (License): Likewise.
57442         * modules/malloca (License): Likewise.
57443         * modules/memmem (License): Likewise.
57444         * modules/mempcpy (License): Likewise.
57445         * modules/memset (License): Likewise.
57446         * modules/minmax (License): Likewise.
57447         * modules/mktime (License): Likewise.
57448         * modules/netinet_in (License): Likewise.
57449         * modules/pathmax (License): Likewise.
57450         * modules/poll (License): Likewise.
57451         * modules/regex (License): Likewise.
57452         * modules/snprintf (License): Likewise.
57453         * modules/stdbool (License): Likewise.
57454         * modules/stdint (License): Likewise.
57455         * modules/stdio (License): Likewise.
57456         * modules/strcase (License): Likewise.
57457         * modules/strcasestr (License): Likewise.
57458         * modules/strdup (License): Likewise.
57459         * modules/string (License): Likewise.
57460         * modules/strndup (License): Likewise.
57461         * modules/strnlen (License): Likewise.
57462         * modules/strpbrk (License): Likewise.
57463         * modules/strptime (License): Likewise.
57464         * modules/strsep (License): Likewise.
57465         * modules/sys_select (License): Likewise.
57466         * modules/sys_socket (License): Likewise.
57467         * modules/sys_stat (License): Likewise.
57468         * modules/sys_time (License): Likewise.
57469         * modules/time (License): Likewise.
57470         * modules/time_r (License): Likewise.
57471         * modules/timegm (License): Likewise.
57472         * modules/unistd (License): Likewise.
57473         * modules/vsnprintf (License): Likewise.
57474         * modules/wctype (License): Likewise.
57475
57476 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57477
57478         * modules/argz (License): LGPLv2+.
57479
57480 2007-07-15  Karl Berry  <karl@gnu.org>
57481
57482         * doc/gnulib.texi: revise node structure per new fdl.texi.
57483
57484 2007-07-14  Bruno Haible  <bruno@clisp.org>
57485
57486         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
57487         the output file.
57488         * lib/uniname/uninames.h: Regenerated.
57489
57490 2007-07-14  Karl Berry  <karl@gnu.org>
57491
57492         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
57493         omitting sectioning and index commands.
57494
57495 2007-07-13  Bruno Haible  <bruno@clisp.org>
57496
57497         New gnulib-tool option --more-symlinks.
57498         * gnulib-tool (func_usage): Document --more-symlinks.
57499         (do_copyrights): New variable.
57500         Recognize option --more-symlinks.
57501         (func_import): Don't add a copyright notice transform to
57502         sed_transform_lib_file if do_copyrights is empty.
57503
57504 2007-07-13  Bruno Haible  <bruno@clisp.org>
57505
57506         * lib/vasnprintf.c (decimal_point_char): Define also if
57507         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
57508         && !NEED_PRINTF_DIRECTIVE_A.
57509         Reported by Clemens Koller <clemens.koller@anagramm.de> via
57510         Gary V. Vaughan <gary@gnu.org>.
57511
57512 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
57513
57514         * lib/inttypes_.h: Undo previous change, since it was fixed
57515         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
57516
57517 2007-07-13  Bruno Haible  <bruno@clisp.org>
57518
57519         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
57520         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
57521
57522 2007-07-13  Jim Meyering  <jim@meyering.net>
57523
57524         df: Don't fail for Tru64's "file-on-file mount".
57525         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
57526         so we fall through and use statfs instead.  Details here:
57527         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
57528         Reported by Albert Chin.
57529
57530 2007-07-13  Bruno Haible  <bruno@clisp.org>
57531
57532         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
57533         * modules/configmake (License): Likewise.
57534         * modules/gettext (License): Likewise.
57535         * modules/gettext-h (License): Likewise.
57536         * modules/include_next (License): Likewise.
57537         * modules/link-warning (License): Likewise.
57538         * modules/localcharset (License): Likewise.
57539         * modules/localename (License): Likewise.
57540         * modules/lock (License): Likewise.
57541         * modules/relocatable-lib-lgpl (License): Likewise.
57542         * modules/size_max (License): Likewise.
57543         * modules/vasnprintf (License): Likewise.
57544         * modules/wchar (License): Likewise.
57545         * modules/xsize (License): Likewise.
57546
57547 2007-07-13  Bruno Haible  <bruno@clisp.org>
57548
57549         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
57550         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
57551
57552 2007-07-12  Bruno Haible  <bruno@clisp.org>
57553
57554         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
57555         in the modules files.
57556
57557 2007-07-11  Karl Berry  <karl@gnu.org>
57558
57559         * MODULES.html.sh (func_module): use
57560          sed -e '\|^'"${includefile}"'$|d'
57561          instead of /.../d, to avoid errors on $includefile's containing /.
57562
57563 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
57564
57565         * gnulib-tool (func_import): Avoid duplication of --avoid
57566         statements
57567         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
57568         names to `_' in variable names.
57569
57570 2007-07-10  Eric Blake  <ebb9@byu.net>
57571
57572         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
57573         * NEWS: Document this change.
57574
57575 2007-07-08  Bruno Haible  <bruno@clisp.org>
57576
57577         Update to Unicode 5.0.
57578         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
57579         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
57580         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
57581         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
57582         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
57583         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
57584         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
57585         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
57586         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
57587         U+10A3F, U+1D242..U+1D244.
57588         (nonspacing_table_ind): Update.
57589         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
57590         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
57591
57592 2007-07-08  Bruno Haible  <bruno@clisp.org>
57593
57594         Update to Unicode 5.0.
57595         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
57596         code transform. Extend the name index field of unicode_name_to_code and
57597         unicode_code_to_name from 16 to 24 bits.
57598         * lib/uniname/uniname.c (unicode_character_name,
57599         unicode_name_character): Add the range 0x12xxx to the code transform.
57600         * lib/uniname/uninames.h: Regenerated.
57601         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
57602
57603 2007-07-07  Bruno Haible  <bruno@clisp.org>
57604
57605         * modules/wcwidth-tests: New file.
57606         * tests/test-wcwidth.c: New file.
57607
57608         Work around MacOS X wcwidth() bug.
57609         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
57610         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
57611         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
57612         original wcwidth in non-UTF-8 locales.
57613         * modules/wcwidth (Depends-on): Add localcharset, streq,
57614         uniwidth/width.
57615         * doc/functions/wcwidth.texi: Update.
57616
57617 2007-07-07  Bruno Haible  <bruno@clisp.org>
57618
57619         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
57620         (wcwidth): New declaration.
57621         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
57622         macros.
57623         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
57624         here. Prepare for creating <wchar.h> unconditionally.
57625         * modules/wchar (Depends-on): Add link-warning.
57626         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
57627         REPLACE_WCWIDTH, and GL_LINK_WARNING.
57628         * lib/wcwidth.h: Remove file.
57629         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
57630         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
57631         * modules/wcwidth (Files): Remove lib/wcwidth.h.
57632         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
57633         (Include): Replace wcwidth.h with <wchar.h>.
57634         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
57635         * lib/mbchar.h: Don't include wcwidth.h.
57636         * lib/mbswidth.c: Likewise.
57637         * NEWS: Mention the change.
57638
57639 2007-07-07  Bruno Haible  <bruno@clisp.org>
57640
57641         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
57642         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
57643         definition with an external declaration.
57644         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
57645         defined as a function. Remove AC_C_INLINE requirement.
57646         * modules/wcwidth (Files): Add lib/wcwidth.c.
57647         (Makefile.am): Remove redundant statement.
57648
57649 2007-07-07  Bruno Haible  <bruno@clisp.org>
57650
57651         * MODULES.html.sh (Unicode string functions): Add the new modules.
57652
57653         * tests/uniwidth/test-u32-strwidth.c: New file.
57654         * modules/uniwidth/u32-strwidth-tests: New file.
57655
57656         * lib/uniwidth/u32-strwidth.c: New file.
57657         * modules/uniwidth/u32-strwidth: New file.
57658
57659         * tests/uniwidth/test-u16-strwidth.c: New file.
57660         * modules/uniwidth/u16-strwidth-tests: New file.
57661
57662         * lib/uniwidth/u16-strwidth.c: New file.
57663         * modules/uniwidth/u16-strwidth: New file.
57664
57665         * tests/uniwidth/test-u8-strwidth.c: New file.
57666         * modules/uniwidth/u8-strwidth-tests: New file.
57667
57668         * lib/uniwidth/u8-strwidth.c: New file.
57669         * modules/uniwidth/u8-strwidth: New file.
57670
57671         * tests/uniwidth/test-u32-width.c: New file.
57672         * modules/uniwidth/u32-width-tests: New file.
57673
57674         * lib/uniwidth/u32-width.c: New file.
57675         * modules/uniwidth/u32-width: New file.
57676
57677         * tests/uniwidth/test-u16-width.c: New file.
57678         * modules/uniwidth/u16-width-tests: New file.
57679
57680         * lib/uniwidth/u16-width.c: New file.
57681         * modules/uniwidth/u16-width: New file.
57682
57683         * tests/uniwidth/test-u8-width.c: New file.
57684         * modules/uniwidth/u8-width-tests: New file.
57685
57686         * lib/uniwidth/u8-width.c: New file.
57687         * modules/uniwidth/u8-width: New file.
57688
57689         * tests/uniwidth/test-uc_width.c: New file.
57690         * modules/uniwidth/width-tests: New file.
57691
57692         * lib/uniwidth/width.c: New file, from GNU libiconv.
57693         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
57694         * modules/uniwidth/width: New file.
57695
57696         * lib/uniwidth.h: New file, from GNU libiconv.
57697         * modules/uniwidth/base: New file.
57698
57699 2007-07-07  Bruno Haible  <bruno@clisp.org>
57700
57701         * lib/uniname.h: New file, from GNU gettext.
57702         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
57703         * lib/uniname/uninames.h: New file, from GNU gettext.
57704         * lib/uniname/uniname.c: New file, from GNU gettext.
57705         * tests/uniname/test-uninames.sh: New file.
57706         * tests/uniname/test-uninames.c: New file, from GNU gettext.
57707         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
57708         * modules/uniname/base: New file.
57709         * modules/uniname/uniname: New file.
57710         * modules/uniname/uniname-tests: New file.
57711         * MODULES.html.sh (Unicode string functions): Add the new modules.
57712
57713 2007-07-06  Bruno Haible  <bruno@clisp.org>
57714
57715         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
57716
57717 2007-07-06  Bruno Haible  <bruno@clisp.org>
57718
57719         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
57720         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
57721         includes <cygwin/sys_time.h> which includes <sys/select.h> which
57722         include <sys/time.h>.
57723         Reported by Eric Blake.
57724
57725 2007-07-06  Eric Blake  <ebb9@byu.net>
57726
57727         Fix testing canonicalize on cygwin.
57728         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
57729         Revert patch from 2007-06-19.
57730         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
57731         canonicalize module is also in use.
57732         * tests/test-canonicalize.c: New file.
57733         * tests/test-canonicalize.sh: Likewise.
57734         * modules/canonicalize-tests: Likewise.
57735
57736 2007-07-06  Jim Meyering  <jim@meyering.net>
57737
57738         * lib/getugroups.c (getugroups): Detect getgrent failure.
57739         Adjust comment to reflect reality: this function may return -1.
57740
57741 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
57742
57743         * build-aux/bootstrap (TP_URL,get_translations): Update to use
57744         the new TP address.
57745         (usage): Fix typo
57746         (gnulib_mk): New variable.
57747
57748 2007-07-05  Jim Meyering  <jim@meyering.net>
57749
57750         Don't let endgrent clobber errno, no matter how improbable.
57751         * lib/getugroups.c (getugroups): Save and restore errno around
57752         endgrent call.
57753
57754         Close the group DB even when failing with 2^31 or more members.
57755         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
57756
57757 2007-07-04  Jim Meyering  <jim@meyering.net>
57758
57759         * lib/getugroups.h: New file.
57760         * lib/getugroups.c: Include "getugroups.h".
57761         Remove uses of "register" keyword.
57762         Move local variable, "cp", down into scope where used.
57763         Give "username" parameter the "const" attribute.
57764         * modules/getugroups (Files): Add lib/getugroups.h
57765
57766 2007-07-04  Karl Berry  <karl@gnu.org>
57767
57768         * MODULES.html.sh (func_all_modules): Complete rename of
57769         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
57770
57771 2007-07-02  Bruno Haible  <bruno@clisp.org>
57772
57773         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
57774         mode, when inttypes.h comes from gnulib.
57775         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
57776
57777 2007-07-02  Simon Josefsson  <simon@josefsson.org>
57778
57779         * NEWS: Mention lgpl module name change.
57780
57781         * modules/lgpl-2.1: Renamed from lgpl.
57782
57783         * NEWS: Mention gpl module name change.
57784
57785         * modules/gpl-3.0: New file, based on gpl-2.0.
57786
57787         * modules/gpl-2.0: Renamed from gpl.
57788
57789         * modules/gpl: Fix filename, doc/gpl.texi is now found at
57790         doc/gpl-2.0.texi.
57791
57792 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
57793
57794         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
57795         #define __STDC_LIMIT_MACROS temporarily while including
57796         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
57797         Problem reported by Joel E. Denny in
57798         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
57799
57800 2007-07-01  Bruno Haible  <bruno@clisp.org>
57801
57802         * lib/unistdio.h: New file.
57803         * lib/unistdio/u-asnprintf.h: New file.
57804         * lib/unistdio/u-asprintf.h: New file.
57805         * lib/unistdio/u-printf-args.c: New file.
57806         * lib/unistdio/u-printf-args.h: New file.
57807         * lib/unistdio/u-printf-parse.h: New file.
57808         * lib/unistdio/u-snprintf.h: New file.
57809         * lib/unistdio/u-sprintf.h: New file.
57810         * lib/unistdio/u-vasprintf.h: New file.
57811         * lib/unistdio/u-vsnprintf.h: New file.
57812         * lib/unistdio/u-vsprintf.h: New file.
57813         * lib/unistdio/ulc-asnprintf.c: New file.
57814         * lib/unistdio/ulc-asprintf.c: New file.
57815         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
57816         * lib/unistdio/ulc-printf-parse.c: New file.
57817         * lib/unistdio/ulc-snprintf.c: New file.
57818         * lib/unistdio/ulc-sprintf.c: New file.
57819         * lib/unistdio/ulc-vasnprintf.c: New file.
57820         * lib/unistdio/ulc-vasprintf.c: New file.
57821         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
57822         * lib/unistdio/ulc-vsnprintf.c: New file.
57823         * lib/unistdio/ulc-vsprintf.c: New file.
57824         * lib/unistdio/u8-asnprintf.c: New file.
57825         * lib/unistdio/u8-asprintf.c: New file.
57826         * lib/unistdio/u8-printf-parse.c: New file.
57827         * lib/unistdio/u8-snprintf.c: New file.
57828         * lib/unistdio/u8-sprintf.c: New file.
57829         * lib/unistdio/u8-vasnprintf.c: New file.
57830         * lib/unistdio/u8-vasprintf.c: New file.
57831         * lib/unistdio/u8-vsnprintf.c: New file.
57832         * lib/unistdio/u8-vsprintf.c: New file.
57833         * lib/unistdio/u8-u8-asnprintf.c: New file.
57834         * lib/unistdio/u8-u8-asprintf.c: New file.
57835         * lib/unistdio/u8-u8-snprintf.c: New file.
57836         * lib/unistdio/u8-u8-sprintf.c: New file.
57837         * lib/unistdio/u8-u8-vasnprintf.c: New file.
57838         * lib/unistdio/u8-u8-vasprintf.c: New file.
57839         * lib/unistdio/u8-u8-vsnprintf.c: New file.
57840         * lib/unistdio/u8-u8-vsprintf.c: New file.
57841         * lib/unistdio/u16-asnprintf.c: New file.
57842         * lib/unistdio/u16-asprintf.c: New file.
57843         * lib/unistdio/u16-printf-parse.c: New file.
57844         * lib/unistdio/u16-snprintf.c: New file.
57845         * lib/unistdio/u16-sprintf.c: New file.
57846         * lib/unistdio/u16-vasnprintf.c: New file.
57847         * lib/unistdio/u16-vasprintf.c: New file.
57848         * lib/unistdio/u16-vsnprintf.c: New file.
57849         * lib/unistdio/u16-vsprintf.c: New file.
57850         * lib/unistdio/u16-u16-asnprintf.c: New file.
57851         * lib/unistdio/u16-u16-asprintf.c: New file.
57852         * lib/unistdio/u16-u16-snprintf.c: New file.
57853         * lib/unistdio/u16-u16-sprintf.c: New file.
57854         * lib/unistdio/u16-u16-vasnprintf.c: New file.
57855         * lib/unistdio/u16-u16-vasprintf.c: New file.
57856         * lib/unistdio/u16-u16-vsnprintf.c: New file.
57857         * lib/unistdio/u16-u16-vsprintf.c: New file.
57858         * lib/unistdio/u32-asnprintf.c: New file.
57859         * lib/unistdio/u32-asprintf.c: New file.
57860         * lib/unistdio/u32-printf-parse.c: New file.
57861         * lib/unistdio/u32-snprintf.c: New file.
57862         * lib/unistdio/u32-sprintf.c: New file.
57863         * lib/unistdio/u32-vasnprintf.c: New file.
57864         * lib/unistdio/u32-vasprintf.c: New file.
57865         * lib/unistdio/u32-vsnprintf.c: New file.
57866         * lib/unistdio/u32-vsprintf.c: New file.
57867         * lib/unistdio/u32-u32-asnprintf.c: New file.
57868         * lib/unistdio/u32-u32-asprintf.c: New file.
57869         * lib/unistdio/u32-u32-snprintf.c: New file.
57870         * lib/unistdio/u32-u32-sprintf.c: New file.
57871         * lib/unistdio/u32-u32-vasnprintf.c: New file.
57872         * lib/unistdio/u32-u32-vasprintf.c: New file.
57873         * lib/unistdio/u32-u32-vsnprintf.c: New file.
57874         * lib/unistdio/u32-u32-vsprintf.c: New file.
57875         * tests/unistdio/test-ulc-asnprintf1.c: New file.
57876         * tests/unistdio/test-ulc-asnprintf1.h: New file.
57877         * tests/unistdio/test-ulc-printf1.h: New file.
57878         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
57879         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
57880         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
57881         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
57882         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
57883         * tests/unistdio/test-ulc-vasprintf1.c: New file.
57884         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
57885         * tests/unistdio/test-ulc-vsprintf1.c: New file.
57886         * tests/unistdio/test-u8-asnprintf1.c: New file.
57887         * tests/unistdio/test-u8-asnprintf1.h: New file.
57888         * tests/unistdio/test-u8-printf1.h: New file.
57889         * tests/unistdio/test-u8-vasnprintf1.c: New file.
57890         * tests/unistdio/test-u8-vasnprintf2.c: New file.
57891         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
57892         * tests/unistdio/test-u8-vasnprintf3.c: New file.
57893         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
57894         * tests/unistdio/test-u8-vasprintf1.c: New file.
57895         * tests/unistdio/test-u8-vsnprintf1.c: New file.
57896         * tests/unistdio/test-u8-vsprintf1.c: New file.
57897         * tests/unistdio/test-u16-asnprintf1.c: New file.
57898         * tests/unistdio/test-u16-asnprintf1.h: New file.
57899         * tests/unistdio/test-u16-printf1.h: New file.
57900         * tests/unistdio/test-u16-vasnprintf1.c: New file.
57901         * tests/unistdio/test-u16-vasnprintf2.c: New file.
57902         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
57903         * tests/unistdio/test-u16-vasnprintf3.c: New file.
57904         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
57905         * tests/unistdio/test-u16-vasprintf1.c: New file.
57906         * tests/unistdio/test-u16-vsnprintf1.c: New file.
57907         * tests/unistdio/test-u16-vsprintf1.c: New file.
57908         * tests/unistdio/test-u32-asnprintf1.c: New file.
57909         * tests/unistdio/test-u32-asnprintf1.h: New file.
57910         * tests/unistdio/test-u32-printf1.h: New file.
57911         * tests/unistdio/test-u32-vasnprintf1.c: New file.
57912         * tests/unistdio/test-u32-vasnprintf2.c: New file.
57913         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
57914         * tests/unistdio/test-u32-vasnprintf3.c: New file.
57915         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
57916         * tests/unistdio/test-u32-vasprintf1.c: New file.
57917         * tests/unistdio/test-u32-vsnprintf1.c: New file.
57918         * tests/unistdio/test-u32-vsprintf1.c: New file.
57919         * modules/unistdio/base: New file.
57920         * modules/unistdio/u-printf-args: New file.
57921         * modules/unistdio/ulc-asnprintf: New file.
57922         * modules/unistdio/ulc-asprintf: New file.
57923         * modules/unistdio/ulc-fprintf: New file.
57924         * modules/unistdio/ulc-printf-parse: New file.
57925         * modules/unistdio/ulc-snprintf: New file.
57926         * modules/unistdio/ulc-sprintf: New file.
57927         * modules/unistdio/ulc-vasnprintf: New file.
57928         * modules/unistdio/ulc-vasprintf: New file.
57929         * modules/unistdio/ulc-vfprintf: New file.
57930         * modules/unistdio/ulc-vsnprintf: New file.
57931         * modules/unistdio/ulc-vsprintf: New file.
57932         * modules/unistdio/u8-asnprintf: New file.
57933         * modules/unistdio/u8-asprintf: New file.
57934         * modules/unistdio/u8-printf-parse: New file.
57935         * modules/unistdio/u8-snprintf: New file.
57936         * modules/unistdio/u8-sprintf: New file.
57937         * modules/unistdio/u8-vasnprintf: New file.
57938         * modules/unistdio/u8-vasprintf: New file.
57939         * modules/unistdio/u8-vsnprintf: New file.
57940         * modules/unistdio/u8-vsprintf: New file.
57941         * modules/unistdio/u8-u8-asnprintf: New file.
57942         * modules/unistdio/u8-u8-asprintf: New file.
57943         * modules/unistdio/u8-u8-snprintf: New file.
57944         * modules/unistdio/u8-u8-sprintf: New file.
57945         * modules/unistdio/u8-u8-vasnprintf: New file.
57946         * modules/unistdio/u8-u8-vasprintf: New file.
57947         * modules/unistdio/u8-u8-vsnprintf: New file.
57948         * modules/unistdio/u8-u8-vsprintf: New file.
57949         * modules/unistdio/u16-asnprintf: New file.
57950         * modules/unistdio/u16-asprintf: New file.
57951         * modules/unistdio/u16-printf-parse: New file.
57952         * modules/unistdio/u16-snprintf: New file.
57953         * modules/unistdio/u16-sprintf: New file.
57954         * modules/unistdio/u16-vasnprintf: New file.
57955         * modules/unistdio/u16-vasprintf: New file.
57956         * modules/unistdio/u16-vsnprintf: New file.
57957         * modules/unistdio/u16-vsprintf: New file.
57958         * modules/unistdio/u16-u16-asnprintf: New file.
57959         * modules/unistdio/u16-u16-asprintf: New file.
57960         * modules/unistdio/u16-u16-snprintf: New file.
57961         * modules/unistdio/u16-u16-sprintf: New file.
57962         * modules/unistdio/u16-u16-vasnprintf: New file.
57963         * modules/unistdio/u16-u16-vasprintf: New file.
57964         * modules/unistdio/u16-u16-vsnprintf: New file.
57965         * modules/unistdio/u16-u16-vsprintf: New file.
57966         * modules/unistdio/u32-asnprintf: New file.
57967         * modules/unistdio/u32-asprintf: New file.
57968         * modules/unistdio/u32-printf-parse: New file.
57969         * modules/unistdio/u32-snprintf: New file.
57970         * modules/unistdio/u32-sprintf: New file.
57971         * modules/unistdio/u32-vasnprintf: New file.
57972         * modules/unistdio/u32-vasprintf: New file.
57973         * modules/unistdio/u32-vsnprintf: New file.
57974         * modules/unistdio/u32-vsprintf: New file.
57975         * modules/unistdio/u32-u32-asnprintf: New file.
57976         * modules/unistdio/u32-u32-asprintf: New file.
57977         * modules/unistdio/u32-u32-snprintf: New file.
57978         * modules/unistdio/u32-u32-sprintf: New file.
57979         * modules/unistdio/u32-u32-vasnprintf: New file.
57980         * modules/unistdio/u32-u32-vasprintf: New file.
57981         * modules/unistdio/u32-u32-vsnprintf: New file.
57982         * modules/unistdio/u32-u32-vsprintf: New file.
57983         * modules/unistdio/ulc-asnprintf-tests: New file.
57984         * modules/unistdio/ulc-vasnprintf-tests: New file.
57985         * modules/unistdio/ulc-vasprintf-tests: New file.
57986         * modules/unistdio/ulc-vsnprintf-tests: New file.
57987         * modules/unistdio/ulc-vsprintf-tests: New file.
57988         * modules/unistdio/u8-asnprintf-tests: New file.
57989         * modules/unistdio/u8-vasnprintf-tests: New file.
57990         * modules/unistdio/u8-vasprintf-tests: New file.
57991         * modules/unistdio/u8-vsnprintf-tests: New file.
57992         * modules/unistdio/u8-vsprintf-tests: New file.
57993         * modules/unistdio/u16-asnprintf-tests: New file.
57994         * modules/unistdio/u16-vasnprintf-tests: New file.
57995         * modules/unistdio/u16-vasprintf-tests: New file.
57996         * modules/unistdio/u16-vsnprintf-tests: New file.
57997         * modules/unistdio/u16-vsprintf-tests: New file.
57998         * modules/unistdio/u32-asnprintf-tests: New file.
57999         * modules/unistdio/u32-vasnprintf-tests: New file.
58000         * modules/unistdio/u32-vasprintf-tests: New file.
58001         * modules/unistdio/u32-vsnprintf-tests: New file.
58002         * modules/unistdio/u32-vsprintf-tests: New file.
58003         * MODULES.html.sh (Unicode string functions): Add the new modules.
58004
58005 2007-07-01  Bruno Haible  <bruno@clisp.org>
58006
58007         * lib/sprintf.c (sprintf): Limit the available length estimation,
58008         to avoid address wraparound.
58009         * lib/vsprintf.c (vsprintf): Likewise.
58010         * modules/sprintf-posix (Dependencies): Add stdint.
58011         * modules/vsprintf-posix (Dependencies): Likewise.
58012
58013 2007-07-01  Bruno Haible  <bruno@clisp.org>
58014
58015         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
58016         Windows PATH as well. Conservative double-quoting. Comments.
58017
58018 2007-07-01  Bruno Haible  <bruno@clisp.org>
58019             Eric Blake  <ebb9@byu.net>
58020             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58021
58022         * gnulib-tool (self_abspathname): Fix algorithm to cope with
58023         empty components in $PATH, denoting '.'.
58024
58025 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58026
58027         * gnulib-tool: Fix indentation.
58028         (func_create_megatestdir): Likewise.
58029         Report by Bruno Haible.
58030
58031 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58032
58033         Sync from Automake.
58034         * build-aux/gnupload: Fix shell portability issues with for loops.
58035         Report by Karl Berry.
58036
58037 2007-06-29  Simon Josefsson  <simon@josefsson.org>
58038
58039         * build-aux/maint.mk (POURL): Use translationproject.org.
58040
58041 2007-06-27  Simon Josefsson  <simon@josefsson.org>
58042             Bruno Haible  <bruno@clisp.org>
58043
58044         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
58045         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
58046         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
58047         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
58048         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
58049
58050 2007-06-27  Bruno Haible  <bruno@clisp.org>
58051
58052         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
58053         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
58054
58055 2007-06-26  Karl Berry  <karl@gnu.org>
58056
58057         * MODULES.html.sh: remove xreadlink-with-size.
58058
58059 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
58060
58061         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
58062         method that I hope also handles the double-include problem noted
58063         by Bruno Haible in
58064         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
58065
58066 2007-06-23  Bruno Haible  <bruno@clisp.org>
58067
58068         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
58069         Don't let the 'mostlyclean' target fail if the last subdirectory could
58070         not be removed.
58071         Reported by Karl Berry.
58072
58073 2007-06-23  Bruno Haible  <bruno@clisp.org>
58074
58075         * gnulib-tool (echo): Add a speedier workaround for ksh.
58076         * tests/test-echo.sh: Likewise.
58077
58078 2007-06-23  Bruno Haible  <bruno@clisp.org>
58079
58080         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
58081         * tests/test-echo.sh: Likewise.
58082
58083 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58084
58085         * gnulib-tool (IFS): Initialize early, so we don't set it to
58086         empty later.
58087         (self_abspathname): Rewrite algorithm to set it, reindent.
58088         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
58089         (func_create_megatestdir): Merge some sed scripts.
58090
58091 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
58092
58093         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
58094         exposed by Sun Studio 11 cc on Solaris 8.
58095
58096 2007-06-22  Bruno Haible  <bruno@clisp.org>
58097
58098         * gnulib-tool (echo): Ensure the echo primitive does not interpret
58099         backslashes.
58100         * tests/test-echo.sh: New file.
58101
58102 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58103
58104         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
58105         simplify `sed_replace_build_aux' scripts, they are portable but
58106         echoing them with `echo' is not.
58107         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
58108
58109 2007-06-21  Karl Berry  <karl@gnu.org>
58110
58111         * config/srclist.txt: guess we can't handle the licenses via
58112         srclist at the moment.
58113
58114 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
58115
58116         * MODULES.html.sh: Add include_next.
58117         * modules/include_next: New file.
58118
58119 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
58120
58121         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
58122         INCLUDE_NEXT.
58123         (gl_CHECK_NEXT_HEADERS): New macro.
58124         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
58125         the obsolescent gl_ABSOLUTE_HEADER.
58126         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
58127         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
58128         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
58129         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
58130         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
58131         * m4/math_h.m4 (gl_MATH_H): Likewise.
58132         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
58133         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
58134         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
58135         * m4/stdint.m4 (gl_STDINT_H): Likewise.
58136         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
58137         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
58138         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
58139         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
58140         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
58141         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
58142         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
58143         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
58144         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
58145         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
58146         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
58147         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
58148         * m4/inttypes.m4 (gl_INTTYPES_H): Define
58149         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
58150         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
58151         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
58152         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
58153         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
58154         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
58155         * lib/float_.h: Likewise.
58156         * lib/inttypes_.h: Likewise.
58157         * lib/math_.h: Likewise.
58158         * lib/search_.h: Likewise.
58159         * lib/signal_.h: Likewise.
58160         * lib/stdint_.h: Likewise.
58161         * lib/stdio_.h: Likewise.
58162         * lib/stdlib_.h: Likewise.
58163         * lib/string_.h: Likewise.
58164         * lib/sys_stat_.h: Likewise.
58165         * lib/sys_time_.h: Likewise.
58166         * lib/time_.h: Likewise.
58167         * lib/unistd_.h: Likewise.
58168         * lib/wchar_.h: Likewise.
58169         * lib/wctype_.h: Likewise.
58170         * lib/dirent_.h: Likewise.
58171         * lib/iconv_.h: Likewise.
58172         * lib/locale_.h: Likewise.
58173         * lib/netinet_in_.h: Likewise.
58174         * lib/sys_select_.h: Likewise.
58175         * lib/sys_socket_.h: Likewise.
58176         * lib/sysexits_.h: Likewise.
58177         * modules/fcntl (Depends-on): Depend on include_next, not
58178         absolute_header.
58179         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
58180         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
58181         * modules/fchdir: Likewise.
58182         * modules/float: Likewise.
58183         * modules/iconv_open: Likewise.
58184         * modules/inttypes: Likewise.
58185         * modules/locale: Likewise.
58186         * modules/math: Likewise.
58187         * modules/netinet_in: Likewise.
58188         * modules/search: Likewise.
58189         * modules/signal: Likewise.
58190         * modules/stdint: Likewise.
58191         * modules/stdio: Likewise.
58192         * modules/stdlib: Likewise.
58193         * modules/string: Likewise.
58194         * modules/sys_select: Likewise.
58195         * modules/sys_socket: Likewise.
58196         * modules/sys_stat: Likewise.
58197         * modules/sys_time: Likewise.
58198         * modules/sysexits: Likewise.
58199         * modules/time: Likewise.
58200         * modules/unistd: Likewise.
58201         * modules/wchar: Likewise.
58202         * modules/wctype: Likewise.
58203         * modules/sys_stat: Change maintainer to "all".
58204         * modules/unistd: Likewise.
58205
58206 2007-06-20  Karl Berry  <karl@gnu.org>
58207
58208         * config/srclist.txt: track www changes in license files.
58209
58210 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
58211
58212         * build-aux/bootstrap: Remove stray dot.
58213         Make sure build_aux settings are honored when linking
58214         gnulib_extra_files.
58215
58216 2007-06-19  Eric Blake  <ebb9@byu.net>
58217
58218         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
58219         Allow compilation on cygwin.
58220
58221 2007-06-19  Jim Meyering  <jim@meyering.net>
58222
58223         xreadlink-with-size: Remove module.  No longer used.
58224         Ex-callers now use xreadlink or mreadlink-with-size.
58225         * modules/xreadlink-with-size: Remove module.
58226         * lib/xreadlink-with-size.c: Remove file.
58227         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
58228         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
58229         just before the function definition *is* accurate.
58230
58231         Eliminate one way canonicalize_filename_mode could exit.
58232         * lib/canonicalize.c (canonicalize_filename_mode):
58233         Use mreadlink_with_size, not xreadlink_with_size.
58234
58235 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
58236
58237         Detect porting problems to FreeBSD/arm, which has time_t wider than
58238         long int.  Original problem reported for GNU diff by Xin Li in
58239         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
58240         * modules/getdate (Depends-on): Add intprops, verify.
58241         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
58242         is an integer type no wider than long int.
58243
58244 2007-06-18  Jim Meyering  <jim@meyering.net>
58245
58246         New module: mreadlink-with-size.
58247         * MODULES.html.sh: Add mreadlink-with-size.
58248         * modules/mreadlink-with-size: New module
58249         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
58250         not xreadlink-with-size.
58251         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
58252
58253 2007-06-16  Bruno Haible  <bruno@clisp.org>
58254
58255         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
58256         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
58257         Reported by Gary V. Vaughan <gary@gnu.org>.
58258
58259 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
58260
58261         Revamp lchown so that it lives in unistd.h where it belongs.
58262         * lib/lchown.h: Remove.
58263         * lib/dirchownmod.c: Don't include lib/lchown.h.
58264         * lib/fchownat.c: Likewise.
58265         * lib/openat.c: Likewise.
58266         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
58267         does not follow symlinks.
58268         (EOPNOTSUPP): Define if not defined.
58269         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
58270         is defined to 0.
58271         (lchown): New decl.
58272         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
58273         Do not check for lchown decl.
58274         Set REPLACE_LCHOWN.
58275         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
58276         REPLACE_LCHOWN.
58277         * modules/chown: Make it clear it follows symlinks.
58278         * modules/lchown: Make it clear it doesn't follow symlinks.
58279         (Files): Remove lib/lchown.h
58280         (Depends-on): Add unistd.
58281         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
58282         (Include): Include <unistd.h>, not "lchown.h".
58283         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
58284         REPLACE_LCHOWN.
58285
58286 2007-06-15  Jim Meyering  <jim@meyering.net>
58287
58288         Change license (GPL to LGPL) of fsusage and dependents.
58289         * modules/fsusage (License): Change to LGPL.
58290         * modules/full-read (License): Likewise.
58291         * modules/full-write (License): Likewise.
58292         * modules/safe-read (License): Likewise.
58293         * modules/safe-write (License): Likewise.
58294
58295 2007-06-14  Ben Pfaff  <blp@gnu.org>
58296
58297         Missing part of allocsa -> malloca transition.
58298         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
58299         gl_MALLOCA.
58300
58301 2007-06-12  Bruno Haible  <bruno@clisp.org>
58302
58303         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
58304         to ia64, x86_64, i386.
58305         Reported by Eric Blake.
58306
58307 2007-06-12  Bruno Haible  <bruno@clisp.org>
58308
58309         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
58310         cross-compiling to x86_64.
58311
58312 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
58313
58314         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
58315         glitch reported by Ralf Wildenhues in
58316         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
58317
58318         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
58319         Vin Shelton.
58320
58321 2007-06-11  Bruno Haible  <bruno@clisp.org>
58322
58323         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
58324         replacement string.
58325         Reported by Eric Blake.
58326
58327 2007-06-10  Bruno Haible  <bruno@clisp.org>
58328
58329         Prepare vasnprintf code for use with Unicode strings.
58330         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
58331         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
58332         TYPE_U32_STRING.
58333         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
58334         a_u32_string variants.
58335         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
58336         * lib/printf-args.c: Don't include config.h and the specification
58337         header if PRINTF_FETCHARGS is already defined.
58338         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
58339         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
58340         TYPE_U16_STRING, TYPE_U32_STRING.
58341         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
58342         u16_directive, u16_directives, u32_directive, u32_directives): New
58343         types.
58344         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
58345         New declarations.
58346         * lib/printf-parse.c: Don't include config.h and the specification
58347         header if PRINTF_PARSE is already defined. Eliminate the set of
58348         parameters for WIDE_CHAR_VERSION; the user of this file must provide
58349         them now. Include c-ctype.h.
58350         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
58351         directive and CHAR_T_ONLY_ASCII.
58352         * lib/vasnprintf.c: Don't include config.h and the specification header
58353         if VASNPRINTF is already defined.
58354         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
58355         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
58356         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
58357         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
58358         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
58359         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
58360         code accordingly.
58361         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
58362         pad_ourselves also in this case, with the 'c' and 's' directives, and
58363         with a different notion of "width".
58364         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
58365
58366 2007-06-10  Bruno Haible  <bruno@clisp.org>
58367
58368         * modules/unistr/u32-mbsnlen: New file.
58369         * lib/unistr/u32-mbsnlen.c: New file.
58370
58371         * modules/unistr/u16-mbsnlen: New file.
58372         * lib/unistr/u16-mbsnlen.c: New file.
58373
58374         * modules/unistr/u8-mbsnlen: New file.
58375         * lib/unistr/u8-mbsnlen.c: New file.
58376
58377         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
58378         declarations.
58379
58380 2007-06-10  Bruno Haible  <bruno@clisp.org>
58381
58382         * lib/string_.h (mbsnlen): New declaration.
58383         * lib/mbsnlen.c: New file.
58384         * m4/mbsnlen.m4: New file.
58385         * modules/mbsnlen: New file.
58386         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
58387         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
58388         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
58389
58390 2007-06-10  Bruno Haible  <bruno@clisp.org>
58391
58392         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
58393
58394 2007-06-10  Bruno Haible  <bruno@clisp.org>
58395
58396         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
58397         * lib/mbuiter.h: Likewise.
58398
58399 2007-06-10  Bruno Haible  <bruno@clisp.org>
58400
58401         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
58402         declaration.
58403
58404 2007-06-10  Karl Berry  <karl@gnu.org>
58405
58406         * config/srclist.txt: remove gettext entries, Bruno prefers
58407         to update individually.
58408
58409 2007-06-10  Bruno Haible  <bruno@clisp.org>
58410
58411         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
58412         'maxlen'. Ensure only length + width bytes are allocated, not
58413         length + 1 + width.
58414
58415 2007-06-09  Bruno Haible  <bruno@clisp.org>
58416
58417         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
58418         (CHAR_T): Remove macro.
58419         (VASNPRINTF): Update.
58420
58421 2007-06-09  Bruno Haible  <bruno@clisp.org>
58422
58423         * MODULES.html.sh (Unicode string functions): Add the new modules.
58424
58425         * modules/uniconv/u32-conv-to-enc: New file.
58426         * lib/uniconv/u32-conv-to-enc.c: New file.
58427         * modules/uniconv/u32-conv-to-enc-tests: New file.
58428         * tests/uniconv/test-u32-conv-to-enc.c: New file.
58429
58430         * modules/uniconv/u16-conv-to-enc: New file.
58431         * lib/uniconv/u16-conv-to-enc.c: New file.
58432         * lib/uniconv/u-conv-to-enc.h: New file.
58433         * modules/uniconv/u16-conv-to-enc-tests: New file.
58434         * tests/uniconv/test-u16-conv-to-enc.c: New file.
58435
58436         * modules/uniconv/u8-conv-to-enc: New file.
58437         * lib/uniconv/u8-conv-to-enc.c: New file.
58438         * modules/uniconv/u8-conv-to-enc-tests: New file.
58439         * tests/uniconv/test-u8-conv-to-enc.c: New file.
58440
58441         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
58442         u32_conv_to_encoding): New declarations.
58443
58444 2007-06-09  Bruno Haible  <bruno@clisp.org>
58445
58446         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
58447
58448 2007-06-09  Bruno Haible  <bruno@clisp.org>
58449
58450         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
58451         * modules/malloca: Renamed from modules/allocsa, updated.
58452         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
58453         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
58454         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
58455         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
58456         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
58457         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
58458         * modules/xmalloca: Renamed from modules/xallocsa, updated.
58459         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
58460         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
58461         * modules/c-strcasestr (Depends-on): Update.
58462         * lib/c-strcasestr.c: Update.
58463         * modules/c-strstr (Depends-on): Update.
58464         * lib/c-strstr.c: Update.
58465         * modules/canonicalize-lgpl (Depends-on): Update.
58466         * lib/canonicalize-lgpl.c: Update.
58467         * modules/clean-temp (Depends-on): Update.
58468         * lib/clean-temp.c: Update.
58469         * modules/csharpcomp (Depends-on): Update.
58470         * lib/csharpcomp.c: Update.
58471         * modules/csharpexec (Depends-on): Update.
58472         * lib/csharpexec.c: Update.
58473         * modules/javacomp (Depends-on): Update.
58474         * lib/javacomp.c: Update.
58475         * modules/javaexec (Depends-on): Update.
58476         * lib/javaexec.c: Update.
58477         * modules/mbscasestr (Depends-on): Update.
58478         * lib/mbscasestr.c: Update.
58479         * modules/mbsstr (Depends-on): Update.
58480         * lib/mbsstr.c: Update.
58481         * modules/setenv (Depends-on): Update.
58482         * lib/setenv.c: Update.
58483         * modules/strcasestr (Depends-on): Update.
58484         * lib/strcasestr.c: Update.
58485         * modules/striconveha (Depends-on): Update.
58486         * lib/striconveha.c: Update.
58487         * modules/relocatable-prog-wrapper (Files): Update.
58488         * lib/relocwrapper.c: Update.
58489         * build-aux/install-reloc: Update.
58490         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
58491
58492 2007-06-08  Bruno Haible  <bruno@clisp.org>
58493
58494         Port to uClibc.
58495         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
58496         * lib/fpurge.c (fpurge): Likewise.
58497         * lib/freading.c (freading): Likewise.
58498         * lib/fseeko.c (rpl_fseeko): Likewise.
58499         * lib/fseterr.c (fseterr): Likewise.
58500         * lib/fwriting.c (fwriting): Likewise.
58501         * tests/test-fflush.c (main): Avoid a failure on uClibc.
58502
58503 2007-06-08  Bruno Haible  <bruno@clisp.org>
58504
58505         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
58506         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
58507         * modules/gettext (Files): Add m4/intlmacosx.m4.
58508
58509 2007-06-07  Bruno Haible  <bruno@clisp.org>
58510
58511         * modules/localename-tests: New file.
58512         * tests/test-localename.c: New file.
58513
58514         New module 'localename'.
58515         * lib/localename.h: New file.
58516         * lib/localename.c: New file, from GNU gettext.
58517         * m4/localename.m4: New file.
58518         * modules/localename: New file.
58519
58520 2007-06-07  Bruno Haible  <bruno@clisp.org>
58521
58522         Work around the lack of <wchar.h> on some builds of uClibc.
58523         * doc/headers/wchar.texi: Update.
58524         * lib/wchar_.h: Include <wchar.h> only if it exists.
58525         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
58526         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
58527         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
58528         doesn't exist.
58529         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
58530         * modules/mbfile (Depends-on): Add wchar.
58531         * modules/mbiter (Depends-on): Likewise.
58532         * modules/mbuiter (Depends-on): Likewise.
58533         Reported by Simon Josefsson.
58534
58535 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
58536
58537         Work around problem reported by Steven M. Schweda in
58538         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
58539         Tru64 5.1B with the Compaq compiler environment installed declares
58540         an 'isblank' function but does not define it in the C library.
58541         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
58542         * lib/regex_internal.h (isblank): Likewise.
58543         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
58544         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
58545
58546 2007-06-05  Bruno Haible  <bruno@clisp.org>
58547
58548         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
58549         ia64.
58550         * modules/printf-safe: New file.
58551         * modules/fprintf-posix (Depends-on): Add printf-safe.
58552         * modules/printf-posix (Depends-on): Likewise.
58553         * modules/snprintf-posix (Depends-on): Likewise.
58554         * modules/sprintf-posix (Depends-on): Likewise.
58555         * modules/vasnprintf-posix (Depends-on): Likewise.
58556         * modules/vasprintf-posix (Depends-on): Likewise.
58557         * modules/vfprintf-posix (Depends-on): Likewise.
58558         * modules/vprintf-posix (Depends-on): Likewise.
58559         * modules/vsnprintf-posix (Depends-on): Likewise.
58560         * modules/vsprintf-posix (Depends-on): Likewise.
58561         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
58562         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
58563         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
58564         "no" on i386, x86_64, ia64.
58565         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
58566         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
58567         on i386, x86_64, ia64.
58568         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
58569         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
58570         on i386, x86_64, ia64.
58571         * tests/test-vasnprintf-posix.c: Include float.h.
58572         (LDBL80_WORDS): New macro.
58573         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
58574         on i386, x86_64, ia64.
58575         * tests/test-vasprintf-posix.c: Include float.h.
58576         (LDBL80_WORDS): New macro.
58577         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
58578         on i386, x86_64, ia64.
58579         * tests/test-snprintf-posix.c: Include float.h.
58580         * tests/test-sprintf-posix.c: Likewise.
58581         * tests/test-vsnprintf-posix.c: Likewise.
58582         * tests/test-vsprintf-posix.c: Likewise.
58583
58584 2007-06-05  Bruno Haible  <bruno@clisp.org>
58585
58586         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
58587         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
58588         non-IEEE numbers on i386, x86_64, ia64.
58589         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
58590         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
58591         * tests/test-isnanl.h: Include float.h.
58592         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
58593
58594 2007-06-05  Bruno Haible  <bruno@clisp.org>
58595
58596         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
58597         also the %a / %A. Handle the %a / %A code before this extra handling.
58598
58599 2007-06-05  Bruno Haible  <bruno@clisp.org>
58600
58601         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
58602         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
58603
58604 2007-06-05  Bruno Haible  <bruno@clisp.org>
58605
58606         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
58607         typo in variable name.
58608
58609 2007-06-05  Eric Blake  <ebb9@byu.net>
58610
58611         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
58612         Reported by Simon Josefsson.
58613
58614 2007-06-04  Bruno Haible  <bruno@clisp.org>
58615
58616         Avoid test failures on some PowerPC platforms.
58617         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
58618         Define differently for PowerPC.
58619         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
58620         Reported by Gary V. Vaughan <gary@gnu.org>.
58621
58622 2007-06-02  Bruno Haible  <bruno@clisp.org>
58623
58624         Fix test-stdint failure on FreeBSD/ia64.
58625         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
58626         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
58627         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
58628         * doc/headers/stdint.texi: Update.
58629
58630 2007-06-01  Bruno Haible  <bruno@clisp.org>
58631
58632         * tests/test-binary-io.c (main): Pass a third argument to open().
58633         Reported by Gary V. Vaughan <gary@gnu.org>.
58634
58635 2007-06-01  Bruno Haible  <bruno@clisp.org>
58636
58637         * doc/functions/frexpl.texi: Update for mingw.
58638
58639 2007-06-01  Bruno Haible  <bruno@clisp.org>
58640
58641         * tests/test-lseek.c (main): Disable test of errno for invalid third
58642         argument.
58643         * doc/functions/lseek.texi: Update.
58644         Reported by Gary V. Vaughan <gary@gnu.org>.
58645
58646 2007-05-28  Bruno Haible  <bruno@clisp.org>
58647
58648         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
58649
58650 2007-05-31  Eric Blake  <ebb9@byu.net>
58651
58652         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
58653         cross compiling.
58654
58655 2007-05-30  Eric Blake  <ebb9@byu.net>
58656         and Bruno Haible  <bruno@clisp.org>
58657
58658         Work around mingw test failures exposed by m4-1.4.9b.
58659         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
58660         * tests/test-unistd.c: Disable uid_t and git_t tests for the
58661         moment.
58662
58663 2007-05-30  Bruno Haible  <bruno@clisp.org>
58664
58665         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
58666         assuming that they are closed. Needed on HP-UX 11.
58667
58668 2007-05-29  Bruno Haible  <bruno@clisp.org>
58669
58670         Fix a problem with #include_next.
58671         * lib/dirent_.h: Split the double-inclusion guard.
58672         * lib/fcntl_.h: Likewise.
58673         * lib/float_.h: Likewise.
58674         * lib/iconv_.h: Likewise.
58675         * lib/inttypes_.h: Likewise.
58676         * lib/locale_.h: Likewise.
58677         * lib/math_.h: Likewise.
58678         * lib/netinet_in_.h: Likewise.
58679         * lib/search_.h: Likewise.
58680         * lib/signal_.h: Likewise.
58681         * lib/stdint_.h: Likewise.
58682         * lib/stdio_.h: Likewise.
58683         * lib/stdlib_.h: Likewise.
58684         * lib/string_.h: Likewise.
58685         * lib/sys_select_.h: Likewise.
58686         * lib/sys_socket_.h: Likewise.
58687         * lib/sys_stat_.h: Likewise.
58688         * lib/sys_time_.h: Likewise.
58689         * lib/sysexits_.h: Likewise.
58690         * lib/time_.h: Likewise.
58691         * lib/unistd_.h: Likewise.
58692         * lib/wchar_.h: Likewise.
58693         * lib/wctype_.h: Likewise.
58694
58695 2007-05-29  Bruno Haible  <bruno@clisp.org>
58696
58697         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
58698         for the moment.
58699
58700 2007-05-29  Bruno Haible  <bruno@clisp.org>
58701
58702         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
58703         invocation.
58704         Reported by Eric Blake.
58705
58706 2007-05-29  Bruno Haible  <bruno@clisp.org>
58707
58708         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
58709         compiling case.
58710
58711 2007-05-29  Eric Blake  <ebb9@byu.net>
58712             Bruno Haible  <bruno@clisp.org>
58713
58714         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
58715         cross compiles.
58716
58717 2007-05-28  Eric Blake  <ebb9@byu.net>
58718
58719         * modules/closein-tests (test_closein_LDADD): Support test on
58720         cygwin with libtool.
58721
58722 2007-05-28  Bruno Haible  <bruno@clisp.org>
58723
58724         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
58725         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
58726         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
58727         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
58728         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
58729         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
58730         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
58731         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
58732         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
58733
58734 2007-05-28  Eric Blake  <ebb9@byu.net>
58735
58736         Unconditionally include <config.h> in unit tests.
58737         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
58738         * tests/test-allocsa.c, tests/test-arcfour.c,
58739         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
58740         tests/test-array_list.c, tests/test-array_oset.c,
58741         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
58742         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
58743         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
58744         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
58745         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
58746         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
58747         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
58748         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
58749         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
58750         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
58751         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
58752         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
58753         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
58754         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
58755         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
58756         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
58757         test-md5.c, test-memmem.c, test-printf-posix.c,
58758         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
58759         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
58760         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
58761         test-strcasestr.c, test-striconv.c, test-striconveh.c,
58762         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
58763         test-vasnprintf-posix2.c, test-vasnprintf.c,
58764         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
58765         test-vfprintf-posix.c, test-vprintf-posix.c,
58766         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
58767         test-xvasprintf.c: Likewise.
58768
58769 2007-05-28  Bruno Haible  <bruno@clisp.org>
58770
58771         * gnulib-tool (func_import): Remember the --with-tests command-line
58772         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
58773         Reported by Eric Blake.
58774
58775 2007-05-28  Bruno Haible  <bruno@clisp.org>
58776
58777         * modules/ftell-tests: New file.
58778         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
58779         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
58780
58781         * lib/ftell.c: New file.
58782         * modules/ftell: New file.
58783         * m4/ftell.m4: New file.
58784         * doc/functions/ftell.texi: Update.
58785         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
58786         REPLACE_FTELL.
58787         * lib/stdio_.h (rpl_ftell): New declaration.
58788         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
58789         REPLACE_FTELL.
58790
58791 2007-05-28  Eric Blake  <ebb9@byu.net>
58792
58793         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
58794
58795 2007-05-28  Bruno Haible  <bruno@clisp.org>
58796
58797         * modules/fseek-tests: New file.
58798         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
58799         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
58800
58801         * lib/fseek.c: New file.
58802         * modules/fseek: New file.
58803         * m4/fseek.m4: New file.
58804         * doc/functions/fseek.texi: Update.
58805         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
58806         REPLACE_FSEEK.
58807         * lib/stdio_.h (rpl_fseek): New declaration.
58808         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
58809         REPLACE_FSEEK.
58810
58811 2007-05-28  Bruno Haible  <bruno@clisp.org>
58812
58813         * lib/stdio_.h (fflush): More comments.
58814
58815 2007-05-28  Bruno Haible  <bruno@clisp.org>
58816
58817         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
58818         runtime test.
58819
58820 2007-05-28  Eric Blake  <ebb9@byu.net>
58821
58822         Improve lseek module.
58823         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
58824         * lib/unistd_.h (lseek): Scale back link warning message.
58825         * tests/test-lseek.c: Beef up test.
58826         * tests/test-lseek.sh: Exercise more facets of lseek.
58827         Reported by Bruno Haible.
58828
58829 2007-05-28  Bruno Haible  <bruno@clisp.org>
58830
58831         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
58832         to define.
58833
58834 2007-05-27  Bruno Haible  <bruno@clisp.org>
58835
58836         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
58837
58838 2007-05-27  Bruno Haible  <bruno@clisp.org>
58839
58840         * modules/openmp: New file.
58841         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
58842         Noah Misch.
58843
58844 2007-05-26  Bruno Haible  <bruno@clisp.org>
58845
58846         * modules/chdir-long (Depends-on): Add fchdir.
58847         * modules/chdir-safer (Depends-on): Likewise.
58848         * modules/fts (Depends-on): Likewise.
58849         * modules/fts-lgpl (Depends-on): Likewise.
58850         * modules/openat (Depends-on): Likewise.
58851         * modules/savewd (Depends-on): Likewise.
58852
58853 2007-05-24  Eric Blake  <ebb9@byu.net>
58854
58855         Fix lseek on mingw.
58856         * modules/lseek: New module.
58857         * m4/lseek.m4: New file.
58858         * lib/lseek.c: New file.
58859         * modules/lseek-tests: New file.
58860         * tests/test-lseek.c: New file.
58861         * tests/test-lseek.sh: New file.
58862         * MODULES.html.sh: Document lseek module.
58863         * modules/fflush (Depends-on): Add lseek, fseeko.
58864         * modules/fseeko (Depends-on): Likewise.
58865         * modules/ftello (Depends-on): Likewise.
58866         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
58867         broken.
58868         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
58869         broken.
58870         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
58871         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
58872         * lib/ftello.c (rpl_ftello): Likewise.
58873         * tests/test-fseeko.c (main): Test this.
58874         * tests/test-fseeko.sh: Likewise.
58875         * tests/test-ftello.c (main): Likewise.
58876         * tests/test-ftello.sh: Likewise.
58877         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
58878         implies replacing fseek.
58879         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
58880         HAVE_FTELLO.
58881         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
58882         * modules/unistd (Makefile.am): Likewise.
58883         * lib/unistd_.h (lseek): Declare a replacement.
58884         * doc/functions/lseek.texi (lseek): Document this fix.
58885         * doc/functions/fseek.texi (fseek): Likewise.
58886         * doc/functions/ftell.texi (ftell): Likewise.
58887
58888 2007-05-24  Bruno Haible  <bruno@clisp.org>
58889
58890         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
58891         in the printed representation of a NaN.
58892         * tests/test-vasprintf-posix.c (test_function): Likewise.
58893         * tests/test-snprintf-posix.h (test_function): Likewise.
58894         * tests/test-sprintf-posix.h (test_function): Likewise.
58895         Reported by Eric Blake.
58896
58897 2007-05-23  Eric Blake  <ebb9@byu.net>
58898
58899         Fix fseeko/ftello on cygwin 1.5.24.
58900         * doc/functions/fseeko.texi (fseeko): Document the fix.
58901         * doc/functions/ftello.texi (ftello): Document the fix.
58902         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
58903         * doc/functions/stdout.text (stdout): New file.
58904         * doc/functions/stderr.text (stderr): New file.
58905         * doc/gnulib.texi (Function Substitutes): Use new files.
58906         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
58907         prior to 1.7.0.
58908         * tests/test-ftello.c (main): Likewise for ftello.
58909         * tests/test-fseeko.sh: New file.
58910         * tests/test-ftello.sh: New file.
58911         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
58912         with seekable stdin.
58913         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
58914         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
58915         (gl_REPLACE_FSEEKO): New macro.
58916         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
58917         * modules/fseeko (Files): Distribute fseeko.c.
58918         * modules/ftello (Files): Distribute ftello.c.
58919         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
58920         mode.
58921         * lib/ftello.c (rpl_ftello): New file.
58922         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
58923         fseeko, ftello.
58924         (gl_STDIN_LARGE_OFFSET): New macro.
58925         * modules/stdio (Makefile.am): Perform the replacement.
58926         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
58927
58928 2007-05-23  Bruno Haible  <bruno@clisp.org>
58929
58930         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
58931         GNULIB_POSIXCHECK is defined.
58932
58933 2007-05-21  Bruno Haible  <bruno@clisp.org>
58934
58935         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
58936         Check also the output for NaN arguments. When cross-compiling, guess
58937         no on IRIX.
58938         * lib/vasnprintf.c: Update comments.
58939         * tests/test-vasnprintf-posix.c (strisnan): New function.
58940         (test_function): Use it.
58941         * tests/test-vasprintf-posix.c (strisnan): New function.
58942         (test_function): Use it.
58943         * tests/test-snprintf-posix.h (strisnan): New function.
58944         (test_function): Use it.
58945         * tests/test-sprintf-posix.h (strisnan): New function.
58946         (test_function): Use it.
58947         Reported by Eric Blake.
58948
58949 2007-05-20  Bruno Haible  <bruno@clisp.org>
58950
58951         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
58952         numbers that fails on BeOS.
58953         * doc/functions/frexpl.texi: Update.
58954
58955 2007-05-20  Jim Meyering  <jim@meyering.net>
58956
58957         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
58958         forced upon us by glibc-2.6.
58959
58960 2007-05-20  Bruno Haible  <bruno@clisp.org>
58961
58962         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
58963         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
58964         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
58965         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
58966         NEED_PRINTF_INFINITE.
58967         (is_infinitel): New function.
58968         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
58969         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
58970         gl_PREREQ_VASNPRINTF_INFINITE.
58971         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
58972         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
58973         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
58974         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
58975         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
58976         gl_PREREQ_VASNPRINTF_INFINITE.
58977         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
58978         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58979         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58980         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58981         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58982         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58983         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58984         * doc/functions/fprintf.texi: Update.
58985         * doc/functions/printf.texi: Update.
58986         * doc/functions/snprintf.texi: Update.
58987         * doc/functions/sprintf.texi: Update.
58988         * doc/functions/vfprintf.texi: Update.
58989         * doc/functions/vprintf.texi: Update.
58990         * doc/functions/vsnprintf.texi: Update.
58991         * doc/functions/vsprintf.texi: Update.
58992
58993 2007-05-20  Bruno Haible  <bruno@clisp.org>
58994
58995         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
58996         was not found in libc.
58997         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
58998
58999 2007-05-20  Bruno Haible  <bruno@clisp.org>
59000
59001         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
59002         printed as "-nan" instead of "nan".
59003         * tests/test-vasprintf-posix.c (test_function): Likewise.
59004         * tests/test-snprintf-posix.h (test_function): Likewise.
59005         * tests/test-sprintf-posix.h (test_function): Likewise.
59006         Needed for HP-UX 11.
59007
59008 2007-05-20  Jim Meyering  <jim@meyering.net>
59009
59010         Fix buggy test for the fchownat-deref bug.
59011         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
59012         symlink required for the run-test.  Without it, this test would
59013         always declare that fchownat doesn't work, and client code would
59014         unnecessarily use the replacement function with fixed libc.
59015         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
59016         Reported by Greg Schafer.
59017
59018 2007-05-19  Bruno Haible  <bruno@clisp.org>
59019
59020         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
59021         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
59022         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
59023         Needed for IRIX 6.5 and Solaris 2.5.1.
59024
59025 2007-05-19  Bruno Haible  <bruno@clisp.org>
59026
59027         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
59028         (test_function): Skip tests involving -0.0 on platforms where
59029         -0.0 = 0.0.
59030         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
59031         (test_function): Skip tests involving -0.0 on platforms where
59032         -0.0 = 0.0.
59033         * tests/test-snprintf-posix.h (have_minus_zero): New function.
59034         (test_function): Skip tests involving -0.0 on platforms where
59035         -0.0 = 0.0.
59036         * tests/test-sprintf-posix.h (have_minus_zero): New function.
59037         (test_function): Skip tests involving -0.0 on platforms where
59038         -0.0 = 0.0.
59039         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
59040         tests.
59041         * tests/test-printf-posix.h (test_function): Likewise.
59042         * tests/test-printf-posix.output: Remove all -0.0 related results.
59043         Needed for IRIX 6.5.
59044
59045 2007-05-19  Bruno Haible  <bruno@clisp.org>
59046
59047         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
59048         printed as "nan0x7fffffff" instead of "nan".
59049         * tests/test-vasprintf-posix.c (test_function): Likewise.
59050         * tests/test-snprintf-posix.h (test_function): Likewise.
59051         * tests/test-sprintf-posix.h (test_function): Likewise.
59052         * tests/test-fprintf-posix.h (NaN): Remove macro.
59053         (test_function): Remove all NaN related tests.
59054         * tests/test-printf-posix.h (NaN): Remove macro.
59055         (test_function): Remove all NaN related tests.
59056         * tests/test-printf-posix.output: Remove all NaN related results.
59057         Needed for IRIX 6.5.
59058
59059 2007-05-19  Bruno Haible  <bruno@clisp.org>
59060
59061         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
59062         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
59063
59064 2007-05-19  Bruno Haible  <bruno@clisp.org>
59065
59066         * lib/float_.h: New file.
59067         * m4/float_h.m4: New file.
59068         * modules/float: New file.
59069         * modules/isnanl (Dependencies): Add float.
59070         * modules/isnanl-nolibm (Dependencies): Likewise.
59071         * modules/mathl (Dependencies): Likewise.
59072         * modules/printf-frexpl (Dependencies): Likewise.
59073         * modules/signbit (Dependencies): Likewise.
59074         * modules/vasnprintf (Dependencies): Likewise.
59075         * doc/headers/float.texi: Update.
59076
59077 2007-05-19  Jim Meyering  <jim@meyering.net>
59078
59079         * lib/utimens.c (gl_futimens): Rename from futimens,
59080         now that glibc-2.6 declares futimens.
59081         * lib/utimens.h: Likewise.
59082
59083 2007-05-19  Bruno Haible  <bruno@clisp.org>
59084
59085         Avoid test failures on mingw.
59086         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
59087         * tests/test-printf-posix.sh: Likewise.
59088         * tests/test-vfprintf-posix.sh: Likewise.
59089         * tests/test-vprintf-posix.sh: Likewise.
59090
59091 2007-05-19  Bruno Haible  <bruno@clisp.org>
59092
59093         Fix *printf result for NaN, Inf, -0.0 on mingw.
59094         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
59095         * lib/vasnprintf.c: Include math.h and isnan.h.
59096         (is_infinite_or_zero): New function.
59097         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
59098         values in the %f, %F, %e, %E, %g, %G directives.
59099         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
59100         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
59101         gl_PRINTF_INFINITE and test its result. Invoke
59102         gl_PREREQ_VASNPRINTF_INFINITE.
59103         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
59104         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
59105         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
59106         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
59107         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
59108         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59109         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
59110         * doc/functions/fprintf.texi: Update.
59111         * doc/functions/printf.texi: Update.
59112         * doc/functions/snprintf.texi: Update.
59113         * doc/functions/sprintf.texi: Update.
59114         * doc/functions/vfprintf.texi: Update.
59115         * doc/functions/vprintf.texi: Update.
59116         * doc/functions/vsnprintf.texi: Update.
59117         * doc/functions/vsprintf.texi: Update.
59118
59119 2007-05-19  Bruno Haible  <bruno@clisp.org>
59120
59121         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
59122         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
59123         Instead of multiplying with 10^k, set extra_zeroes to k.
59124         (scale10_round_long_double): Remove function.
59125
59126 2007-05-18  Bruno Haible  <bruno@clisp.org>
59127
59128         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
59129         introduced on 2007-05-06.
59130
59131 2007-05-18  Bruno Haible  <bruno@clisp.org>
59132
59133         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
59134         %g directives.
59135         * tests/test-vasprintf-posix.c (test_function): Likewise.
59136         * tests/test-snprintf-posix.h (test_function): Likewise.
59137         * tests/test-sprintf-posix.h (test_function): Likewise.
59138
59139 2007-05-18  Bruno Haible  <bruno@clisp.org>
59140
59141         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
59142         (strmatch): New function.
59143         (test_function): Test the %f directive on numbers of various exponents.
59144         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
59145         (strmatch): New function.
59146         (test_function): Test the %f directive on numbers of various exponents.
59147         * tests/test-snprintf-posix.h (strmatch): New function.
59148         (test_function): Test the %f directive on numbers of various exponents.
59149         * tests/test-sprintf-posix.h (strmatch): New function.
59150         (test_function): Test the %f directive on numbers of various exponents.
59151         * tests/test-snprintf-posix.c (SIZEOF): New macro.
59152         * tests/test-sprintf-posix.c (SIZEOF): New macro.
59153         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
59154         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
59155
59156 2007-05-18  Bruno Haible  <bruno@clisp.org>
59157
59158         Add support for 'long double' number output.
59159         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
59160         * lib/vasnprintf.c: Include math.h and float+.h.
59161         (mp_limb_t): New type.
59162         (GMP_LIMB_BITS): New macro.
59163         (mp_twolimb_t): New type.
59164         (GMP_TWOLIMB_BITS): New macro.
59165         (mpn_t): New type.
59166         (multiply, divide, convert_to_decimal, decode_long_double,
59167         scale10_round_long_double, scale10_round_decimal_long_double,
59168         floorlog10l): New functions.
59169         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
59170         for the %f, %F, %e, %E, %g, %G directives.
59171         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
59172         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
59173         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
59174         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
59175         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
59176         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
59177         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
59178         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
59179         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
59180         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59181         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
59182         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
59183         * modules/snprintf-posix (Depends-on): Likewise.
59184         * modules/sprintf-posix (Depends-on): Likewise.
59185         * modules/vasnprintf-posix (Depends-on): Likewise.
59186         * modules/vasprintf-posix (Depends-on): Likewise.
59187         * modules/vfprintf-posix (Depends-on): Likewise.
59188         * modules/vsnprintf-posix (Depends-on): Likewise.
59189         * modules/vsprintf-posix (Depends-on): Likewise.
59190         * modules/vasnprintf (Files): Add lib/float+.h.
59191         * doc/functions/fprintf.texi: Update.
59192         * doc/functions/printf.texi: Update.
59193         * doc/functions/snprintf.texi: Update.
59194         * doc/functions/sprintf.texi: Update.
59195         * doc/functions/vfprintf.texi: Update.
59196         * doc/functions/vprintf.texi: Update.
59197         * doc/functions/vsnprintf.texi: Update.
59198         * doc/functions/vsprintf.texi: Update.
59199
59200 2007-05-18  Bruno Haible  <bruno@clisp.org>
59201
59202         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
59203
59204 2007-05-18  Bruno Haible  <bruno@clisp.org>
59205
59206         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
59207         for printing 64-bit integers. Needed for mingw.
59208
59209 2007-05-18  Bruno Haible  <bruno@clisp.org>
59210
59211         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
59212         gl_FUNC_FREXPL_WORKS.
59213         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
59214
59215 2007-05-18  Bruno Haible  <bruno@clisp.org>
59216
59217         * modules/frexpl-nolibm-tests: New file.
59218
59219         * modules/frexpl-nolibm: New file.
59220         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
59221
59222 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
59223
59224         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
59225         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
59226         GCC 4.2, which otherwise issues a lot of warnings.
59227         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
59228         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
59229         Likewise.
59230         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
59231         * modules/iconv_open (iconv.h): Likewise.
59232         * modules/locale (locale.h): Likewise.
59233         * modules/netinet_in (netinet/in.h): Likewise.
59234         * modules/sys_select (sys_select.h): Likewise.
59235         * modules/sys_socket (sys/socket.h): Likewise.
59236         * modules/sys_stat (sys/stat.h): Likewise.
59237         * modules/sysexits (sysexits.h): Likewise.
59238         * modules/unistd (unistd.h): Likewise.
59239
59240 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59241
59242         * modules/closein-tests (Makefile.am): Distribute
59243         `test-closein.sh'.
59244
59245 2007-05-17  Bruno Haible  <bruno@clisp.org>
59246
59247         * tests/test-printf-posix.output: Renamed from
59248         tests/test-fprintf-posix.out.
59249         * modules/fprintf-posix-tests: Update.
59250         * modules/printf-posix-tests: Update.
59251         * modules/vfprintf-posix-tests: Update.
59252         * modules/vprintf-posix-tests: Update.
59253         * tests/test-fprintf-posix.sh: Update.
59254         * tests/test-printf-posix.sh: Update.
59255         * tests/test-vfprintf-posix.sh: Update.
59256         * tests/test-vprintf-posix.sh: Update.
59257         Reported by Ralf Wildenhues.
59258
59259 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
59260
59261         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
59262         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
59263         GCC 4.2, which otherwise issues a lot of warnings.
59264         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
59265         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
59266         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
59267         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
59268         it should no longer be needed.
59269         * lib/string_.h: Likewise.
59270         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
59271         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
59272         * modules/inttypes (inttypes.h): Likewise.
59273         * modules/math (math.h): Likewise.
59274         * modules/search (search.h): Likewise.
59275         * modules/signal (signal.h): Likewise.
59276         * modules/stdint (stdint.h): Likewise.
59277         * modules/stdio (stdio.h): Likewise.
59278         * modules/stdlib (stdlib.h): Likewise.
59279         * modules/string (string.h): Likewise.
59280         * modules/sys_time (sys/time.h): Likewise.
59281         * modules/time (time.h): Likewise.
59282         * modules/wchar (wchar.h): Likewise.
59283         * modules/wctype (wtype.h): Likewise.
59284
59285 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
59286
59287         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
59288
59289 2007-05-13  Bruno Haible  <bruno@clisp.org>
59290
59291         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
59292         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
59293         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
59294         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
59295         (gl_PREREQ_STRTOK_R): Don't require it here.
59296
59297 2007-05-13  Bruno Haible  <bruno@clisp.org>
59298
59299         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
59300         when used in C++ mode.
59301
59302 2007-05-12  Bruno Haible  <bruno@clisp.org>
59303
59304         * lib/linebuffer.h: Tweak doc.
59305         * lib/linebuffer.c: Likewise.
59306
59307 2007-05-12  James Youngman  <jay@gnu.org>
59308
59309         * lib/linebuffer.c (readlinebuffer_delim): New function,
59310         like readlinebuffer, but use a caller-specified delimiter.
59311         (readlinebuffer): Just call readlinebuffer_delim with '\n'
59312         as the delimiter.
59313         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
59314
59315 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
59316
59317         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
59318         * modules/openat (Files): Remove openat-die.c.
59319         (Depends-on): Add openat-die.
59320         * modules/openat-die: New module.
59321
59322 2007-05-06  Bruno Haible  <bruno@clisp.org>
59323
59324         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
59325         Update with info about Cygwin.
59326         * doc/functions/fprintf.texi: Update.
59327         * doc/functions/printf.texi: Update.
59328         * doc/functions/snprintf.texi: Update.
59329         * doc/functions/sprintf.texi: Update.
59330         * doc/functions/vfprintf.texi: Update.
59331         * doc/functions/vprintf.texi: Update.
59332         * doc/functions/vsnprintf.texi: Update.
59333         * doc/functions/vsprintf.texi: Update.
59334         Reported by Eric Blake.
59335
59336 2007-05-06  Bruno Haible  <bruno@clisp.org>
59337
59338         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
59339         padding ourselves for the floating-point directives.
59340         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
59341         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
59342         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
59343         gl_PRINTF_FLAG_ZERO and test its result. Invoke
59344         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
59345         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
59346         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
59347         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
59348         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
59349         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
59350         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59351         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
59352         * tests/test-snprintf-posix.h (test_function): Also check the width
59353         and some flags in the %f directive.
59354         * tests/test-sprintf-posix.h (test_function): Likewise.
59355         * tests/test-vasnprintf-posix.c (test_function): Likewise.
59356         * tests/test-vasprintf-posix.c (test_function): Likewise.
59357         * doc/functions/fprintf.texi: Update.
59358         * doc/functions/printf.texi: Update.
59359         * doc/functions/snprintf.texi: Update.
59360         * doc/functions/sprintf.texi: Update.
59361         * doc/functions/vfprintf.texi: Update.
59362         * doc/functions/vprintf.texi: Update.
59363         * doc/functions/vsnprintf.texi: Update.
59364         * doc/functions/vsprintf.texi: Update.
59365
59366 2007-05-06  Bruno Haible  <bruno@clisp.org>
59367
59368         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
59369         pass the ' flag character to sprintf or snprintf.
59370         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
59371         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
59372         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
59373         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
59374         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
59375         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
59376         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
59377         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
59378         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
59379         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
59380         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59381         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
59382         * tests/test-snprintf-posix.h (test_function): Also check the grouping
59383         flag.
59384         * tests/test-sprintf-posix.h (test_function): Likewise.
59385         * tests/test-vasnprintf-posix.c (test_function): Likewise.
59386         * tests/test-vasprintf-posix.c (test_function): Likewise.
59387         * doc/functions/fprintf.texi: Update.
59388         * doc/functions/printf.texi: Update.
59389         * doc/functions/snprintf.texi: Update.
59390         * doc/functions/sprintf.texi: Update.
59391         * doc/functions/vfprintf.texi: Update.
59392         * doc/functions/vprintf.texi: Update.
59393         * doc/functions/vsnprintf.texi: Update.
59394         * doc/functions/vsprintf.texi: Update.
59395
59396 2007-05-01  Bruno Haible  <bruno@clisp.org>
59397
59398         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
59399
59400 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
59401
59402         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
59403         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
59404
59405 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
59406
59407         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
59408         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
59409         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
59410
59411 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
59412
59413         * lib/argp-help.c (struct hol_entry): New member `ord'.
59414         (HOL_ENTRY_PTRCMP): Use ord for comparison
59415         (hol_sort): Initialize ord.
59416
59417 2007-05-01  Bruno Haible  <bruno@clisp.org>
59418
59419         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
59420         Reported by Eric Blake.
59421         * doc/gnulib.texi (Function Substitutes): Update.
59422
59423 2007-05-01  Bruno Haible  <bruno@clisp.org>
59424
59425         * doc/functions.texi: Remove file, now redundant through
59426         doc/functions/*.texi.
59427
59428 2007-05-01  Bruno Haible  <bruno@clisp.org>
59429
59430         * modules/argp (Depends-on): Add sleep.
59431
59432 2007-05-01  Bruno Haible  <bruno@clisp.org>
59433
59434         * modules/sleep-tests: New file.
59435         * tests/test-sleep.c: New file.
59436
59437         * modules/sleep: New file.
59438         * lib/sleep.c: New file.
59439         * m4/sleep.m4: New file.
59440         * lib/unistd_.h (sleep): New declaration.
59441         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
59442         HAVE_SLEEP.
59443         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
59444         * doc/functions/sleep.texi: Document the sleep module.
59445
59446 2007-05-01  Bruno Haible  <bruno@clisp.org>
59447
59448         * lib/sigprocmask.h: Remove file.
59449         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
59450         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
59451         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
59452         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
59453         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
59454         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
59455         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
59456         HAVE_SIGSET_T as a shell variable.
59457         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
59458         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
59459         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
59460         (Depends-on): Add signal. Remove verify.
59461         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
59462         (Include): Mention <signal.h> instead of sigprocmask.h.
59463         * NEWS: Mention the change.
59464         * lib/fatal-signal.c: Don't include sigprocmask.h.
59465
59466 2007-05-01  Bruno Haible  <bruno@clisp.org>
59467
59468         * modules/signal: New file.
59469         * lib/signal_.h: New file.
59470         * m4/signal_h.m4: New file.
59471
59472 2007-05-01  Bruno Haible  <bruno@clisp.org>
59473
59474         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
59475         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
59476         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
59477         HAVE_WCTYPE_CTMP_BUG into wctype.h.
59478
59479 2007-05-01  Bruno Haible  <bruno@clisp.org>
59480
59481         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
59482         configure time.
59483         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
59484         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
59485         * modules/sys_stat (Makefile.am): Substitute their values into
59486         sys/stat.h.
59487
59488 2007-05-01  Bruno Haible  <bruno@clisp.org>
59489
59490         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
59491         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
59492         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
59493
59494 2007-05-01  Bruno Haible  <bruno@clisp.org>
59495
59496         * doc/header/assert.texi: Undo last change: don't mention the gnulib
59497         'assert' module here.
59498
59499 2007-05-01  Bruno Haible  <bruno@clisp.org>
59500
59501         * doc/functions/*.texi: New files.
59502         * doc/functions/google-ranking.txt: New file.
59503         * doc/gnulib.texi (Function Substitutes): New chapter.
59504         (ctime, inet_ntoa): Remove sections.
59505         * doc/ctime.texi: Remove file.
59506         * doc/inet_ntoa.texi: Remove file.
59507         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
59508         dependencies.
59509         (%.info): New rule, specifying a --reference-limit.
59510
59511 2007-05-01  Bruno Haible  <bruno@clisp.org>
59512
59513         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
59514
59515 2007-05-01  Bruno Haible  <bruno@clisp.org>
59516
59517         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
59518         the portability of 'mkdir' to mingw systems.
59519
59520 2007-05-01  Bruno Haible  <bruno@clisp.org>
59521
59522         * doc/headers/google-ranking.txt: New file.
59523
59524 2007-04-30  Eric Blake  <ebb9@byu.net>
59525
59526         Prefer fseeko to fseek.
59527         * modules/getpass (Depends-on): Add fseeko.
59528         * lib/getpass.c (getpass): Use fseeko, not fseek.
59529
59530 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
59531
59532         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
59533         assumes the sorting is stable, while most qsort implementations
59534         are not.  Use argument addresses to ensure they never compare as
59535         equal.
59536
59537         * tests/test-argp-2.sh (usage-indent test): Fix output
59538         (func_compare): Restore diff options
59539         * tests/test-argp.c: Restore #include "progname.h"
59540
59541 2007-04-29  Bruno Haible  <bruno@clisp.org>
59542
59543         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
59544         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
59545         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
59546         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59547         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
59548         (configure.ac): Define CHECK_SNPRINTF_POSIX.
59549         (TESTS, check_PROGRAMS): Add test-snprintf.
59550         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
59551         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
59552         (TESTS, check_PROGRAMS): Add test-vsnprintf.
59553         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
59554         assertions that fail on HP-UX, OSF/1, or IRIX.
59555         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
59556
59557 2007-04-29  Bruno Haible  <bruno@clisp.org>
59558
59559         * MODULES.html.sh (posix_functions): Remove 'contents'.
59560
59561 2007-04-29  Karl Berry  <karl@gnu.org>
59562
59563         * config/srclist.txt (gendocs_template_min): new entry.
59564
59565 2007-04-29  Bruno Haible  <bruno@clisp.org>
59566
59567         Work around fpurge bug on BSD systems.
59568         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
59569         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
59570         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
59571         fpurge to rpl_fpurge if the system already has this function.
59572         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
59573         the case where the system already has this function. Correct invariants
59574         on BSD systems.
59575         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
59576         BSD systems.
59577
59578 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
59579
59580         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
59581         proposed by Sven Verdoolaege.
59582
59583         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
59584         options.
59585         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
59586         (usage and help tests): Update
59587
59588 2007-04-29  Bruno Haible  <bruno@clisp.org>
59589
59590         * tests/test-fflush.c (main): Use a file of size 17, not 10.
59591         Print more information in case of failure. Disable a test on BeOS.
59592
59593 2007-04-29  Bruno Haible  <bruno@clisp.org>
59594
59595         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
59596         This helps debugging on systems on which no gdb is available.
59597
59598 2007-04-29  Bruno Haible  <bruno@clisp.org>
59599
59600         * lib/freading.h: Improve comments.
59601         * lib/fwriting.h: Likewise.
59602         * tests/test-freading.c (main): Don't check freading immediately after
59603         repositioning. Needed for glibc.
59604
59605 2007-04-29  Bruno Haible  <bruno@clisp.org>
59606
59607         * lib/freading.c (freading): Trivial simplification.
59608
59609 2007-04-28  Bruno Haible  <bruno@clisp.org>
59610
59611         * tests/test-fwriting.c (main): Also test the interaction between
59612         fflush and fwriting.
59613         * modules/fwriting-tests (Depends-on): Add fflush.
59614
59615         * tests/test-freading.c (main): Also test the interaction between
59616         fflush and freading.
59617         * modules/freading-tests (Depends-on): Add fflush.
59618
59619 2007-04-28  Bruno Haible  <bruno@clisp.org>
59620
59621         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
59622         fseeko and ftello.
59623         Suggested by Eric Blake.
59624
59625 2007-04-28  Jim Meyering  <jim@meyering.net>
59626
59627         Avoid false-negative in gl_STDINT_H's C99 conformance test.
59628         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
59629         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
59630
59631 2007-04-27  Eric Blake  <ebb9@byu.net>
59632
59633         * doc/headers/assert.texi (assert.h): Document assert module use.
59634
59635 2007-04-27  Bruno Haible  <bruno@clisp.org>
59636
59637         * doc/headers/*.texi: New files.
59638         * doc/gnulib.texi (Header File Substitutes): New chapter.
59639         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
59640         dependencies.
59641         (standards.info ,standards.html, standards.dvi): Update dependencies.
59642         (mostlyclean, clean): New targets.
59643
59644 2007-04-27  Bruno Haible  <bruno@clisp.org>
59645
59646         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
59647         * modules/sysexits (Files, Makefile.am): Update.
59648
59649         * lib/sys_socket_.h: Renamed from lib/socket_.h.
59650         * modules/sys_socket (Files, Makefile.am): Update.
59651
59652         * lib/sys_stat_.h: Renamed from lib/stat_.h.
59653         * modules/sys_stat (Files, Makefile.am): Update.
59654
59655 2007-04-27  Eric Blake  <ebb9@byu.net>
59656
59657         * lib/freading.h: Improve comments.
59658         * lib/fwriting.h: Likewise.
59659         * lib/fflush.c: Likewise.
59660
59661         Fix closein for mingw.
59662         * modules/closein-tests: Add tests for closein.
59663         * tests/test-closein.c: New file.
59664         * tests/test-closein.sh: Likewise.
59665         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
59666         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
59667
59668 2007-04-27  Bruno Haible  <bruno@clisp.org>
59669
59670         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
59671         version is < 6.
59672         * lib/math_.h [__DECC]: Likewise.
59673         * lib/stdio_.h [__DECC]: Likewise.
59674         * lib/stdlib_.h [__DECC]: Likewise.
59675         * lib/string_.h [__DECC]: Likewise.
59676         * lib/time_.h [__DECC]: Likewise.
59677         * lib/wchar_.h [__DECC]: Likewise.
59678         * lib/wctype_.h [__DECC]: Likewise.
59679
59680 2007-04-27  Bruno Haible  <bruno@clisp.org>
59681
59682         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
59683
59684 2007-04-27  Bruno Haible  <bruno@clisp.org>
59685
59686         * lib/fflush.c: Add comments.
59687         * modules/fpurge-tests (Depends-on): Add fflush.
59688         * modules/freadable-tests (Depends-on): Likewise.
59689         * modules/fwritable-tests (Depends-on): Likewise.
59690
59691 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
59692
59693         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
59694         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
59695         Report by Bruno Haible <bruno@clisp.org>.
59696
59697 2007-04-26  Eric Blake  <ebb9@byu.net>
59698
59699         Fix fflush on mingw.
59700         * modules/fflush (Depends-on): Add freading.
59701         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
59702         but unread data.
59703
59704 2007-04-26  Eric Blake  <ebb9@byu.net>
59705         and Bruno Haible  <bruno@clisp.org>
59706
59707         Implement freading and fwriting.
59708         * lib/freading.c: New file.
59709         * lib/freading.h: Likewise.
59710         * m4/freading.m4: Likewise.
59711         * modules/freading: Likewise.
59712         * modules/freading-tests: Likewise.
59713         * tests/test-freading.c: Likewise.
59714         * lib/fwriting.c: New file.
59715         * lib/fwriting.h: Likewise.
59716         * m4/fwriting.m4: Likewise.
59717         * modules/fwriting: Likewise.
59718         * modules/fwriting-tests: Likewise.
59719         * tests/test-fwriting.c: Likewise.
59720         * MODULES.html.sh (File stream based Input/Output): Mention them.
59721
59722 2007-04-26  Bruno Haible  <bruno@clisp.org>
59723
59724         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
59725         'long' when we assume it.
59726         Suggested by Eric Blake.
59727
59728 2007-04-26  Bruno Haible  <bruno@clisp.org>
59729
59730         Ensure fseeko, ftello are declared on glibc systems.
59731         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
59732         * modules/fseeko (configure.ac-early): Likewise.
59733         * modules/ftello (configure.ac-early): Likewise.
59734         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
59735         AC_FUNC_FSEEKO for this.
59736         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
59737         (gl_CHECK_FSEEKO): Remove macro.
59738
59739 2007-04-26  Bruno Haible  <bruno@clisp.org>
59740
59741         * tests/test-fflush.c (main): Also check the ftell result after
59742         fflush and fseek/fseeko.
59743         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
59744         file descriptor position cache in the stream.
59745         * lib/fseeko.c (rpl_fseeko): Likewise.
59746
59747 2007-04-26  Bruno Haible  <bruno@clisp.org>
59748
59749         * modules/fflush-tests (Depends-on): Add fseeko.
59750
59751 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
59752             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59753
59754         * lib/argz_.h: ensure error_t definition is obtained in same
59755         mechanism system argz.h would have.
59756         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
59757         argz facilities are known bad.  Err on the side of caution if
59758         cross-compiling.
59759
59760 2007-04-25  Eric Blake  <ebb9@byu.net>
59761
59762         * lib/fpurge.c (includes): Use stdlib.h for free.
59763         * tests/test-fflush.c (main): Also test fflush-fseeko.
59764
59765 2007-04-25  Bruno Haible  <bruno@clisp.org>
59766
59767         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
59768         * lib/fseeko.c: New file.
59769         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
59770         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
59771         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
59772         gl_FUNC_FSEEKO.
59773         (gl_FUNC_FSEEKO): Invoke it.
59774         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
59775         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
59776         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
59777
59778 2007-04-25  Bruno Haible  <bruno@clisp.org>
59779
59780         * modules/fflush (Depends-on): Add ftello.
59781
59782 2007-04-25  Bruno Haible  <bruno@clisp.org>
59783
59784         * modules/ftello-tests: New file.
59785         * tests/test-ftello.c: New file.
59786
59787         * modules/ftello: New file.
59788         * m4/ftello.m4: New file.
59789         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
59790         HAVE_FTELLO.
59791         * lib/stdio_.h (ftello): New declaration.
59792         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
59793         HAVE_FTELLO.
59794
59795 2007-04-25  Bruno Haible  <bruno@clisp.org>
59796
59797         * modules/fseeko-tests: New file.
59798         * tests/test-fseeko.c: New file.
59799
59800         * modules/fseeko: New file.
59801         * m4/fseeko.m4: New file.
59802         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
59803         HAVE_FSEEKO.
59804         * lib/stdio_.h (fseeko): New declaration.
59805         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
59806         HAVE_FSEEKO.
59807
59808 2007-04-25  Bruno Haible  <bruno@clisp.org>
59809
59810         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
59811
59812 2007-04-25  Bruno Haible  <bruno@clisp.org>
59813
59814         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
59815         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
59816         * tests/test-unistd.c: Likewise.
59817         * tests/test-fcntl.c: Likewise.
59818
59819 2007-04-23  Eric Blake  <ebb9@byu.net>
59820
59821         * lib/fflush.c: Fix missing include.
59822         Reported by Bruno Haible.
59823
59824 2007-04-23  Bruno Haible  <bruno@clisp.org>
59825
59826         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
59827         Reported by Eric Blake.
59828
59829 2007-04-23  Bruno Haible  <bruno@clisp.org>
59830
59831         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
59832
59833 2007-04-23  Bruno Haible  <bruno@clisp.org>
59834
59835         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
59836
59837 2007-04-23  Bruno Haible  <bruno@clisp.org>
59838
59839         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
59840         Needed on HP-UX 11.
59841
59842 2007-04-16  Eric Blake  <ebb9@byu.net>
59843
59844         Make fflush rely on fpurge.
59845         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
59846         open coding all variants.
59847         * modules/fflush (Depends-on): Add fpurge and unistd.
59848         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
59849         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
59850
59851         Fix --with-tests compilation on cygwin.
59852         * modules/argmatch-tests (Makefile.am): List gnulib library first
59853         in LDADD.
59854         * modules/argp-tests (Makefile.am): Likewise.
59855         * modules/array-list-tests (Makefile.am): Likewise.
59856         * modules/array-oset-tests (Makefile.am): Likewise.
59857         * modules/avltree-list-tests (Makefile.am): Likewise.
59858         * modules/avltree-oset-tests (Makefile.am): Likewise.
59859         * modules/avltreehash-list-tests (Makefile.am): Likewise.
59860         * modules/carray-list-tests (Makefile.am): Likewise.
59861         * modules/dirname-tests (Makefile.am): Likewise.
59862         * modules/frexp-tests (Makefile.am): Likewise.
59863         * modules/isnanl-tests (Makefile.am): Likewise.
59864         * modules/linked-list-tests (Makefile.am): Likewise.
59865         * modules/linkedhash-list-tests (Makefile.am): Likewise.
59866         * modules/lock-tests (Makefile.am): Likewise.
59867         * modules/rbtree-list-tests (Makefile.am): Likewise.
59868         * modules/rbtree-oset-tests (Makefile.am): Likewise.
59869         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
59870         * modules/tls-tests (Makefile.am): Likewise.
59871         * modules/tsearch-tests (Makefile.am): Likewise.
59872         * modules/xvasprintf-tests (Makefile.am): Likewise.
59873
59874         Fix fpurge for cygwin.
59875         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
59876         value.
59877         * modules/fpurge-tests (Depends-on): Clean up trash.
59878
59879 2007-04-16  Simon Josefsson  <simon@josefsson.org>
59880
59881         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
59882
59883         * m4/autobuild.m4: Re-indent.
59884
59885 2007-04-13  Bruno Haible  <bruno@clisp.org>
59886
59887         * modules/fpurge-tests: New file.
59888         * tests/test-fpurge.c: New file.
59889
59890         * modules/fpurge: New file.
59891         * lib/fpurge.h: New file.
59892         * lib/fpurge.c: New file.
59893         * m4/fpurge.m4: New file.
59894
59895 2007-04-13  Bruno Haible  <bruno@clisp.org>
59896
59897         * modules/fbufmode-tests: New file.
59898         * tests/test-fbufmode.c: New file.
59899
59900         * modules/fbufmode: New file.
59901         * lib/fbufmode.h: New file.
59902         * lib/fbufmode.c: New file.
59903         * m4/fbufmode.m4: New file.
59904
59905 2007-04-13  Bruno Haible  <bruno@clisp.org>
59906
59907         * modules/fwritable-tests: New file.
59908         * tests/test-fwritable.c: New file.
59909
59910         * modules/fwritable: New file.
59911         * lib/fwritable.h: New file.
59912         * lib/fwritable.c: New file.
59913         * m4/fwritable.m4: New file.
59914
59915 2007-04-13  Bruno Haible  <bruno@clisp.org>
59916
59917         * modules/freadable-tests: New file.
59918         * tests/test-freadable.c: New file.
59919
59920         * modules/freadable: New file.
59921         * lib/freadable.h: New file.
59922         * lib/freadable.c: New file.
59923         * m4/freadable.m4: New file.
59924
59925 2007-04-13  Bruno Haible  <bruno@clisp.org>
59926
59927         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
59928         MOSTLYCLEANFILES.
59929
59930 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
59931
59932         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
59933         gzip bootstrap.conf to avoid dragging in i18n machinery.
59934         (gnulib_tool_option): Use it.
59935
59936 2007-04-13  Bruno Haible  <bruno@clisp.org>
59937
59938         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
59939         %F directives.
59940         * tests/test-vasprintf-posix.c (test_function): Likewise.
59941         * tests/test-snprintf-posix.h (test_function): Likewise.
59942         * tests/test-sprintf-posix.h (test_function): Likewise.
59943         * tests/test-fprintf-posix.h (test_function): Likewise.
59944         * tests/test-printf-posix.h (test_function): Likewise.
59945         * tests/test-fprintf-posix.out: Likewise.
59946
59947 2007-04-13  Bruno Haible  <bruno@clisp.org>
59948
59949         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
59950         * modules/tls-tests (configure.ac): Likewise.
59951         Reported by Arto C. Nirkko <anirkko@insel.ch>.
59952
59953 2007-04-13  Bruno Haible  <bruno@clisp.org>
59954
59955         * lib/tls.c (glthread_tls_get): Fix return type.
59956         Patch by Arto C. Nirkko <anirkko@insel.ch>.
59957
59958 2007-04-12  Eric Blake  <ebb9@byu.net>
59959
59960         * modules/gettime (Depends-on): Remove gettime.
59961         Reported by Dmitry V. Levin.
59962
59963 2007-04-12  Bruno Haible  <bruno@clisp.org>
59964
59965         * modules/fflush (Include): Mention <stdio.h>.
59966         * modules/strtoimax (Include): Mention <inttypes.h>.
59967         * modules/strtoumax (Include): Likewise.
59968
59969 2007-04-12  Eric Blake  <ebb9@byu.net>
59970
59971         * .cvsignore: New file.
59972         * .gitignore: Likewise.
59973
59974 2007-04-12  Bruno Haible  <bruno@clisp.org>
59975
59976         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
59977         not before, since $(LDADD) often contains libgnu.a.
59978         * modules/striconv-tests (test_striconv_LDADD): Likewise.
59979         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
59980         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
59981         Needed on Cygwin.
59982
59983 2007-04-12  Eric Blake  <ebb9@byu.net>
59984
59985         Work around glibc's failure to flush stdin on fclose.
59986         * lib/closein.c (close_stdin): Flush stdin before closing.
59987
59988         Work around glibc's failure to reset seekable stdin on exit.
59989         * modules/closein: New module.
59990         * lib/closein.c: New file.
59991         * lib/closein.h: Likewise.
59992         * m4/closein.m4: Likewise.
59993         * MODULES.html.sh (File stream based Input/Output): Document it.
59994
59995 2007-04-12  Simon Josefsson  <simon@josefsson.org>
59996
59997         * gnulib-tool: Rename generated 'autobuild' script to
59998         'do-autobuild' in --create-megatestdir output.
59999
60000         * doc/gnulib.texi (Build robot for gnulib): Fix.
60001
60002 2007-04-12  Simon Josefsson  <simon@josefsson.org>
60003
60004         * modules/sysexits (Depends-on): Add absolute-header.
60005
60006 2007-04-12  Eric Blake  <ebb9@byu.net>
60007
60008         No need to preserve errno on success.
60009         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
60010         Reported by Bruno Haible.
60011
60012 2007-04-12  Simon Josefsson  <simon@josefsson.org>
60013
60014         * MODULES.html.sh (Support for maintaining and releasing
60015         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
60016
60017 2007-04-12  Simon Josefsson  <simon@josefsson.org>
60018
60019         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
60020
60021 2007-04-12  Simon Josefsson  <simon@josefsson.org>
60022
60023         * modules/autobuild: New module.
60024
60025         * m4/autobuild.m4: New file.
60026
60027 2007-04-11  Bruno Haible  <bruno@clisp.org>
60028
60029         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
60030         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
60031         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
60032         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
60033         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
60034         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
60035         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
60036         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
60037         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
60038         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
60039         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
60040         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
60041         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
60042         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
60043         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
60044         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
60045         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
60046         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
60047         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
60048         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
60049         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
60050         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
60051         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
60052         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
60053         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
60054         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
60055         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
60056         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
60057         Reported by Eric Blake.
60058
60059 2007-04-11  Bruno Haible  <bruno@clisp.org>
60060
60061         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
60062
60063 2007-04-10  Bruno Haible  <bruno@clisp.org>
60064
60065         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
60066         for NaN and Infinity. Needed on FreeBSD 6.1.
60067         * tests/test-vasnprintf-posix.c (test_function): Undo last change
60068         regarding results for "%010a" of Infinity and NaN.
60069         * tests/test-vasprintf-posix.c (test_function): Likewise.
60070         * tests/test-snprintf-posix.h (test_function): Likewise.
60071         * tests/test-sprintf-posix.h (test_function): Likewise.
60072         * tests/test-fprintf-posix.h (test_function): Likewise.
60073         * tests/test-printf-posix.h (test_function): Likewise.
60074         * tests/test-fprintf-posix.out: Likewise.
60075
60076 2007-04-10  Bruno Haible  <bruno@clisp.org>
60077
60078         * modules/locale-tests: New file.
60079         * tests/test-locale.c: New file.
60080
60081         * modules/locale: New file.
60082         * lib/locale_.h: New file.
60083         * m4/locale_h.m4: New file.
60084
60085 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
60086             Bruno Haible  <bruno@clisp.org>
60087
60088         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
60089         be determined, test for availability of the copysignf, copysign,
60090         copysignl functions.
60091         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
60092         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
60093         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
60094
60095 2007-04-09  Eric Blake  <ebb9@byu.net>
60096
60097         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
60098         * modules/stdio (Makefile.am): Support fflush.
60099         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
60100         * modules/fflush: New file.
60101         * lib/fflush.c: Likewise.
60102         * m4/fflush.m4: Likewise.
60103         * modules/fflush-tests: New test.
60104         * tests/test-fflush.c: Likewise.
60105         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
60106
60107 2007-04-06  Bruno Haible  <bruno@clisp.org>
60108
60109         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
60110         (VASNPRINTF): Use signbit for faster determination whether to print a
60111         minus sign.
60112         * modules/vasnprintf (Files): Remove lib/float+.h.
60113         * modules/fprintf-posix (Depends-on): Add signbit.
60114         * modules/snprintf-posix (Depends-on): Likewise.
60115         * modules/sprintf-posix (Depends-on): Likewise.
60116         * modules/vasnprintf-posix (Depends-on): Likewise.
60117         * modules/vasprintf-posix (Depends-on): Likewise.
60118         * modules/vfprintf-posix (Depends-on): Likewise.
60119         * modules/vsnprintf-posix (Depends-on): Likewise.
60120         * modules/vsprintf-posix (Depends-on): Likewise.
60121
60122 2007-04-06  Bruno Haible  <bruno@clisp.org>
60123
60124         * tests/test-frexp.c (main): Test also the sign bit of zero results.
60125         * tests/test-frexpl.c (main): Likewise.
60126         * tests/test-ldexpl.c (main): Likewise.
60127         * modules/frexp-tests (Depends-on): Add signbit.
60128         * modules/frexpl-tests (Depdends-on): Likewise.
60129         * modules/ldexpl-tests (Depdends-on): Likewise.
60130
60131 2007-04-06  Bruno Haible  <bruno@clisp.org>
60132
60133         * modules/signbit-tests: New file.
60134         * tests/test-signbit.c: New file.
60135
60136         * modules/signbit: New file.
60137         * lib/signbitf.c: New file.
60138         * lib/signbitd.c: New file.
60139         * lib/signbitl.c: New file.
60140         * m4/signbit.m4: New file.
60141         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
60142         (signbit): New macro.
60143         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
60144         REPLACE_SIGNBIT.
60145         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
60146         REPLACE_FREXPL into math.h.
60147
60148 2007-04-06  Bruno Haible  <bruno@clisp.org>
60149
60150         * modules/isnanf-nolibm-tests: New file.
60151         * tests/test-isnanf.c: New file.
60152
60153         * modules/isnanf-nolibm: New file.
60154         * lib/isnanf.h: New file.
60155         * lib/isnanf.c: New file.
60156         * lib/isnan.c: Consider the USE_FLOAT macro.
60157         * m4/isnanf.m4: New file.
60158
60159 2007-04-06  Bruno Haible  <bruno@clisp.org>
60160
60161         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
60162         (Link): New section.
60163
60164         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
60165
60166 2007-04-06  Bruno Haible  <bruno@clisp.org>
60167
60168         Assume the 'long double' type.
60169         * m4/longdouble.m4: Remove file.
60170         * config/srclist.txt: Don't mention longdouble.m4.
60171         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
60172         * lib/float+.h: Likewise.
60173         * lib/frexp.c: Likewise.
60174         * lib/printf-args.h: Likewise.
60175         * lib/printf-args.c: Likewise.
60176         * lib/printf-frexp.c: Likewise.
60177         * lib/printf-parse.c: Likewise.
60178         * lib/vasnprintf.c: Likewise.
60179         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
60180         * m4/intl.m4: Likewise.
60181         * m4/isnanl.m4: Likewise.
60182         * m4/printf.m4: Likewise.
60183         * m4/printf-frexpl.m4: Likewise.
60184         * m4/vasnprintf.m4: Likewise.
60185         * modules/allocsa (Files): Remove m4/longdouble.m4.
60186         * modules/gettext (Files): Likewise.
60187         * modules/relocatable-prog-wrapper (Files): Likewise.
60188         * modules/vasnprintf (Files): Likewise.
60189         * modules/isnanl (Files): Likewise.
60190         (Include): Simplify.
60191         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
60192         (Include): Simplify.
60193         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
60194         (Include): Simplify.
60195         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
60196         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
60197         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
60198         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
60199         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
60200         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
60201         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
60202         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
60203         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
60204         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
60205         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
60206         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
60207         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
60208         * tests/test-isnanl.c: Likewise.
60209         * tests/test-snprintf-posix.h: Likewise.
60210         * tests/test-sprintf-posix.h: Likewise.
60211         * tests/test-vasnprintf-posix.c: Likewise.
60212         * tests/test-vasnprintf-posix2.c: Likewise.
60213         * tests/test-vasprintf-posix.c: Likewise.
60214
60215 2007-04-06  Bruno Haible  <bruno@clisp.org>
60216
60217         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
60218         * lib/math_.h [__DECC]: Include the overridden include file through
60219         #include_next, outside the double-inclusion guard.
60220         * lib/stdio_.h [__DECC]: Likewise.
60221         * lib/stdlib_.h [__DECC]: Likewise.
60222         * lib/string_.h [__DECC]: Likewise.
60223         * lib/time_.h [__DECC]: Likewise.
60224         * lib/wchar_.h [__DECC]: Likewise.
60225         * lib/wctype_.h [__DECC]: Likewise.
60226         * lib/inttypes_.h [__DECC]: Likewise.
60227         Reported by Albert Chin <china@thewrittenword.com> in
60228         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
60229
60230 2007-04-04  Eric Blake  <ebb9@byu.net>
60231
60232         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
60233         1.5.x.
60234
60235 2007-04-04  Bruno Haible  <bruno@clisp.org>
60236
60237         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
60238         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
60239
60240 2007-04-04  Bruno Haible  <bruno@clisp.org>
60241
60242         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
60243         results for "%010a" of Infinity and NaN.
60244         * tests/test-vasprintf-posix.c (test_function): Likewise.
60245         * tests/test-snprintf-posix.h (test_function): Likewise.
60246         * tests/test-sprintf-posix.h (test_function): Likewise.
60247         * tests/test-fprintf-posix.h (test_function): Remove these tests.
60248         * tests/test-printf-posix.h (test_function): Likewise.
60249         * tests/test-fprintf-posix.out: Update.
60250         Needed for FreeBSD 6.1.
60251
60252 2007-04-04  Bruno Haible  <bruno@clisp.org>
60253
60254         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
60255         directly used by the gnulib modules nor by gnulib-tool.
60256
60257 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
60258
60259         * DEPENDENCIES: Give overall description of version dependency
60260         desirability.  Use more-typical names for apps.
60261         Add shell, coreutils, diffutils, grep, tar, gzip.
60262
60263 2007-04-04  Simon Josefsson  <simon@josefsson.org>
60264
60265         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
60266
60267 2007-04-04  Karl Berry  <karl@gnu.org>
60268
60269         * MODULES.html.sh (func_module): missing '.
60270
60271 2007-04-03  Bruno Haible  <bruno@clisp.org>
60272
60273         * modules/argmatch-tests (Makefile.am): New variable
60274         test_argmatch_LDADD.
60275         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
60276         * modules/array-list-tests (Makefile.am): New variable
60277         test_array_list_LDADD.
60278         * modules/array-oset-tests (Makefile.am): New variable
60279         test_array_oset_LDADD.
60280         * modules/avltree-list-tests (Makefile.am): New variable
60281         test_avltree_list_LDADD.
60282         * modules/avltree-oset-tests (Makefile.am): New variable
60283         test_avltree_oset_LDADD.
60284         * modules/avltreehash-list-tests (Makefile.am): New variable
60285         test_avltreehash_list_LDADD.
60286         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
60287         test_canonicalize_lgpl_LDADD.
60288         * modules/carray-list-tests (Makefile.am): New variable
60289         test_carray_list_LDADD.
60290         * modules/dirname-tests (Makefile.am): New variable
60291         test_dirname_LDADD.
60292         * modules/linked-list-tests (Makefile.am): New variable
60293         test_linked_list_LDADD.
60294         * modules/linkedhash-list-tests (Makefile.am): New variable
60295         test_linkedhash_list_LDADD.
60296         * modules/rbtree-list-tests (Makefile.am): New variable
60297         test_rbtree_list_LDADD.
60298         * modules/rbtree-oset-tests (Makefile.am): New variable
60299         test_rbtree_oset_LDADD.
60300         * modules/rbtreehash-list-tests (Makefile.am): New variable
60301         test_rbtreehash_list_LDADD.
60302         * modules/xvasprintf-tests (Makefile.am): New variable
60303         test_xvasprintf_LDADD.
60304         Reported by Eric Blake.
60305
60306 2007-04-03  Eric Blake  <ebb9@byu.net>
60307
60308         * DEPENDENCIES: Weaken m4 requirements.
60309
60310 2007-04-03  Bruno Haible  <bruno@clisp.org>
60311
60312         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
60313         * modules/isnanl-tests (configure.ac): Likewise.
60314
60315 2007-04-03  Ben Pfaff  <blp@gnu.org>
60316
60317         * modules/iconv_open: Add $(srcdir)/ to source directory
60318         references in Makefile fragments that call gperf, to fix VPATH
60319         builds.
60320
60321 2007-04-03  Bruno Haible  <bruno@clisp.org>
60322
60323         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
60324         * lib/ldexpl.c: Undo last change.
60325
60326 2007-04-03  Bruno Haible  <bruno@clisp.org>
60327
60328         * modules/printf-frexpl (Depends-on): Undo last change.
60329         (Files): Add m4/ldexpl.m4.
60330
60331 2007-04-03  Bruno Haible  <bruno@clisp.org>
60332
60333         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
60334         * modules/isnanl (Link): New section.
60335
60336         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
60337         * modules/frexp (Link): New section.
60338
60339         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
60340         * modules/frexpl (Link): New section.
60341
60342         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
60343         * modules/ldexpl (Link): New section.
60344
60345 2007-04-03  Bruno Haible  <bruno@clisp.org>
60346
60347         * modules/TEMPLATE-EXTENDED: New file.
60348         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
60349
60350 2007-04-03  Bruno Haible  <bruno@clisp.org>
60351
60352         * DEPENDENCIES: New file.
60353         Suggested by Simon Josefsson.
60354
60355 2007-04-03  Bruno Haible  <bruno@clisp.org>
60356
60357         * doc/gnulib.texi: Escape @.
60358
60359 2007-04-03  James Youngman  <jay@gnu.org>
60360         and Paul Eggert  <eggert@cs.ucla.edu>
60361
60362         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
60363         birthtime on all systems that have birthtime, not just those which
60364         use st_birthtimensec rather than st_birthtim.  Putting zero in
60365         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
60366         that the birth time is not available for files on an NFS mount.
60367
60368 2007-04-03  Simon Josefsson  <simon@josefsson.org>
60369
60370         * modules/memxor: Move back from crypto/, suggested by Bruno.
60371         * modules/crypto/hmac-sha1: Fix memxor dependency.
60372
60373         * modules/crypto/gc: Moved from ../.
60374
60375 2007-04-02  Eric Blake  <ebb9@byu.net>
60376
60377         * lib/ldexpl.c (includes): Avoid libm.
60378
60379         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
60380
60381 2007-04-02  Bruno Haible  <bruno@clisp.org>
60382
60383         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
60384         on IRIX.
60385
60386 2007-04-02  Bruno Haible  <bruno@clisp.org>
60387
60388         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
60389         x86 or x86_64 platforms running MacOS X.
60390         Reported by Ryan Schmidt <@ryandesign.com>.
60391
60392 2007-04-02  Bruno Haible  <bruno@clisp.org>
60393
60394         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
60395         i386.
60396
60397 2007-04-01  Simon Josefsson  <simon@josefsson.org>
60398
60399         * modules/crypto/arcfour: Moved from ../.
60400         * modules/crypto/arcfour-tests: Moved from ../.
60401         * modules/crypto/arctwo: Moved from ../.
60402         * modules/crypto/arctwo-tests: Moved from ../.
60403         * modules/crypto/des: Moved from ../.
60404         * modules/crypto/des-tests: Moved from ../.
60405         * modules/crypto/gc-arcfour: Moved from ../.
60406         * modules/crypto/gc-arcfour-tests: Moved from ../.
60407         * modules/crypto/gc-arctwo: Moved from ../.
60408         * modules/crypto/gc-arctwo-tests: Moved from ../.
60409         * modules/crypto/gc-des: Moved from ../.
60410         * modules/crypto/gc-des-tests: Moved from ../.
60411         * modules/crypto/gc-hmac-md5: Moved from ../.
60412         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
60413         * modules/crypto/gc-hmac-sha1: Moved from ../.
60414         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
60415         * modules/crypto/gc-md2: Moved from ../.
60416         * modules/crypto/gc-md2-tests: Moved from ../.
60417         * modules/crypto/gc-md4: Moved from ../.
60418         * modules/crypto/gc-md4-tests: Moved from ../.
60419         * modules/crypto/gc-md5: Moved from ../.
60420         * modules/crypto/gc-md5-tests: Moved from ../.
60421         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
60422         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
60423         * modules/crypto/gc-random: Moved from ../.
60424         * modules/crypto/gc-rijndael: Moved from ../.
60425         * modules/crypto/gc-rijndael-tests: Moved from ../.
60426         * modules/crypto/gc-sha1: Moved from ../.
60427         * modules/crypto/gc-sha1-tests: Moved from ../.
60428         * modules/crypto/gc-tests: Moved from ../.
60429         * modules/crypto/hmac-md5: Moved from ../.
60430         * modules/crypto/hmac-md5-tests: Moved from ../.
60431         * modules/crypto/hmac-sha1: Moved from ../.
60432         * modules/crypto/hmac-sha1-tests: Moved from ../.
60433         * modules/crypto/md2: Moved from ../.
60434         * modules/crypto/md2-tests: Moved from ../.
60435         * modules/crypto/md4: Moved from ../.
60436         * modules/crypto/md4-tests: Moved from ../.
60437         * modules/crypto/md5: Moved from ../.
60438         * modules/crypto/md5-tests: Moved from ../.
60439         * modules/crypto/memxor: Moved from ../.
60440         * modules/crypto/rijndael: Moved from ../.
60441         * modules/crypto/rijndael-tests: Moved from ../.
60442         * modules/crypto/sha1: Moved from ../.
60443
60444 2007-03-30  James Youngman  <jay@gnu.org>
60445
60446         * tests/test-stat-time.c (prepare_test): use chmod() rather than
60447         rename() to change the ctime of a file (because ctime is unaffected
60448         by rename on jfs2 on AIX 5.1).
60449         (main): Start by doing cleanup, in case a previous run failed leaving
60450         test files behind.
60451
60452 2007-03-31  Bruno Haible  <bruno@clisp.org>
60453
60454         Support old proprietary implementations of iconv.
60455         * modules/iconv_open: New file.
60456         * lib/iconv_.h: New file.
60457         * m4/iconv_h.m4: New file.
60458         * lib/iconv_open.c: New file.
60459         * lib/iconv_open-aix.gperf: New file.
60460         * lib/iconv_open-hpux.gperf: New file.
60461         * lib/iconv_open-irix.gperf: New file.
60462         * lib/iconv_open-osf.gperf: New file.
60463         * m4/iconv_open.m4: New file.
60464         * modules/linebreak (Depends-on): Add iconv_open.
60465         * modules/striconv (Depends-on): Likewise.
60466         * modules/striconveh (Depends-on): Likewise.
60467         * modules/unicodeio (Depends-on): Likewise.
60468         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
60469         (iconv_t)(-1).
60470         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
60471         conversion if cd is (iconv_t)(-1).
60472         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
60473         is not possible.
60474
60475 2007-03-31  Bruno Haible  <bruno@clisp.org>
60476
60477         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
60478         work on Solaris either. Protect also second use of "autodetect_jp".
60479
60480 2007-03-31  Bruno Haible  <bruno@clisp.org>
60481
60482         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
60483         the function is not present.
60484
60485 2007-03-31  Bruno Haible  <bruno@clisp.org>
60486
60487         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
60488         the function is not present.
60489
60490 2007-03-31  Bruno Haible  <bruno@clisp.org>
60491
60492         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
60493         a bug in HP-UX iconv_open().
60494
60495 2007-03-31  Bruno Haible  <bruno@clisp.org>
60496
60497         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
60498         (Mathematics <math.h>): New section, add fpieee.
60499         (Input/output <stdio.h>): Add fseterr.
60500         (Mathematics <math.h>): New section, add printf-frexp.
60501         (Container data structures): Add sublist.
60502         (Core language properties): Add fpucw, inline.
60503         (Functions for greatest-width integer types <inttypes.h>): Add
60504         imaxabs, imaxdiv, inttypes.
60505         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
60506         isnanl-nolibm, ldexp.
60507         (Mathematics <math.h>): New section, add printf-frexpl.
60508         (Support for systems lacking POSIX:2001): Add fprintf-posix,
60509         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
60510         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
60511         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
60512         (Unicode string functions): Add unistr/u*-mbtoucr.
60513         (Java): Add javacomp-script, javaexec-script.
60514         (C#): Add csharpcomp-script, csharpexec-script.
60515         (Support for building libraries and executables): Add havelib,
60516         relocatable-*.
60517         (Support for maintaining and releasing projects): Renamed from
60518         'Support for maintaining and release projects'. Add announce-gen.
60519
60520 2007-03-31  Bruno Haible  <bruno@clisp.org>
60521
60522         * README: Talk primarily about git.
60523         (git and CVS): Renamed from CVS.
60524         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
60525         gnulib is available through git.
60526         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
60527
60528 2007-03-30  Bruno Haible  <bruno@clisp.org>
60529
60530         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
60531         * lib/poll_.h: Likewise.
60532         * lib/stat_.h: Likewise.
60533         * lib/sys_time_.h: Likewise.
60534         * lib/sysexit_.h: Likewise.
60535         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
60536         * lib/stdbool_.h: Likewise.
60537         * lib/byteswap_.h: Add double-inclusion guard.
60538
60539 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
60540
60541         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
60542
60543 2007-03-30  Karl Berry  <karl@gnu.org>
60544
60545         * config/srclist-update: double space after USA in the license
60546         substitution, since that's how it's usually (?) written.
60547
60548 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
60549
60550         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
60551         reported by Bruno Haible.
60552
60553 2007-03-29  Bruno Haible  <bruno@clisp.org>
60554
60555         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
60556         a bug in AIX iconv().
60557
60558 2007-03-29  Bruno Haible  <bruno@clisp.org>
60559
60560         * modules/ldexpl-tests: New file.
60561         * tests/test-ldexpl.c: New file.
60562
60563 2007-03-29  Bruno Haible  <bruno@clisp.org>
60564
60565         * lib/ldexpl.c: Include fpucw.h.
60566         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
60567         multiplication.
60568         * modules/ldexpl (Depends-on): Add fpucw.
60569
60570 2007-03-29  Bruno Haible  <bruno@clisp.org>
60571
60572         * modules/ldexpl: New file.
60573         * m4/ldexpl.m4: New file.
60574         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
60575         set.
60576         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
60577         REPLACE_LDEXPL.
60578         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
60579         REPLACE_LDEXPL.
60580         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
60581         gl_FUNC_LDEXPL_WORKS.
60582         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
60583         * modules/mathl (Files): Remove lib/ldexpl.c.
60584         (Depends-on): Add ldexpl.
60585
60586 2007-03-29  Bruno Haible  <bruno@clisp.org>
60587
60588         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
60589
60590 2007-03-29  Bruno Haible  <bruno@clisp.org>
60591
60592         * tests/test-striconveh.c (main): Don't assume that a direct conversion
60593         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
60594         and possibly also HP-UX.
60595         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
60596         work on AIX, IRIX, HP-UX, OSF/1.
60597         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
60598         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
60599         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
60600         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
60601         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
60602         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
60603
60604 2007-03-29  Bruno Haible  <bruno@clisp.org>
60605
60606         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
60607
60608 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
60609
60610         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
60611         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
60612
60613 2007-03-29  Eric Blake  <ebb9@byu.net>
60614
60615         * lib/acl-internal.h: Remove redundant include.
60616         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
60617         Cygwin when a file is locked.
60618
60619 2007-03-29  Bruno Haible  <bruno@clisp.org>
60620
60621         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
60622         file.
60623         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
60624
60625 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
60626
60627         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
60628         try to remove a parent directory if the child couldn't be removed
60629         (except for the first rmdir, which could fail because the child
60630         doesn't exist).  Problem reported by Jeff Blaine in
60631         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
60632
60633 2007-03-28  Bruno Haible  <bruno@clisp.org>
60634
60635         * lib/striconveh.c (utf8conv_carefully): New function.
60636         (mem_cd_iconveh_internal): Invoke it.
60637
60638 2007-03-28  Bruno Haible  <bruno@clisp.org>
60639
60640         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
60641         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
60642         input.
60643         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
60644         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
60645         unistr/u8-uctomb.
60646
60647 2007-03-28  Bruno Haible  <bruno@clisp.org>
60648
60649         * modules/unistr/u8-mbtoucr: New file.
60650         * lib/unistr/u8-mbtoucr.c: New file.
60651         * modules/unistr/u16-mbtoucr: New file.
60652         * lib/unistr/u16-mbtoucr.c: New file.
60653         * modules/unistr/u16-mbtoucr: New file.
60654         * lib/unistr/u16-mbtoucr.c: New file.
60655         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
60656
60657 2007-03-27  Simon Josefsson  <simon@josefsson.org>
60658             Bruno Haible  <bruno@clisp.org>
60659
60660         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
60661         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
60662         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
60663
60664         * m4/stdio_h.m4: Add stubs for vasprintf too.
60665
60666         * modules/stdio: Support vasprintf in sed command.
60667
60668         * modules/vasprintf: Depend on stdio for prototypes.  Remove
60669         vasprintf.h.  Add stdio module indicator.
60670
60671         * lib/stdio_.h: Declare asprintf and vasprintf, based on
60672         vasprintf.h.
60673
60674         * lib/vasprintf.h: File removed.
60675
60676         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
60677         * lib/vasprintf.c: Ditto.
60678         * lib/xvasprintf.c: Ditto.
60679         * tests/test-vasprintf-posix.c: Ditto.
60680         * tests/test-vasprintf.c: Ditto.
60681
60682 2007-03-27  Bruno Haible  <bruno@clisp.org>
60683
60684         Make vasnprintf multithread-safe.
60685         * lib/vasnprintf.c (decimal_point_char): New function.
60686         (VASNPRINTF): Use it.
60687         Suggested by Simon Josefsson.
60688
60689 2007-03-27  Eric Blake  <ebb9@byu.net>
60690
60691         Support sub-second birthtime on cygwin.
60692         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
60693         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
60694         (get_stat_birthtime): Also work with st_birthtim.
60695
60696 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
60697
60698         * lib/stat-time.h (USE_BIRTHTIME): Remove.
60699         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
60700         (get_stat_birthtime_ns): Do not try to use "spare" fields.
60701         (get_stat_birthtime_ns): Simplify compile-time tests.
60702         (get_stat_birthtime): Change the API to look like
60703         get_stat_mtime etc., except return a negative tv_nsec on error.
60704         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
60705         Don't check for "spare" fields.
60706         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
60707         or for struct stat.st_birthtime, as these tests aren't used.
60708         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
60709
60710 2007-03-27  Bruno Haible  <bruno@clisp.org>
60711
60712         * lib/stat-time.h: Include <sys/stat.h>.
60713
60714 2007-03-27  James Youngman  <jay@gnu.org>
60715
60716         * lib/stat-time.h (get_stat_birthtime): New function for
60717           retrieving st_birthtime as provided by UFS2 (hence *BSD).
60718         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
60719           and its variants.
60720         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
60721         * modules/stat-time-test: New file.
60722         * tests/test-stat-time.c: New test, devised by Bruno Haible.
60723
60724 2007-03-26  Bruno Haible  <bruno@clisp.org>
60725
60726         Better support of signalling NaNs.
60727         * lib/atanl.c: Include isnanl.h.
60728         (atanl): Perform test for NaN at the beginning of the function and
60729         through a call to isnanl.
60730         * lib/cosl.c: Include isnanl.h.
60731         (cosl): Perform test for NaN at the beginning of the function and
60732         through a call to isnanl.
60733         * lib/ldexpl.c: Include isnanl.h.
60734         (ldexpl): Perform test for NaN through a call to isnanl.
60735         * lib/logl.c: Include isnanl.h.
60736         (logl): Perform test for NaN at the beginning of the function and
60737         through a call to isnanl.
60738         * lib/sinl.c: Include isnanl.h.
60739         (sinl): Perform test for NaN at the beginning of the function and
60740         through a call to isnanl.
60741         * lib/sqrtl.c: Include isnanl.h.
60742         (sqrtl): Perform test for NaN at the beginning of the function and
60743         through a call to isnanl.
60744         * lib/tanl.c: Include isnanl.h.
60745         (tanl): Perform test for NaN at the beginning of the function and
60746         through a call to isnanl.
60747         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
60748         * modules/mathl (Depends-on): Add isnanl.
60749
60750 2007-03-26  Eric Blake  <ebb9@byu.net>
60751
60752         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
60753         regression in logic sense of previous patch.
60754
60755 2007-03-26  Bruno Haible  <bruno@clisp.org>
60756
60757         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
60758         unportable shell command "if ! ...".
60759         Reported by Ralf Wildenhues.
60760
60761 2007-03-25  Bruno Haible  <bruno@clisp.org>
60762
60763         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
60764         <sysexits.h> file, and only add EX_CONFIG.
60765         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
60766         absolute file name and whether it is sufficient. Substitute also
60767         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
60768         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
60769         ABSOLUTE_SYSEXITS_H into sysexits.h.
60770
60771 2007-03-25  Bruno Haible  <bruno@clisp.org>
60772
60773         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
60774         hints is NULL.
60775
60776 2007-03-25  Bruno Haible  <bruno@clisp.org>
60777
60778         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
60779         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
60780
60781 2007-03-25  Bruno Haible  <bruno@clisp.org>
60782
60783         * lib/vasnprintf.c: Include langinfo.h.
60784         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
60785         multithread-safe.
60786         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
60787         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
60788         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
60789         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
60790         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
60791         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
60792         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
60793         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
60794         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
60795         Reported by Simon Josefsson.
60796
60797 2007-03-25  Bruno Haible  <bruno@clisp.org>
60798
60799         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
60800         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
60801         * modules/vasnprintf (Depends-on): Add stdint.
60802
60803 2007-03-25  Bruno Haible  <bruno@clisp.org>
60804
60805         * modules/fpieee: New file.
60806         * m4/fpieee.m4: New file.
60807         * modules/isnan-nolibm (Depends-on): Add fpieee.
60808         * modules/isnanl-nolibm (Depends-on): Add fpieee.
60809         * modules/isnanl (Depends-on): Add fpieee.
60810
60811 2007-03-25  Bruno Haible  <bruno@clisp.org>
60812
60813         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
60814
60815 2007-03-25  Bruno Haible  <bruno@clisp.org>
60816
60817         Avoid test failures on IRIX 6.5.
60818         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
60819         (main): Use it.
60820         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
60821         macros.
60822         (main): Use them.
60823
60824 2007-03-25  Bruno Haible  <bruno@clisp.org>
60825
60826         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
60827         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
60828         exists but doesn't work.
60829         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
60830         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
60831         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
60832         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
60833         math.h.
60834
60835 2007-03-25  Bruno Haible  <bruno@clisp.org>
60836
60837         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
60838         returns inf. Needed on IRIX 6.5.
60839
60840 2007-03-25  Bruno Haible  <bruno@clisp.org>
60841
60842         * tests/test-frexpl.c: Include isnanl-nolibm.h.
60843         (main): Use isnanl instead of x != x idiom.
60844         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
60845
60846         * tests/test-frexp.c: Include isnan.h.
60847         (main): Use isnan instead of x != x idiom.
60848         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
60849
60850 2007-03-25  Bruno Haible  <bruno@clisp.org>
60851
60852         * tests/test-frexp.c (NaN): New function/macro.
60853         (main): Use it instead of 0.0 / 0.0.
60854         * tests/test-isnan.c (NaN): New function/macro.
60855         (main): Use it instead of 0.0 / 0.0.
60856         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
60857         (test_function): Use it instead of 0.0 / 0.0.
60858         * tests/test-vasprintf-posix.c (NaN): New function/macro.
60859         (test_function): Use it instead of 0.0 / 0.0.
60860         * tests/test-snprintf-posix.h (NaN): New function/macro.
60861         (test_function): Use it instead of 0.0 / 0.0.
60862         * tests/test-sprintf-posix.h (NaN): New function/macro.
60863         (test_function): Use it instead of 0.0 / 0.0.
60864         * tests/test-fprintf-posix.h (NaN): New function/macro.
60865         (test_function): Use it instead of 0.0 / 0.0.
60866         * tests/test-printf-posix.h (NaN): New function/macro.
60867         (test_function): Use it instead of 0.0 / 0.0.
60868
60869         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
60870
60871 2007-03-25  Bruno Haible  <bruno@clisp.org>
60872
60873         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
60874
60875 2007-03-25  Bruno Haible  <bruno@clisp.org>
60876
60877         * lib/regexec.c (merge_state_with_log): Make static.
60878
60879 2007-03-25  Bruno Haible  <bruno@clisp.org>
60880
60881         * lib/trigl.c (kernel_rem_pio2): Make static.
60882
60883 2007-03-25  Bruno Haible  <bruno@clisp.org>
60884
60885         * lib/sincosl.c (sincosl_table): Make static.
60886
60887 2007-03-25  Bruno Haible  <bruno@clisp.org>
60888
60889         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
60890         if the compiler does not support C99.
60891
60892 2007-03-25  Bruno Haible  <bruno@clisp.org>
60893
60894         * modules/time (Makefile.am): Ensure all rule action lines start with a
60895         tab.
60896
60897 2007-03-24  Bruno Haible  <bruno@clisp.org>
60898
60899         * modules/tsearch-tests: New file.
60900         * tests/test-tsearch.sh: New file.
60901         * tests/test-tsearch.c: New file, mostly copied from glibc.
60902
60903         * modules/search-tests: New file.
60904         * tests/test-search.c: New file.
60905
60906         * modules/search: New file.
60907         * lib/search_.h: New file, incorporating lib/tsearch.h.
60908         * m4/search_h.m4: New file.
60909         * lib/tsearch.h: Remove file.
60910         * lib/tsearch.c: Include search.h instead of tsearch.h.
60911         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
60912         HAVE_TSEARCH.
60913         * modules/tsearch (Files): Remove lib/tsearch.h.
60914         (Depends-on): Add search.
60915         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
60916         (Include): Change tsearch.h into search.h.
60917
60918 2007-03-24  Bruno Haible  <bruno@clisp.org>
60919
60920         * modules/fpucw: New file.
60921         * lib/fpucw.h: New file.
60922         * lib/frexp.c: Include fpucw.h.
60923         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
60924         (FUNC): Use them.
60925         * lib/printf-frexp.c: Include fpucw.h.
60926         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
60927         (FUNC): Use them.
60928         * lib/vasnprintf.c: Include fpucw.h.
60929         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
60930         'long double' calculations.
60931         * tests/test-frexpl.c: Include fpucw.h.
60932         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
60933         * tests/test-printf-frexpl.c: Include fpucw.h.
60934         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
60935         * modules/frexpl (Depends-on): Add fpucw.
60936         * modules/printf-frexpl (Depends-on): Likewise.
60937         * modules/fprintf-posix (Depends-on): Likewise.
60938         * modules/snprintf-posix (Depends-on): Likewise.
60939         * modules/sprintf-posix (Depends-on): Likewise.
60940         * modules/vasnprintf-posix (Depends-on): Likewise.
60941         * modules/vasprintf-posix (Depends-on): Likewise.
60942         * modules/vfprintf-posix (Depends-on): Likewise.
60943         * modules/vsnprintf-posix (Depends-on): Likewise.
60944         * modules/vsprintf-posix (Depends-on): Likewise.
60945         * modules/frexpl-tests (Depends-on): Likewise.
60946         * modules/printf-frexpl-tests (Depends-on): Likewise.
60947
60948 2007-03-24  Bruno Haible  <bruno@clisp.org>
60949
60950         * lib/float+.h: New file.
60951         * lib/isnan.c: Include float+.h.
60952         (SIZE): New macro.
60953         (FUNC): Compare only SIZE bytes of the value.
60954         * lib/vasnprintf.c: Include float+.h.
60955         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
60956         SIZEOF_LDBL or SIZEOF_DBL bytes.
60957         * modules/isnan-nolibm (Files): Add lib/float+.h.
60958         * modules/isnanl-nolibm (Files): Add lib/float+.h.
60959         * modules/isnanl (Files): Add lib/float+.h.
60960         * modules/vasnprintf (Files): Add lib/float+.h.
60961
60962 2007-03-24  Bruno Haible  <bruno@clisp.org>
60963
60964         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
60965         include isnanl-nolibm.h.
60966
60967 2007-03-24  Bruno Haible  <bruno@clisp.org>
60968
60969         * tests/test-read-file.c (main): Don't produce spurious output for
60970         expected situations. Make the test fail if it encountered unexpected
60971         results.
60972
60973 2007-03-24  Bruno Haible  <bruno@clisp.org>
60974
60975         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
60976         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
60977
60978 2007-03-24  Bruno Haible  <bruno@clisp.org>
60979
60980         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
60981
60982 2007-03-24  Bruno Haible  <bruno@clisp.org>
60983
60984         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
60985         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
60986
60987         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
60988         * modules/utf8-ucs4: Turn into a symbolic link to module
60989         unistr/u8-mbtouc.
60990
60991         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
60992         utf8-ucs4-unsafe.
60993         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
60994         unistr/u8-mbtouc-unsafe.
60995
60996         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
60997         * modules/utf16-ucs4: Turn into a symbolic link to module
60998         unistr/u16-mbtouc.
60999
61000         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
61001         utf16-ucs4-unsafe.
61002         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
61003         unistr/u16-mbtouc-unsafe.
61004
61005         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
61006         * modules/ucs4-utf8: Turn into a symbolic link to module
61007         unistr/u8-ubtomb.
61008
61009         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
61010         * modules/ucs4-utf16: Turn into a symbolic link to module
61011         unistr/u16-ubtomb.
61012
61013 2007-03-24  Bruno Haible  <bruno@clisp.org>
61014
61015         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
61016         Enable the function only if HAVE_INLINE.
61017         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
61018         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
61019         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
61020         Enable the function only if HAVE_INLINE.
61021         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
61022         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
61023         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
61024         Enable the function only if HAVE_INLINE.
61025         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
61026         Enable the function only if HAVE_INLINE.
61027         * modules/utf8-ucs4: Update.
61028         * modules/utf8-ucs4-unsafe: Update.
61029         * modules/utf16-ucs4: Update.
61030         * modules/utf16-ucs4-unsafe: Update.
61031         * modules/ucs4-utf8: Update.
61032         * modules/ucs4-utf16: Update.
61033
61034 2007-03-24  Bruno Haible  <bruno@clisp.org>
61035
61036         * lib/utf8-ucs4.h: Remove file.
61037         * lib/utf8-ucs4-unsafe.h: Remove file.
61038         * lib/utf16-ucs4.h: Remove file.
61039         * lib/utf16-ucs4-unsafe.h: Remove file.
61040         * lib/ucs4-utf8.h: Remove file.
61041         * lib/ucs4-utf16.h: Remove file.
61042         * lib/unistr.h: Include their previous contents.
61043         * m4/utf-ucs4.m4: Remove file.
61044         * m4/ucs4-utf.m4: Remove file.
61045         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
61046         (Depends-on): Add unistr/base.
61047         (configure.ac): Remove gl_UTF_UCS4.
61048         (Makefile.am): Update.
61049         (Include): Change to unistr.h.
61050         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
61051         (Depends-on): Add unistr/base.
61052         (configure.ac): Remove gl_UTF_UCS4.
61053         (Makefile.am): Update.
61054         (Include): Change to unistr.h.
61055         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
61056         (Depends-on): Add unistr/base.
61057         (configure.ac): Remove gl_UTF_UCS4.
61058         (Makefile.am): Update.
61059         (Include): Change to unistr.h.
61060         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
61061         (Depends-on): Add unistr/base.
61062         (configure.ac): Remove gl_UTF_UCS4.
61063         (Makefile.am): Update.
61064         (Include): Change to unistr.h.
61065         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
61066         (Depends-on): Add unistr/base.
61067         (configure.ac): Remove gl_UCS4_UTF.
61068         (Makefile.am): Update.
61069         (Include): Change to unistr.h.
61070         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
61071         (Depends-on): Add unistr/base.
61072         (configure.ac): Remove gl_UCS4_UTF.
61073         (Makefile.am): Update.
61074         (Include): Change to unistr.h.
61075         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
61076         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
61077         utf8-ucs4-unsafe.h.
61078         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
61079         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
61080         utf16-ucs4-unsafe.h.
61081         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
61082         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
61083         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
61084         * lib/unistr/u8-strchr.c: Likewise.
61085         * lib/unistr/u8-strrchr.c: Likewise.
61086         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
61087         * lib/unistr/u16-strchr.c: Likewise.
61088         * lib/unistr/u16-strrchr.c: Likewise.
61089         * lib/striconveh.c: Update.
61090         * lib/linebreak.c: Update.
61091
61092 2007-03-24  Bruno Haible  <bruno@clisp.org>
61093
61094         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
61095         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
61096
61097 2007-03-22  Bruno Haible  <bruno@clisp.org>
61098
61099         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
61100
61101 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
61102
61103         * MODULES.html.sh (File system functions): New module write-any-file.
61104         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
61105         * m4/write-any-file.m4: New files.
61106
61107 2007-03-23  Eric Blake  <ebb9@byu.net>
61108
61109         * gnulib-tool: Rearrange space-tab sequences, since some editors
61110         like to eat them.
61111
61112 2007-03-23  Eric Blake  <ebb9@byu.net>
61113
61114         * lib/version-etc.c (version_etc_va): Update license wording to
61115         be more concise.  Recommended by Richard Stallman.
61116
61117 2007-03-22  Bruno Haible  <bruno@clisp.org>
61118
61119         * lib/poll.c (MSG_PEEK): New fallback definition.
61120
61121 2007-03-22  Bruno Haible  <bruno@clisp.org>
61122
61123         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
61124         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
61125         (main): Update.
61126         Fixes a compilation error on BeOS.
61127
61128 2007-03-22  Bruno Haible  <bruno@clisp.org>
61129
61130         * modules/frexpl-tests: New file.
61131         * tests/test-frexpl.c: New file.
61132
61133         * modules/frexpl: New file.
61134         * m4/frexpl.m4: New file.
61135         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
61136         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
61137         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
61138         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
61139         (Depends-on): Add frexpl. Remove isnanl-nolibm.
61140         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
61141
61142 2007-03-22  Bruno Haible  <bruno@clisp.org>
61143
61144         * lib/frexpl.c: Share code with lib/frexp.c.
61145         * modules/mathl (Files): Add lib/frexp.c.
61146         (Depends-on): Add isnanl-nolibm.
61147
61148 2007-03-22  Bruno Haible  <bruno@clisp.org>
61149
61150         * modules/printf-frexp (Files): Add m4/frexp.m4.
61151         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
61152         only if the found frexp function actually works.
61153
61154 2007-03-22  Bruno Haible  <bruno@clisp.org>
61155
61156         * lib/frexp.c: Remove older implementation that uses divisions.
61157
61158 2007-03-21  Bruno Haible  <bruno@clisp.org>
61159
61160         * modules/frexp-tests: New file.
61161         * tests/test-frexp.c: New file.
61162
61163         * modules/frexp: New file.
61164         * lib/frexp.c: New file.
61165         * m4/frexp.m4: New file.
61166         * lib/math_.h (frexp): New declaration.
61167         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
61168         REPLACE_FREXP.
61169         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
61170
61171 2007-03-21  Bruno Haible  <bruno@clisp.org>
61172
61173         * modules/isnanl-tests: New file.
61174         * tests/test-isnanl.c: New file.
61175
61176         * modules/isnanl: New file.
61177         * lib/isnanl.h: New file.
61178         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
61179         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
61180         gl_FUNC_ISNANL_WORKS.
61181         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
61182         New macros.
61183
61184 2007-03-21  Bruno Haible  <bruno@clisp.org>
61185
61186         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
61187         lib/isnanl.h.
61188         (Include): Update.
61189         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
61190         * lib/vasnprintf.c: Update.
61191         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
61192         tests/test-isnanl.h, remove tests/test-isnanl.c.
61193         (Makefile.am): Update.
61194         * tests/test-isnanl-nolibm.c: New file.
61195         * tests/test-isnanl.h: New file.
61196         * tests/test-isnanl.c: Remove file.
61197
61198 2007-03-21  Jim Meyering  <jim@meyering.net>
61199
61200         When trying to open ".", treat ESTALE like EACCES.
61201         * lib/savewd.c (savewd_save): Resort to forking not just upon
61202         failure with EACCES, but also when errno is ESTALE.
61203
61204 2007-03-20  Bruno Haible  <bruno@clisp.org>
61205
61206         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
61207         Needed on AIX 5.1. Reported by Matthew Woehlke.
61208
61209 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
61210
61211         Suggestions by Bruno Haible:
61212         * lib/acl-internal.h: Include "gettext.h" rather than rolling
61213         our own.
61214         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
61215         * modules/acl (Depends-on): Add gettext.
61216
61217 2007-03-19  Bruno Haible  <bruno@clisp.org>
61218
61219         * modules/iconvme: Remove file.
61220         * lib/iconvme.h: Remove file.
61221         * lib/iconvme.c: Remove file.
61222         * m4/iconvme.m4: Remove file.
61223
61224 2007-03-19  Bruno Haible  <bruno@clisp.org>
61225
61226         * doc/relocatable-maint.texi: Break long shell script line.
61227         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
61228
61229 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
61230
61231         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
61232         handle file_has_acl.
61233         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
61234         * lib/acl.c: Move header inclusions and related macro defns into
61235         lib/acl-internal.h.
61236         (S_ISLNK): Remove defn, since that's now done for us.
61237         (file_has_acl): Move to lib/file-has-acl.c.
61238         Call acl_trivial if available.  This is the crucial part of the fix.
61239         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
61240         shared within the library.  Rewrite a bit, partly to make it compatible
61241         with the GNU coding style.
61242         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
61243         Remove unnecessary double-quotes.
61244         Don't test for acl_to_text; the build will catch that.
61245         Replace acl_entries if it doesn't exist and it is needed.
61246         Check for -lsec and acl_trivial (as used on Solaris 10).
61247         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
61248         lib/file-has-acl.c.
61249         (Depends-on): Add sys_stat, for S_ISLNK.
61250
61251 2007-03-19  Ben Pfaff  <blp@gnu.org>
61252
61253         * doc/gnulib.texi: Fix typos.
61254         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
61255
61256 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
61257
61258         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
61259         If size is zero here, buf must be zero.
61260
61261 2007-03-19  Simon Josefsson  <simon@josefsson.org>
61262
61263         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
61264         <bruno@clisp.org>.
61265
61266 2007-03-18  Bruno Haible  <bruno@clisp.org>
61267
61268         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
61269         Suggested by Eric Blake.
61270
61271 2007-03-18  Ben Pfaff  <blp@gnu.org>
61272
61273         * doc/relocatable.texi: Recommend using as prefix a directory
61274         that does not exist and will never be created.  Based on
61275         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
61276         and others.
61277
61278 2007-03-17  Bruno Haible  <bruno@clisp.org>
61279
61280         * lib/fchownat.c: Include lchown.h.
61281
61282 2007-03-17  Bruno Haible  <bruno@clisp.org>
61283
61284         Fix endless loop when the given allocated size was > INT_MAX.
61285         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
61286         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
61287         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
61288         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
61289         * lib/sprintf.c (sprintf): Likewise.
61290
61291 2007-03-17  Bruno Haible  <bruno@clisp.org>
61292
61293         * tests/test-argp-2.sh (func_compare): Output a context diff.
61294
61295 2007-03-17  Bruno Haible  <bruno@clisp.org>
61296
61297         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
61298         locale's decimal-point character.
61299
61300 2007-03-17  Bruno Haible  <bruno@clisp.org>
61301
61302         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
61303         before comparing it. Needed because on some platforms (e.g. x86) a
61304         'long double' occupies less bytes than sizeof (long double).
61305
61306 2007-03-17  Bruno Haible  <bruno@clisp.org>
61307
61308         * tests/test-crc.c (main): Make printf statements 64-bit clean.
61309         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
61310         * tests/test-getaddrinfo.c (simple): Likewise.
61311         * tests/test-read-file.c (main): Likewise.
61312
61313 2007-03-17  Bruno Haible  <bruno@clisp.org>
61314
61315         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
61316
61317 2007-03-17  Bruno Haible  <bruno@clisp.org>
61318
61319         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
61320         unused variable.
61321
61322 2007-03-17  Bruno Haible  <bruno@clisp.org>
61323
61324         * tests/test-c-strcasecmp.c: Include c-strcase.h.
61325         * tests/test-c-strncasecmp.c: Likewise.
61326
61327 2007-03-17  Bruno Haible  <bruno@clisp.org>
61328
61329         * modules/stdlib (Depends-on): Add unistd.
61330         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
61331         Needed for MacOS X 10.3.
61332
61333 2007-03-17  Bruno Haible  <bruno@clisp.org>
61334
61335         * lib/unistr/u-strdup.h: Include <stdlib.h>.
61336
61337 2007-03-17  Bruno Haible  <bruno@clisp.org>
61338
61339         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
61340
61341 2007-03-17  Bruno Haible  <bruno@clisp.org>
61342
61343         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
61344         to reflect files copied from gnulib (with or without modifications).
61345         Suggested by Jim Meyering.
61346
61347 2007-03-17  Eric Blake  <ebb9@byu.net>
61348
61349         * NEWS: Document stdlib change from 2007-02-18.
61350
61351 2007-03-17  Jim Meyering  <jim@meyering.net>
61352
61353         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
61354         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
61355         someone uses a name containing shell meta-characters.
61356         Reported by Alfred M. Szmidt.
61357
61358         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
61359
61360 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
61361
61362         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
61363         and copy gettext configuration files only if configure.ac contains
61364         a use of AM_GNU_GETTEXT_VERSION.
61365
61366 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
61367
61368         * build-aux/bootstrap (gnulib_name): New variable.
61369         (gnulib_tool_options): Use it.
61370
61371 2007-03-13  Simon Josefsson  <simon@josefsson.org>
61372
61373         * tests/test-des.c: Use new namespace.
61374
61375 2007-03-15  Bruno Haible  <bruno@clisp.org>
61376
61377         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
61378         Reported by James Youngman <jay@gnu.org>.
61379
61380 2007-03-15  Bruno Haible  <bruno@clisp.org>
61381
61382         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
61383         declared prototype. Needed with cc on OSF/1 5.1.
61384
61385 2007-03-15  Bruno Haible  <bruno@clisp.org>
61386
61387         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
61388         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
61389         (struct gl_list_implementation): Add dispose_fn argument to the
61390         'create_empty', 'create' methods.
61391         (struct gl_list_impl_base): Add field 'dispose_fn'.
61392         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
61393         argument.
61394         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
61395         dispose_fn argument.
61396         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
61397         dispose_fn on the dropped values.
61398         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
61399         dispose_fn argument.
61400         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
61401         dropped values.
61402         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
61403         (gl_tree_remove_node): Call dispose_fn on the dropped value.
61404         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
61405         (gl_tree_remove_node): Call dispose_fn on the dropped value.
61406         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
61407         argument.
61408         (gl_tree_list_free): Call dispose_fn on the dropped values.
61409         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
61410         the dropped values.
61411         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
61412         Add dispose_fn argument.
61413         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
61414         Call dispose_fn on the dropped values.
61415         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
61416         Add dispose_fn argument.
61417         (gl_sublist_create): Initialize the 'dispose_fn' field.
61418         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
61419         * tests/test-array_list.c (main): Update.
61420         * tests/test-carray_list.c (main): Update.
61421         * tests/test-avltree_list.c (main): Update.
61422         * tests/test-rbtree_list.c (main): Update.
61423         * tests/test-avltreehash_list.c (main): Update.
61424         * tests/test-rbtreehash_list.c (main): Update.
61425         * tests/test-linked_list.c (main): Update.
61426         * tests/test-linkedhash_list.c (main): Update.
61427         * tests/test-array_oset.c (main): Update.
61428
61429 2007-03-15  Bruno Haible  <bruno@clisp.org>
61430
61431         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
61432         (gl_oset_create_empty): Add dispose_fn argument.
61433         (struct gl_oset_implementation): Add dispose_fn argument to
61434         'create_empty' method.
61435         (struct gl_oset_impl_base): Add dispose_fn field.
61436         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
61437         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
61438         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
61439         values.
61440         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
61441         (gl_tree_oset_free): Call dispose_fn on the dropped values.
61442         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
61443         dropped value.
61444         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
61445         dropped value.
61446         * tests/test-array_oset.c (main): Update.
61447         * tests/test-avltree_oset.c (main): Update.
61448         * tests/test-rbtree_oset.c (main): Update.
61449         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
61450
61451 2007-03-13  Bruno Haible  <bruno@clisp.org>
61452
61453         * tests/test-stdbool.c (i): Update after last patch.
61454
61455 2007-03-12  Bruno Haible  <bruno@clisp.org>
61456
61457         * lib/quotearg.c: Include <wctype.h> early, before the definition of
61458         the iswprint macro. Needed on Solaris 2.5.1.
61459
61460 2007-03-12  Bruno Haible  <bruno@clisp.org>
61461
61462         * tests/test-printf-frexp.c (main): Declare x as volatile.
61463
61464 2007-03-12  Simon Josefsson  <simon@josefsson.org>
61465
61466         * doc/gnulib.texi (Build robot for gnulib): New section.
61467
61468 2007-03-12  Jim Meyering  <jim@meyering.net>
61469
61470         * build-aux/bootstrap: New file.
61471         * build-aux/bootstrap.conf: New file, from coreutils.
61472
61473 2007-03-11  Bruno Haible  <bruno@clisp.org>
61474
61475         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
61476
61477 2007-03-12  Simon Josefsson  <simon@josefsson.org>
61478
61479         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
61480         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
61481         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
61482
61483 2007-03-11  Bruno Haible  <bruno@clisp.org>
61484
61485         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
61486         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
61487
61488 2007-03-11  Bruno Haible  <bruno@clisp.org>
61489
61490         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
61491         formula. Needed for SunPRO C 5.0.
61492
61493 2007-03-11  Bruno Haible  <bruno@clisp.org>
61494
61495         * modules/long-options (Depends-on): Add getopt.
61496
61497 2007-03-11  Bruno Haible  <bruno@clisp.org>
61498
61499         * modules/modechange (Depends-on): Add stdbool.
61500
61501 2007-03-11  Bruno Haible  <bruno@clisp.org>
61502
61503         * modules/i-ring (Depends-on): Add stdbool.
61504
61505 2007-03-11  Bruno Haible  <bruno@clisp.org>
61506
61507         * modules/gc-des (Depends-on): Add stdbool.
61508
61509 2007-03-11  Bruno Haible  <bruno@clisp.org>
61510
61511         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
61512
61513 2007-03-11  Bruno Haible  <bruno@clisp.org>
61514
61515         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
61516
61517 2007-03-11  Bruno Haible  <bruno@clisp.org>
61518
61519         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
61520
61521 2007-03-11  Bruno Haible  <bruno@clisp.org>
61522
61523         * lib/vasnprintf.c (sprintf): Undefine.
61524
61525 2007-03-11  Bruno Haible  <bruno@clisp.org>
61526
61527         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
61528         initializers in SunPRO C and Compaq C compilers.
61529
61530 2007-03-11  Bruno Haible  <bruno@clisp.org>
61531
61532         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
61533         decrementing code ANSI C compliant.
61534
61535 2007-03-11  Bruno Haible  <bruno@clisp.org>
61536
61537         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
61538         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
61539
61540 2007-03-11  Bruno Haible  <bruno@clisp.org>
61541
61542         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
61543         <stdbool.h> substitute doesn't pass.
61544
61545 2007-03-11  Bruno Haible  <bruno@clisp.org>
61546
61547         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
61548
61549 2007-03-11  Bruno Haible  <bruno@clisp.org>
61550
61551         * gnulib-tool (func_create_megatestdir): Create also an autobuild
61552         script, for submission to autobuild.josefsson.org.
61553
61554 2007-03-10  Bruno Haible  <bruno@clisp.org>
61555
61556         * modules/canonicalize-lgpl-tests: New file.
61557         * tests/test-canonicalize-lgpl.sh: New file.
61558         * tests/test-canonicalize-lgpl.c: New file.
61559
61560         * modules/c-strcase-tests: New file.
61561         * tests/test-c-strcase.sh: New file.
61562         * tests/test-c-strcasecmp.c: New file.
61563         * tests/test-c-strncasecmp.c: New file.
61564
61565         * modules/atexit-tests: New file.
61566         * tests/test-atexit.sh: New file.
61567         * tests/test-atexit.c: New file.
61568
61569 2007-03-10  Bruno Haible  <bruno@clisp.org>
61570
61571         * tests/test-binary-io.sh: Use temporary filenames that are not so
61572         likely to clash with those of other tests (in a parallel make).
61573         * tests/test-binary-io.c: Likewise.
61574
61575 2007-03-10  Bruno Haible  <bruno@clisp.org>
61576
61577         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
61578         fallback; use #error instead.
61579         Suggested by Simon Josefsson.
61580
61581 2007-03-10  Bruno Haible  <bruno@clisp.org>
61582
61583         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
61584         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
61585         first and the last.
61586
61587 2007-03-10  Bruno Haible  <bruno@clisp.org>
61588
61589         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
61590
61591 2007-03-10  Bruno Haible  <bruno@clisp.org>
61592
61593         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
61594         "make distcheck".
61595         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
61596         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
61597         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
61598
61599 2007-03-10  Bruno Haible  <bruno@clisp.org>
61600
61601         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
61602         variable.
61603         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
61604         variable.
61605
61606 2007-03-09  Eric Blake  <ebb9@byu.net>
61607         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
61608
61609         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
61610         types are not being provided by gnulib.
61611         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
61612         types are supported.
61613
61614 2007-03-10  Bruno Haible  <bruno@clisp.org>
61615
61616         * lib/stdio_.h (__attribute__): New macro.
61617         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
61618         vsprintf): Specify __attribute__ __format__ for GCC.
61619         Suggested by Eric Blake.
61620
61621 2007-03-09  Bruno Haible  <bruno@clisp.org>
61622
61623         * modules/printf-posix-tests: New file.
61624         * tests/test-printf-posix.sh: New file.
61625         * tests/test-printf-posix.c: New file.
61626
61627         * modules/printf-posix: New file.
61628         * lib/printf.c: New file.
61629         * m4/printf-posix-rpl.m4: New file.
61630         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
61631         REPLACE_PRINTF.
61632         * lib/stdio_.h (printf): New declaration.
61633         (format, __format__, ____printf____, ____scanf____, ____strftime____,
61634         ____strfmon____): New macros.
61635         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
61636         REPLACE_PRINTF.
61637
61638 2007-03-09  Bruno Haible  <bruno@clisp.org>
61639
61640         * tests/test-vasnprintf-posix2.sh: New file.
61641         * tests/test-vasnprintf-posix2.c: New file.
61642         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
61643         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
61644         (Makefile.am): Activate test-vasnprintf-posix2.sh.
61645
61646         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
61647         a locale dependent decimal point, rather than always '.'.
61648
61649 2007-03-09  Eric Blake  <ebb9@byu.net>
61650
61651         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
61652         spite of platforms like Tandem/NSK that define it to -1.
61653
61654 2007-03-08  Bruno Haible  <bruno@clisp.org>
61655
61656         * modules/vprintf-posix-tests: New file.
61657         * tests/test-vprintf-posix.sh: New file.
61658         * tests/test-vprintf-posix.c: New file.
61659         * tests/test-printf-posix.h: New file.
61660
61661         * modules/vprintf-posix: New file.
61662         * lib/vprintf.c: New file.
61663         * m4/vprintf-posix.m4: New file.
61664         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
61665         REPLACE_VPRINTF.
61666         * lib/stdio_.h (vprintf): New declaration.
61667         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
61668         REPLACE_VPRINTF.
61669
61670 2007-03-08  Bruno Haible  <bruno@clisp.org>
61671
61672         * modules/fprintf-posix-tests: New file.
61673         * tests/test-fprintf-posix.sh: New file.
61674         * tests/test-fprintf-posix.c: New file.
61675
61676         * modules/fprintf-posix: New file.
61677         * lib/fprintf.c: New file.
61678         * m4/fprintf-posix.m4: New file.
61679         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
61680         REPLACE_FPRINTF.
61681         * lib/stdio_.h (fprintf): New declaration.
61682         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
61683         REPLACE_FPRINTF.
61684
61685 2007-03-08  Bruno Haible  <bruno@clisp.org>
61686
61687         * modules/vfprintf-posix-tests: New file.
61688         * tests/test-vfprintf-posix.sh: New file.
61689         * tests/test-vfprintf-posix.c: New file.
61690         * tests/test-fprintf-posix.h: New file.
61691         * tests/test-fprintf-posix.out: New file.
61692
61693         * modules/vfprintf-posix: New file.
61694         * lib/vfprintf.c: New file.
61695         * m4/vfprintf-posix.m4: New file.
61696         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
61697         REPLACE_VFPRINTF.
61698         * lib/stdio_.h (vfprintf): New declaration.
61699         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
61700         REPLACE_VFPRINTF.
61701
61702 2007-03-08  Bruno Haible  <bruno@clisp.org>
61703
61704         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
61705
61706 2007-03-08  Bruno Haible  <bruno@clisp.org>
61707
61708         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
61709         instead of 'expr' invocations.
61710         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61711         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61712         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61713         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61714         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61715         Suggested by Paul Eggert.
61716
61717 2007-03-08  Bruno Haible  <bruno@clisp.org>
61718
61719         * modules/fseterr-tests: New file.
61720         * tests/test-fseterr.c: New file.
61721
61722         * modules/fseterr: New file.
61723         * lib/fseterr.h: New file.
61724         * lib/fseterr.c: New file.
61725
61726 2007-03-08  Bruno Haible  <bruno@clisp.org>
61727
61728         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
61729         * lib/getopt_.h: Likewise.
61730         * lib/mbswidth.h: Likewise.
61731         * lib/setenv.h: Likewise.
61732         * lib/vasnprintf.h: Likewise.
61733         * lib/vasprintf.h: Likewise.
61734         * lib/verror.h: Likewise.
61735         * lib/xsetenv.h: Likewise.
61736         * lib/xvasprintf.h: Likewise.
61737
61738 2007-03-08  Jim Meyering  <jim@meyering.net>
61739
61740         * users.txt: Add parted.
61741
61742         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
61743
61744 2007-03-07  Bruno Haible  <bruno@clisp.org>
61745
61746         * m4/printf.m4: Make the shell script snippets copy&pastable.
61747
61748 2007-03-02  Bruno Haible  <bruno@clisp.org>
61749
61750         * lib/netinet_in_.h: New file.
61751         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
61752         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
61753         * modules/netinet_in (Files): Add lib/netinet_in_.h.
61754         (Depends-on): Add absolute-header.
61755         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
61756         into netinet/in.h.
61757
61758 2007-03-03  Bruno Haible  <bruno@clisp.org>
61759
61760         * lib/sys_select_.h: New file.
61761         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
61762         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
61763         * modules/sys_select (Files): Add lib/sys_select_.h.
61764         (Depends-on): Add absolute-header.
61765         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
61766         into sys/select.h.
61767
61768 2007-03-02  Bruno Haible  <bruno@clisp.org>
61769
61770         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
61771         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
61772         values.
61773         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
61774         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
61775         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
61776         * modules/sys_socket (Depends-on): Add absolute-header.
61777         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
61778         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
61779         (Include): Remove requirement of inclusion of <sys/types.h>.
61780
61781 2007-03-02  Bruno Haible  <bruno@clisp.org>
61782
61783         * lib/byteswap_.h (bswap_32): Fix formula.
61784
61785 2007-03-06  Bruno Haible  <bruno@clisp.org>
61786
61787         * modules/sprintf-posix-tests: New file.
61788         * tests/test-sprintf-posix.c: New file.
61789
61790         * modules/sprintf-posix: New file.
61791         * lib/sprintf.c: New file.
61792         * m4/sprintf-posix.m4: New file.
61793         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
61794         REPLACE_SPRINTF.
61795         * lib/stdio_.h (sprintf): New declaration.
61796         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
61797         REPLACE_SPRINTF.
61798
61799 2007-03-06  Bruno Haible  <bruno@clisp.org>
61800
61801         * modules/vsprintf-posix-tests: New file.
61802         * tests/test-vsprintf-posix.c: New file.
61803         * tests/test-sprintf-posix.h: New file.
61804
61805         * modules/vsprintf-posix: New file.
61806         * lib/vsprintf.c: New file.
61807         * m4/vsprintf-posix.m4: New file.
61808         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
61809         REPLACE_VSPRINTF.
61810         * lib/stdio_.h (vsprintf): New declaration.
61811         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
61812         REPLACE_VSPRINTF.
61813
61814 2007-03-06  Bruno Haible  <bruno@clisp.org>
61815
61816         * modules/vsnprintf (Depend-on): Remove minmax.
61817
61818 2007-03-06  Bruno Haible  <bruno@clisp.org>
61819
61820         * modules/snprintf-posix-tests: New file.
61821         * tests/test-snprintf-posix.c: New file.
61822
61823         * modules/snprintf-posix: New file.
61824         * m4/snprintf-posix.m4: New file.
61825         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
61826         gl_FUNC_SNPRINTF.
61827         (gl_FUNC_SNPRINTF): Invoke it.
61828         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
61829         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
61830         is set.
61831         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
61832
61833 2007-03-06  Bruno Haible  <bruno@clisp.org>
61834
61835         * modules/vsnprintf-posix-tests: New file.
61836         * tests/test-vsnprintf-posix.c: New file.
61837         * tests/test-snprintf-posix.h: New file.
61838
61839         * modules/vsnprintf-posix: New file.
61840         * m4/vsnprintf-posix.m4: New file.
61841         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
61842         gl_FUNC_VSNPRINTF.
61843         (gl_FUNC_VSNPRINTF): Invoke it.
61844         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
61845         * lib/stdio_.h (vsnprintf): Define as a replacement if
61846         REPLACE_VSNPRINTF is set.
61847         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
61848
61849 2007-03-06  Bruno Haible  <bruno@clisp.org>
61850
61851         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
61852         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
61853
61854 2007-03-06  Bruno Haible  <bruno@clisp.org>
61855
61856         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
61857         (asinl): Declare also if HAVE_DECL_ASINL is set.
61858         (atanl): Declare also if HAVE_DECL_ATANL is set.
61859         (ceill): Declare also if HAVE_DECL_CEILL is set.
61860         (cosl): Declare also if HAVE_DECL_COSL is set.
61861         (expl): Declare also if HAVE_DECL_EXPL is set.
61862         (floorl): Declare also if HAVE_DECL_FLOORL is set.
61863         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
61864         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
61865         (logl): Declare also if HAVE_DECL_LOGL is set.
61866         (sinl): Declare also if HAVE_DECL_SINL is set.
61867         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
61868         (tanl): Declare also if HAVE_DECL_TANL is set.
61869         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
61870         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
61871         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
61872         declaration of frexpl, ldexpl.
61873         * modules/printf-frexpl (Depends-on): Add math.
61874         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
61875
61876 2007-03-05  Bruno Haible  <bruno@clisp.org>
61877
61878         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
61879         frexpl and ldexpl are declared.
61880         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
61881
61882 2007-03-05  Bruno Haible  <bruno@clisp.org>
61883
61884         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
61885         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
61886
61887 2007-03-05  Bruno Haible  <bruno@clisp.org>
61888
61889         * lib/stdio_.h: Include <stddef.h>.
61890
61891 2007-03-05  Bruno Haible  <bruno@clisp.org>
61892
61893         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
61894
61895 2007-03-05  Bruno Haible  <bruno@clisp.org>
61896
61897         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
61898         NetBSD 4, from Ralf Wildenhues.
61899
61900 2007-03-04  Bruno Haible  <bruno@clisp.org>
61901
61902         * lib/vasprintf.h: Update #if logic for the case when the functions
61903         exist but are overridden.
61904
61905 2007-03-04  Bruno Haible  <bruno@clisp.org>
61906
61907         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
61908         implementations: glibc-2.4 and MacOS X 10.3.
61909         * tests/test-vasnprintf-posix.c (test_function): Test also the case
61910         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
61911         * tests/test-vasprintf-posix.c (test_function): Likewise.
61912
61913 2007-03-04  Bruno Haible  <bruno@clisp.org>
61914
61915         * modules/vasprintf-posix-tests: New file.
61916         * tests/test-vasprintf-posix.c: New file.
61917
61918         * modules/vasprintf-posix: New file.
61919         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
61920         defined.
61921         * m4/vasprintf-posix.m4: New file.
61922         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
61923         gl_FUNC_VASPRINTF.
61924         (gl_FUNC_VASPRINTF): Invoke it.
61925         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
61926         here.
61927         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
61928
61929 2007-03-04  Bruno Haible  <bruno@clisp.org>
61930
61931         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
61932         REPLACE_GETTIMEOFDAY.
61933         * modules/sys_time (Makefile.am): Likewise.
61934         * m4/sys_time_h.m4: Likewise.
61935         * m4/gettimeofday.m4: Likewise.
61936
61937 2007-03-04  Bruno Haible  <bruno@clisp.org>
61938
61939         * modules/vasnprintf-posix-tests: New file.
61940         * tests/test-vasnprintf-posix.c: New file.
61941
61942         * modules/vasnprintf-posix: New file.
61943         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
61944         printf-frexpl.h.
61945         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
61946         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
61947         REPLACE_VASNPRINTF is defined.
61948         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
61949         gl_FUNC_VASNPRINTF.
61950         (gl_FUNC_VASNPRINTF): Invoke it.
61951         * m4/vasnprintf-posix.m4: New file.
61952         * m4/printf.m4: New file.
61953
61954 2007-03-04  Bruno Haible  <bruno@clisp.org>
61955
61956         Compile progreloc.c only if --enable-relocatable is specified.
61957         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
61958         if --enable-relocatable was specified.
61959         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
61960         lib_SOURCES.
61961
61962 2007-03-04  Jim Meyering  <jim@meyering.net>
61963
61964         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
61965         Use it consistently, rather than enumerating errno constants.
61966
61967 2007-03-04  Bruno Haible  <bruno@clisp.org>
61968
61969         * modules/xvasprintf-tests: New file.
61970         * tests/test-xvasprintf.c: New file.
61971
61972         * modules/vasprintf-tests: New file.
61973         * tests/test-vasprintf.c: New file.
61974
61975         * modules/vasnprintf-tests: New file.
61976         * tests/test-vasnprintf.c: New file.
61977
61978         * modules/vsnprintf-tests: New file.
61979         * tests/test-vsnprintf.c: New file.
61980
61981         * modules/snprintf-tests: New file.
61982         * tests/test-snprintf.c: New file.
61983
61984 2007-03-04  Bruno Haible  <bruno@clisp.org>
61985
61986         Compile relocatable.c only if --enable-relocatable is specified.
61987         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
61988         gl_RELOCATABLE_LIBRARY.
61989         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
61990         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
61991         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
61992         gl_RELOCATABLE_LIBRARY.
61993         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
61994         (Makefile.am): Remove lib_SOURCES.
61995         * modules/relocatable-lib-lgpl (configure.ac): Invoke
61996         gl_RELOCATABLE_LIBRARY.
61997         (Makefile.am): Remove lib_SOURCES.
61998         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
61999         always.
62000         * modules/relocatable-prog-wrapper (configure.ac): Invoke
62001         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
62002
62003 2007-03-04  Bruno Haible  <bruno@clisp.org>
62004
62005         * modules/argmatch-tests: New file.
62006         * tests/test-argmatch.c: New file.
62007
62008         * tests/test-allocsa.c (main): Halve the number of loop runs.
62009
62010         * modules/alloca-opt-tests: New file.
62011         * tests/test-alloca-opt.c: New file.
62012
62013 2007-03-04  Jim Meyering  <jim@meyering.net>
62014
62015         Work around difference between Linux ACLs and Solaris 10 ZFS.
62016         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
62017         for EINVAL.
62018
62019 2007-03-03  Bruno Haible  <bruno@clisp.org>
62020
62021         * modules/relocatable-prog (Depends-on): Add back progreloc's
62022         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
62023
62024 2007-03-03  Bruno Haible  <bruno@clisp.org>
62025
62026         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
62027         * modules/relocatable-lib: New file.
62028
62029 2007-03-03  Bruno Haible  <bruno@clisp.org>
62030
62031         * modules/relocatable-prog: Renamed from modules/relocatable.
62032         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
62033
62034 2007-03-03  Bruno Haible  <bruno@clisp.org>
62035
62036         * modules/relocatable-script (Files): Add doc/relocatable.texi,
62037         m4/relocatable-lib.m4.
62038         (Depends-on): Remove 'relocatable'.
62039         (configure.ac): Add gl_RELOCATABLE_NOP.
62040
62041 2007-03-03  Bruno Haible  <bruno@clisp.org>
62042
62043         * modules/relocatable-prog-wrapper: New file.
62044         * modules/relocatable (Depends-on): Add it. Remove all other
62045         dependencies except progname.
62046         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
62047
62048         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
62049         (gl_FUNC_STRERROR): Nop.
62050         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
62051
62052         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
62053         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
62054
62055         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
62056         (gl_FUNC_READLINK): Update.
62057
62058         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
62059
62060 2007-03-03  Bruno Haible  <bruno@clisp.org>
62061
62062         * lib/xreadlink.c: Include <unistd.h> unconditionally.
62063         * modules/xreadlink (Depends-on): Add unistd.
62064         * modules/xreadlink-with-size (Depends-on): Likewise.
62065
62066 2007-03-03  Bruno Haible  <bruno@clisp.org>
62067
62068         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
62069         extracted from gt_FUNC_SETENV.
62070         (gt_FUNC_SETENV): Remove macro.
62071         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
62072         remove gt_FUNC_SETENV.
62073
62074 2007-03-03  Bruno Haible  <bruno@clisp.org>
62075
62076         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
62077         ENABLE_RELOCATABLE here.
62078         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
62079
62080 2007-03-03  Bruno Haible  <bruno@clisp.org>
62081
62082         * modules/rbtreehash-list-tests (Depends-on): Add progname.
62083         * tests/test-rbtreehash_list.c: Include progname.h.
62084         (main): Call set_program_name.
62085
62086         * modules/rbtree-oset-tests (Depends-on): Add progname.
62087         * tests/test-rbtree_oset.c: Include progname.h.
62088         (main): Call set_program_name.
62089
62090         * modules/rbtree-list-tests (Depends-on): Add progname.
62091         * tests/test-rbtree_list.c: Include progname.h.
62092         (main): Call set_program_name.
62093
62094         * modules/linked-list-tests (Depends-on): Add progname.
62095         * tests/test-linked_list.c: Include progname.h.
62096         (main): Call set_program_name.
62097
62098 2007-03-03  Bruno Haible  <bruno@clisp.org>
62099
62100         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
62101         All uses of __restrict changed to _Restrict_.
62102         * lib/glob_.h (__restrict): Remove macro.
62103
62104 2007-03-02  Bruno Haible  <bruno@clisp.org>
62105
62106         * modules/gettext (configure.ac): Require gettext infrastructure
62107         from version 0.16.1.
62108
62109 2007-03-02  Bruno Haible  <bruno@clisp.org>
62110
62111         * modules/linkedhash-list-tests (Depends-on): Add progname.
62112         * tests/test-linkedhash_list.c: Include progname.h.
62113         (main): Call set_program_name.
62114
62115         * modules/carray-list-tests (Depends-on): Add progname.
62116         * tests/test-carray_list.c: Include progname.h.
62117         (main): Call set_program_name.
62118
62119         * modules/avltreehash-list-tests (Depends-on): Add progname.
62120         * tests/test-avltreehash_list.c: Include progname.h.
62121         (main): Call set_program_name.
62122
62123         * modules/avltree-oset-tests (Depends-on): Add progname.
62124         * tests/test-avltree_oset.c: Include progname.h.
62125         (main): Call set_program_name.
62126
62127         * modules/avltree-list-tests (Depends-on): Add progname.
62128         * tests/test-avltree_list.c: Include progname.h.
62129         (main): Call set_program_name.
62130
62131         * modules/array-oset-tests (Depends-on): Add progname.
62132         * tests/test-array_oset.c: Include progname.h.
62133         (main): Call set_program_name.
62134
62135         * modules/array-list-tests (Depends-on): Add progname.
62136         * tests/test-array_list.c: Include progname.h.
62137         (main): Call set_program_name.
62138
62139         * modules/argp-tests (Depends-on): Add progname.
62140         * tests/test-argp.c: Include argp.h first. Include progname.h.
62141         (main): Call set_program_name.
62142
62143 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
62144
62145         * doc/gnulib-tool.texi (Initial import): Reword description of
62146         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
62147         limited effect even if defined after the first system include.
62148
62149 2007-03-01  Bruno Haible  <bruno@clisp.org>
62150
62151         * build-aux/config.libpath: Update to libtool-1.5.22.
62152         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
62153
62154 2007-03-01  Bruno Haible  <bruno@clisp.org>
62155
62156         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
62157         foo_CFLAGS.
62158         Reported by Ralf Wildenhues.
62159
62160 2007-03-01  Bruno Haible  <bruno@clisp.org>
62161
62162         * build-aux/install-reloc: Remove object files left over by some
62163         compilers.
62164         Reported by Ralf Wildenhues.
62165
62166 2007-03-01  Bruno Haible  <bruno@clisp.org>
62167
62168         * build-aux/install-reloc: Break long lines.
62169
62170 2007-03-01  Bruno Haible  <bruno@clisp.org>
62171
62172         * doc/relocatable.texi: Document that it may not work on OpenBSD.
62173         Reported by Ralf Wildenhues.
62174
62175 2007-03-01  Bruno Haible  <bruno@clisp.org>
62176
62177         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
62178         include ordering constraints.
62179
62180 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
62181
62182         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
62183         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
62184         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
62185         as another example.
62186         * lib/time_.h: Fix misspelling.
62187         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
62188         Require gl_HEADER_TIME_H_DEFAULTS.
62189         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
62190         * m4/time_r.m4 (gl_TIME_R): Likewise.
62191         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
62192
62193 2007-03-01  Bruno Haible  <bruno@clisp.org>
62194
62195         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
62196         * m4/utimens.m4 (gl_UTIMENS): Likewise.
62197
62198 2007-03-01  Jim Meyering  <jim@meyering.net>
62199
62200         * modules/xreadlink (Maintainer): Add my name.
62201         * modules/xreadlink-with-size (Depends-on): Alphabetize.
62202
62203 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
62204             Bruno Haible  <bruno@clisp.org>
62205
62206         * build-aux/install-reloc: Compile also c-ctype.c.
62207         * build-aux/relocatable.sh.in: New file.
62208         * doc/relocatable.texi: New file.
62209         * doc/relocatable-maint.texi: New file.
62210         * doc/gnulib.texi: Include relocatable-maint.texi.
62211         * lib/progreloc.c: Include unistd.h unconditionally.
62212         * lib/relocwrapper.c: Include unistd.h unconditionally.
62213         Include c-ctype.h.
62214         (add_dotbin): Use c_tolower.
62215         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
62216         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
62217         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
62218         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
62219         to m4/relocatable-lib.m4.
62220         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
62221         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
62222         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
62223         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
62224         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
62225         * modules/relocatable: New file.
62226         * modules/relocatable-lib: New file.
62227         * modules/relocatable-script: New file.
62228
62229 2007-02-28  Bruno Haible  <bruno@clisp.org>
62230
62231         Import --enable-relocatable infrastructure.
62232         * build-aux/config.libpath: New file, from GNU gettext.
62233         * build-aux/install-reloc: New file, from GNU gettext.
62234         * build-aux/reloc-ldflags: New file, from GNU gettext.
62235         * lib/relocatable.h: New file, from GNU gettext.
62236         * lib/relocatable.c: New file, from GNU gettext.
62237         * lib/relocwrapper.c: New file, from GNU gettext.
62238         * m4/relocatable.m4: New file, from GNU gettext.
62239
62240 2007-02-28  Bruno Haible  <bruno@clisp.org>
62241
62242         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
62243
62244         * modules/xreadlink: New file, from GNU gettext with modifications.
62245         * lib/xreadlink.c: New file, from GNU gettext.
62246         * lib/xreadlink.h: Add comments.
62247         (xreadlink): New declaration.
62248
62249         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
62250         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
62251         lib/xreadlink-with-size.c.
62252         (configure.ac): Remove gl_XREADLINK invocation.
62253         (Makefile.am): Augment lib_SOURCES.
62254         * m4/xreadlink.m4: Remove file.
62255         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
62256         (xreadlink_with_size): Renamed from xreadink.
62257         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
62258         * modules/canonicalize (Depends-on): Replace xreadlink with
62259         xreadlink-with-size.
62260         * lib/canonicalize.c (canonicalize_filename_mode): Update.
62261
62262 2007-02-25  Jim Meyering  <jim@meyering.net>
62263
62264         * build-aux/announce-gen: When complaining about excess arguments,
62265         list them.
62266
62267 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
62268
62269         * README: Document signed integer overflow situation more
62270         accurately.
62271
62272 2007-02-25  Bruno Haible  <bruno@clisp.org>
62273
62274         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
62275         'a' or 'A' conversion.
62276
62277 2007-02-25  Bruno Haible  <bruno@clisp.org>
62278
62279         * modules/filename: Renamed from modules/pathname.
62280         (Files): Replace lib/pathname.h with lib/filename.h. Replace
62281         lib/concatpath.c with lib/concat-filename.c.
62282         (Makefile.am): Update.
62283         (Include): Replace pathname.h with filename.h.
62284         * lib/filename.h: Renamed from lib/pathname.h.
62285         (concatenated_filename): Renamed from concatenated_pathname.
62286         * lib/concat-filename.c: Renamed from lib/concatpath.c.
62287         (concatenated_filename): Renamed from concatenated_pathname.
62288         * lib/findprog.c: Include filename.h instead of pathname.h.
62289         (find_in_path): Update.
62290         * lib/javacomp.c: Include filename.h instead of pathname.h.
62291         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
62292         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
62293         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
62294         is_oldgcj_14_13_usable, is_javac_usable): Update.
62295         * lib/javaexec.c: Include filename.h instead of pathname.h.
62296         (execute_java_class): Update.
62297         * modules/findprog: Update.
62298         * modules/javacomp: Update.
62299         * modules/javaexec: Update.
62300         * MODULES.html.sh (File system functions): Add 'filename', remove
62301         'pathname'.
62302
62303 2007-02-25  Bruno Haible  <bruno@clisp.org>
62304
62305         * modules/printf-frexpl-tests: New file.
62306         * tests/test-printf-frexpl.c: New file.
62307
62308         * modules/printf-frexpl: New file.
62309         * lib/printf-frexpl.h: New file.
62310         * lib/printf-frexpl.c: New file.
62311         * m4/printf-frexpl.m4: New file.
62312
62313 2007-02-25  Bruno Haible  <bruno@clisp.org>
62314
62315         * modules/printf-frexp-tests: New file.
62316         * tests/test-printf-frexp.c: New file.
62317
62318         * modules/printf-frexp: New file.
62319         * lib/printf-frexp.h: New file.
62320         * lib/printf-frexp.c: New file.
62321         * m4/printf-frexp.m4: New file.
62322
62323 2007-02-25  Bruno Haible  <bruno@clisp.org>
62324
62325         Assume automake >= 1.10 for the tests.
62326         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
62327         * modules/arctwo-tests: Likewise.
62328         * modules/argp-tests: Likewise.
62329         * modules/avltree-list-tests: Likewise.
62330         * modules/avltree-oset-tests: Likewise.
62331         * modules/avltreehash-list-tests: Likewise.
62332         * modules/carray-list-tests: Likewise.
62333         * modules/crc-tests: Likewise.
62334         * modules/des-tests: Likewise.
62335         * modules/gc-arcfour-tests: Likewise.
62336         * modules/gc-arctwo-tests: Likewise.
62337         * modules/gc-des-tests: Likewise.
62338         * modules/gc-hmac-md5-tests: Likewise.
62339         * modules/gc-hmac-sha1-tests: Likewise.
62340         * modules/gc-md2-tests: Likewise.
62341         * modules/gc-md4-tests: Likewise.
62342         * modules/gc-md5-tests: Likewise.
62343         * modules/gc-pbkdf2-sha1-tests: Likewise.
62344         * modules/gc-rijndael-tests: Likewise.
62345         * modules/gc-sha1-tests: Likewise.
62346         * modules/gc-tests: Likewise.
62347         * modules/getaddrinfo-tests: Likewise.
62348         * modules/hmac-md5-tests: Likewise.
62349         * modules/hmac-sha1-tests: Likewise.
62350         * modules/linked-list-tests: Likewise.
62351         * modules/linkedhash-list-tests: Likewise.
62352         * modules/lock-tests: Likewise.
62353         * modules/md2-tests: Likewise.
62354         * modules/md4-tests: Likewise.
62355         * modules/md5-tests: Likewise.
62356         * modules/rbtree-list-tests: Likewise.
62357         * modules/rbtree-oset-tests: Likewise.
62358         * modules/rbtreehash-list-tests: Likewise.
62359         * modules/read-file-tests: Likewise.
62360         * modules/rijndael-tests: Likewise.
62361         * modules/stdint-tests: Likewise.
62362         * modules/tls-tests: Likewise.
62363
62364 2007-02-24  Bruno Haible  <bruno@clisp.org>
62365
62366         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
62367         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
62368         function; instead check whether isnan with a double argument links.
62369         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
62370         function; instead check whether isnan with a 'long double' argument
62371         links.
62372         Reported by Eric Blake <ebb9@byu.net>.
62373
62374 2007-02-24  Bruno Haible  <bruno@clisp.org>
62375
62376         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
62377         defined.
62378         * lib/isnanl.c: Remove all code. Just include isnan.c.
62379         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
62380
62381 2007-02-25  Jim Meyering  <jim@meyering.net>
62382
62383         Avoid conflicting types for 'unsetenv' on FreeBSD.
62384         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
62385         conflicting with FreeBSD's (5.0 and 6.1) function declaration
62386         in stdlib.h.
62387
62388 2007-02-24  Bruno Haible  <bruno@clisp.org>
62389
62390         * modules/isnanl-nolibm-tests: New file.
62391         * tests/test-isnanl.c: New file.
62392
62393         * modules/isnanl-nolibm: New file.
62394         * lib/isnanl.h: New file.
62395         * lib/isnanl.c: New file.
62396         * m4/isnanl.m4: New file.
62397
62398 2007-02-24  Bruno Haible  <bruno@clisp.org>
62399
62400         * modules/isnan-nolibm-tests: New file.
62401         * tests/test-isnan.c: New file.
62402
62403         * modules/isnan-nolibm: New file.
62404         * lib/isnan.h: New file.
62405         * lib/isnan.c: New file.
62406         * m4/isnan.m4: New file.
62407
62408 2007-02-24  Bruno Haible  <bruno@clisp.org>
62409
62410         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
62411         assume that an exponent fits in 20 bits.
62412
62413 2007-02-24  Jim Meyering  <jim@meyering.net>
62414
62415         * m4/regex.m4: Update the description of the configure-time option,
62416         --without-included-regex, to state accurately what the defaults are,
62417         and perhaps to give people an idea why using this option is risky.
62418
62419 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
62420
62421         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
62422         loops on small arguments.  This attempts to avoid the problem
62423         Bruno Haible reported for AIX 4.3.2 in
62424         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
62425
62426 2007-02-23  Bruno Haible  <bruno@clisp.org>
62427
62428         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
62429         Needed for help2man.
62430
62431 2007-02-23  Karl Berry  <karl@gnu.org>
62432
62433         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
62434         exists, foo.h should be cvs-ignored, not committed.
62435
62436 2007-02-23  Eric Blake  <ebb9@byu.net>
62437
62438         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
62439         * lib/stat-time.h (includes): Likewise.
62440         * lib/utimecmp.c (includes): Likewise.
62441         * lib/utimens.h (includes): Likewise.
62442         * lib/getdate.y (includes): Also include "timespec.h" for use
62443         internal to the module.
62444         * modules/utimens (Depends-on): Revert yesterday's patch.
62445         * modules/nanosleep (Depends-on): Add missing dependency.
62446
62447 2007-02-22  Bruno Haible  <bruno@clisp.org>
62448
62449         * lib/glob.c: Don't include getlogin_r.h.
62450
62451 2007-02-22  Jim Meyering  <jim@meyering.net>
62452
62453         * modules/utimens (Depends-on): Add timespec, required for
62454         utimens.h's inclusion of timespec.h.
62455
62456 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
62457
62458         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
62459         long unreadable paths in GNU/Linux.  Problem reported by Andreas
62460         Schwab in
62461         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
62462         I'll try to think of a better way to fix the Solaris problem.
62463
62464         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
62465         like glibc; on Solaris 10, it fails with errno == EINVAL.
62466         POSIX says the behavior is unspecified if the first argument is NULL,
62467         so play it safe and never pass NULL to the system getcwd.
62468
62469 2007-02-21  Jim Meyering  <jim@meyering.net>
62470
62471         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
62472         of gettimeofday.  It would conflict with the one now always
62473         provided via sys_time_.h.  Reported by Matthew Woehlke, as
62474         an IRIX 6.5 build failure.
62475
62476 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
62477
62478         Minor fixups to port to Solaris 10 with Sun C 5.8.
62479         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
62480         * modules/getcwd (Depends-on): Add dirfd.
62481         * lib/putenv.c (putenv): #undef it.
62482         (rpl_putenv): New decl.
62483         (malloc, free): Include <stdlib.h> rather than prototyping separately.
62484
62485 2007-02-20  Bruno Haible  <bruno@clisp.org>
62486
62487         * modules/stdio-tests: New file.
62488         * tests/test-stdio.c: New file.
62489
62490         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
62491         (Depends-on): Add stdio.
62492         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
62493         (Include): Use <stdio.h> instead of vsnprintf.h.
62494         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
62495         HAVE_DECL_VSNPRINTF.
62496         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
62497
62498         * modules/snprintf (Files): Remove lib/snprintf.h.
62499         (Depends-on): Add stdio.
62500         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
62501         (Include): Use <stdio.h> instead of snprintf.h.
62502         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
62503         HAVE_DECL_SNPRINTF.
62504         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
62505         * lib/getaddrinfo.c: Likewise.
62506
62507         * modules/stdio: New file.
62508         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
62509         * lib/snprintf.h: Remove file.
62510         * lib/vsnprintf.h: Remove file.
62511         * lib/.cppi-disable: Remove snprintf.h.
62512         * m4/stdio_h.m4: New file.
62513         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
62514
62515 2007-02-20  Jim Meyering  <jim@meyering.net>
62516
62517         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
62518         used by e.g., mingw.  From Bruno Haible.
62519
62520 2007-02-19  Bruno Haible  <bruno@clisp.org>
62521
62522         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
62523         warnings.
62524         Reported by Ben Pfaff <blp@cs.stanford.edu>.
62525
62526 2007-02-19  Bruno Haible  <bruno@clisp.org>
62527
62528         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
62529         from mingw users.
62530
62531 2007-02-19  Bruno Haible  <bruno@clisp.org>
62532
62533         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
62534         warnings.
62535         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
62536
62537 2007-02-19  Jim Meyering  <jim@meyering.net>
62538
62539         Don't use FD after a successful "fdopendir (fd)".
62540         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
62541         Reset it by calling dirfd on the just-obtained DIR*.
62542
62543         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
62544         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
62545
62546 2007-02-18  Bruno Haible  <bruno@clisp.org>
62547
62548         * lib/readlink.c: Include <unistd.h>.
62549         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
62550         HAVE_READLINK.
62551         * modules/readlink (Depends-on): Add unistd.
62552         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62553         (Include): Add <unistd.h>.
62554
62555         * lib/getlogin_r.h: Remove file.
62556         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
62557         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
62558         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
62559         HAVE_DECL_GETLOGIN_R.
62560         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
62561         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62562         (Include): Use <unistd.h> instead of getlogin_r.h.
62563
62564         * lib/getcwd.h: Remove file.
62565         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
62566         * lib/xgetcwd.c: Likewise.
62567         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
62568         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
62569         * modules/getcwd (Files): Remove lib/getcwd.h.
62570         (Depends-on): Add unistd.
62571         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62572         (Include): Use <unistd.h> instad of getcwd.h.
62573
62574         * lib/ftruncate.c: Include <unistd.h> first.
62575         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
62576         Set HAVE_FTRUNCATE.
62577         * modules/ftruncate (Depends-on): Add unistd.
62578         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62579
62580         * lib/fchdir.c: Include <unistd.h> first.
62581         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
62582         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
62583         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
62584         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62585         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
62586
62587         * lib/dup2.c: Include <unistd.h> first.
62588         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
62589         HAVE_DUP2.
62590         * modules/dup2 (Depends-on): Add unistd.
62591         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62592
62593         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
62594         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
62595         REPLACE_CHOWN. Don't define chown as a macro here.
62596         * modules/chown (Depends-on): Add unistd.
62597         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62598
62599         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
62600         Add definition for GL_LINK_WARNING.
62601         (chown, dup2): New declarations.
62602         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
62603         link warning.
62604         (ftruncate): New declaration.
62605         (getcwd): New declaration, taken from old getcwd.h.
62606         (getlogin_r): New declaration, taken from old getlogin_r.h.
62607         (readlink): New declaration.
62608         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
62609         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
62610         (gl_PREREQ_UNISTD): Remove macro.
62611         (gl_UNISTD_MODULE_INDICATOR): New macro.
62612         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
62613         many new variables. Don't set UNISTD_H.
62614         * modules/unistd (Description): Change.
62615         (Depends-on): Add link-warning.
62616         (configure.ac): Update.
62617         (Makefile.am): Create unistd.h always. Substitute many new variables
62618         into it.
62619
62620 2007-02-18  Bruno Haible  <bruno@clisp.org>
62621
62622         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
62623         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
62624         HAVE_GETSUBOPT.
62625         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
62626         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
62627         * lib/getsubopt.h: Remove file.
62628         * modules/getsubopt (Files): Remove lib/getsubopt.h.
62629         (Depends-on): Add stdlib.
62630         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
62631         (Includes): Use <stdlib.h> instead of getsubopt.h.
62632         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
62633         Set HAVE_GETSUBOPT.
62634         * lib/getsubopt.c: Don't include getsubopt.h.
62635
62636 2007-02-18  Bruno Haible  <bruno@clisp.org>
62637
62638         * modules/fchdir (Depends-on): Add dup2.
62639
62640 2007-02-18  Bruno Haible  <bruno@clisp.org>
62641
62642         * lib/stdlib_.h: Handle glibc's special invocation convention
62643         specially.
62644
62645 2007-02-18  Bruno Haible  <bruno@clisp.org>
62646
62647         * modules/stdlib-tests: New file.
62648         * tests/test-stdlib.c: New file.
62649
62650         * modules/mkstemp (Files): Remove lib/mkstemp.h.
62651         (Depends-on): Add stdlib.
62652         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
62653         (Includes): Use <stdlib.h> instead of mkstemp.h.
62654         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
62655         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
62656         * lib/mkstemp.c: Don't include mkstemp.h.
62657         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
62658         * lib/stdlib--.h: Don't include mkstemp.h.
62659
62660         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
62661         (Depends-on): Add stdlib.
62662         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
62663         (Includes): Use <stdlib.h> instead of mkdtemp.h.
62664         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
62665         HAVE_MKDTEMP.
62666         * lib/mkdtemp.c: Don't include mkdtemp.h.
62667         * lib/clean-temp.c: Don't include mkdtemp.h.
62668
62669         * modules/exit (Files): Remove lib/exit.h.
62670         (Depends-on): Add stdlib.
62671         (Makefile.am): Remove lib_SOURCES.
62672         (Include): Use <stdlib.h> instead of exit.h.
62673         * lib/argmatch.c: Don't include exit.h.
62674         * lib/execute.c: Likewise.
62675         * lib/pagealign_alloc.c: Likewise.
62676         * lib/pipe.c: Likewise.
62677         * lib/wait-process.c: Likewise.
62678         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
62679         * lib/exitfail.c: Likewise.
62680         * lib/savewd.c: Likewise.
62681         * lib/xsetenv.c: Likewise.
62682
62683         * modules/stdlib: New file.
62684         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
62685         and extra comments about mkstemp().
62686         * lib/exit.h: Remove file.
62687         * lib/mkdtemp.h: Remove file.
62688         * lib/mkstemp.h: Remove file.
62689         * m4/stdlib_h.m4: New file.
62690         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
62691
62692 2007-02-18  Bruno Haible  <bruno@clisp.org>
62693
62694         * modules/math-tests: New file.
62695         * tests/test-math.c: New file.
62696
62697         * modules/math: New file.
62698         * modules/mathl (Files): Remove lib/mathl.h.
62699         (Depends-on): Add math.
62700         (Makefile.am): Don't mention mathl.h.
62701         (Include): Use <math.h> instead of mathl.h.
62702         * lib/math_.h: New file.
62703         * lib/mathl.h: Remove file.
62704         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
62705         mathl.h.
62706         * lib/asinl.c: Likewise.
62707         * lib/atanl.c: Likewise.
62708         * lib/ceill.c: Likewise.
62709         * lib/cosl.c: Likewise.
62710         * lib/expl.c: Likewise.
62711         * lib/floorl.c: Likewise.
62712         * lib/frexpl.c: Likewise.
62713         * lib/ldexpl.c: Likewise.
62714         * lib/logl.c: Likewise.
62715         * lib/sincosl.c: Likewise.
62716         * lib/sinl.c: Likewise.
62717         * lib/sqrtl.c: Likewise.
62718         * lib/tanl.c: Likewise.
62719         * lib/trigl.c: Likewise.
62720         * m4/math_h.m4: New file.
62721         * MODULES.html.sh (Mathematics): Add math.
62722
62723 2007-02-17  Bruno Haible  <bruno@clisp.org>
62724
62725         * modules/wctype-tests: New file.
62726         * tests/test-wctype.c: New file.
62727
62728         * modules/wchar-tests: New file.
62729         * tests/test-wchar.c: New file.
62730
62731         * modules/unistd-tests: New file.
62732         * tests/test-unistd.c: New file.
62733
62734         * modules/time-tests: New file.
62735         * tests/test-time.c: New file.
62736
62737         * modules/sysexits-tests: New file.
62738         * tests/test-sysexits.c: New file.
62739
62740         * modules/sys_time-tests: New file.
62741         * tests/test-sys_time.c: New file.
62742
62743         * modules/sys_stat-tests: New file.
62744         * tests/test-sys_stat.c: New file.
62745
62746         * modules/sys_socket-tests: New file.
62747         * tests/test-sys_socket.c: New file.
62748
62749         * modules/sys_select-tests: New file.
62750         * tests/test-sys_select.c: New file.
62751
62752         * modules/string-tests: New file.
62753         * tests/test-string.c: New file.
62754
62755         * modules/stdbool-tests: New file.
62756         * tests/test-stdbool.c: New file.
62757
62758         * modules/netinet_in-tests: New file.
62759         * tests/test-netinet_in.c: New file.
62760
62761         * modules/inttypes-tests: New file.
62762         * tests/test-inttypes.c: New file.
62763
62764         * modules/fcntl-tests: New file.
62765         * tests/test-fcntl.c: New file.
62766
62767         * modules/byteswap-tests: New file.
62768         * tests/test-byteswap.c: New file.
62769
62770         * modules/arpa_inet-tests: New file.
62771         * tests/test-arpa_inet.c: New file.
62772
62773 2007-02-17  Bruno Haible  <bruno@clisp.org>
62774
62775         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
62776         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
62777         if the corresponding module is not enabled. Emit link warnings if
62778         the function is used nevertheless.
62779         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
62780         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
62781         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
62782         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
62783         * modules/inttypes (Depends-on): Add link-warning.
62784         (Makefile.am): Copy the contents of build-aux/link-warning.h into
62785         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
62786         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
62787         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
62788         * modules/imaxdiv (configure.ac): Likewise.
62789         * modules/strtoimax (configure.ac): Likewise.
62790         * modules/strtoumax (configure.ac): Likewise.
62791
62792 2007-02-17  Bruno Haible  <bruno@clisp.org>
62793
62794         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
62795         gl_STRING_MODULE_INDICATOR_DEFAULTS.
62796         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
62797         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
62798
62799 2007-02-17  Bruno Haible  <bruno@clisp.org>
62800
62801         * modules/link-warning: New file.
62802         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
62803         * lib/string_.h (GL_LINK_WARNING): Remove definition.
62804         * modules/string (Depends-on): Add link-warning.
62805         (Makefile.am): Copy the contents of build-aux/link-warning.h into
62806         string.h.
62807         * MODULES.html.sh (Support for building libraries and executables): Add
62808         link-warning.
62809
62810 2007-02-17  Bruno Haible  <bruno@clisp.org>
62811
62812         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
62813         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
62814         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
62815         long lines.
62816
62817 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
62818             Bruno Haible  <bruno@clisp.org>
62819
62820         * modules/tmpfile: New file.
62821         * lib/tmpfile.c: New file.
62822         * m4/tmpfile.m4: New file.
62823         * MODULES.html.sh (func_all_modules): New section "Input/output".
62824
62825 2007-02-15  Bruno Haible  <bruno@clisp.org>
62826
62827         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
62828         (supports_delete_on_close): New function.
62829         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
62830
62831 2007-02-14  Bruno Haible  <bruno@clisp.org>
62832
62833         * modules/mbspcasecmp-tests: New file.
62834         * tests/test-mbspcasecmp.sh: New file.
62835         * tests/test-mbspcasecmp.c: New file.
62836
62837         New module mbspcasecmp.
62838         * modules/mbspcasecmp: New file.
62839         * lib/mbspcasecmp.c: New file.
62840         * lib/string_.h (strncasecmp): Change warning message.
62841         (mbspcasecmp): New declaration.
62842         * m4/mbspcasecmp.m4: New file.
62843         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62844         GNULIB_MBSPCASECMP.
62845         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
62846         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
62847
62848 2007-02-14  Bruno Haible  <bruno@clisp.org>
62849
62850         * modules/mbsncasecmp-tests: New file.
62851         * tests/test-mbsncasecmp.sh: New file.
62852         * tests/test-mbsncasecmp.c: New file.
62853
62854         New module mbsncasecmp.
62855         * modules/mbsncasecmp: New file.
62856         * lib/mbsncasecmp.c: New file.
62857         * lib/string_.h (mbsncasecmp): New declaration.
62858         * m4/mbsncasecmp.m4: New file.
62859         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62860         GNULIB_MBSNCASECMP.
62861         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
62862         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
62863
62864 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
62865
62866         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
62867         Verify that it doesn't overlap with our flags.
62868         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
62869         do not have the desired effect in multibyte locales; instead, use
62870         mbscasecmp.
62871         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
62872         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
62873         we don't require GNU fnmatch ourselves (if our users require it, they
62874         should do so explicitly).
62875
62876         Fix regex code so it doesn't rely on strcasecmp.
62877         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
62878         Otherwise, include gnulib's langinfo.h.
62879         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
62880         undesirable behavior in non-C locales.  Instead, rely on localecharset.
62881         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
62882         * modules/regex (FILES): Remove m4/codeset.m4.
62883         (Depends-on): Add localcharset.  Remove strcase.
62884
62885 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62886
62887         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
62888         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
62889
62890 2007-02-13  Bruno Haible  <bruno@clisp.org>
62891
62892         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
62893         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62894
62895 2007-02-12  Bruno Haible  <bruno@clisp.org>
62896
62897         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
62898         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
62899         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
62900         time warning rather than a link error.
62901
62902 2007-02-12  Bruno Haible  <bruno@clisp.org>
62903
62904         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
62905         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
62906         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62907
62908 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
62909
62910         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
62911         args, not 2.
62912
62913 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
62914
62915         New module 'time', so that apps can include <time.h> as per
62916         POSIX and GNU instead of separate include files like time_r.h
62917         and timegm.h.  This implementation tries out a simpler approach
62918         for replacing decls in standard include files (as compared to
62919         the string module), somewhat as an experiment.
62920
62921         * config/srclist.txt: Comment out mktime.c for now.
62922         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
62923         since it doesn't apply any more.  Use generic wording instead.
62924         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
62925         'time'.
62926         * lib/time_.h, m4/time_h.m4, modules/time: New files.
62927         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
62928         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
62929         Don't include <sys/types.h>; no longer needed since we assume C89.
62930         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
62931         * lib/strftime.c: Likewise.
62932         * lib/time_r.c: Likewise.
62933         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
62934         * lib/nanosleep.c: Include <time.h> first, to check interface.
62935         * lib/strptime.c: Likewise.
62936         * lib/time_r.c: Likewise.
62937         * lib/timegm.c: Likewise.
62938         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
62939         needed.
62940         * lib/timegm.c: Don't include timegm.h; no longer needed.
62941         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
62942         time.h now handles any problems in that area.
62943         (struct timespec, nanosleep): Remove; time.h now arranges for these.
62944         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
62945         that time.h defines struct timespec.
62946         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
62947         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
62948         handles that.
62949         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
62950         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
62951         needed.  Set REPLACE_LOCALTIME.
62952         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
62953         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
62954         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
62955         nanosleep; time_h.m4 now does that.  Don't require
62956         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
62957         module handles this now.
62958         * modules/getdate (Depends-on): Remove timespec.  Add time.
62959         * modules/nanosleep (Depends-on): Likewise.
62960         * modules/stat-time (Depends-on): Likewise.
62961         * modules/nanosleep (Include): Include time.h, not timespec.h.
62962         * modules/strptime (Files): Remove lib/strptime.h.
62963         (Depends-on): Add extensions, time.
62964         (Include): Include time.h, not strptime.h.
62965         * modules/time_r (Files): Remove lib/time_r.h.
62966         (Depends-on): Add time.
62967         (Include): Include time.h, not time_r.h.
62968         * modules/timegm: Likewise.
62969         * modules/timespec (Description): Now does timespec-related decls
62970         of our own, instead of struct timespec itself.
62971         (Depends-on): Add time; remove extensions.
62972         (Maintainer): Add self.
62973         * modules/utimecmp (Depends-on): Add time; remove timespec.
62974         * modules/utimens (Depends-on): Likewise.
62975         * modules/xnanosleep (Depends-on): Likewise.
62976
62977 2007-02-11  Bruno Haible  <bruno@clisp.org>
62978
62979         * lib/c-strstr.c: Include allocsa.h.
62980         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
62981         * lib/c-strcasestr.c: Include allocsa.h.
62982         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
62983         * lib/strcasestr.c: Include allocsa.h.
62984         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
62985         * lib/mbsstr.c: Include allocsa.h.
62986         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
62987         allocsa/freesa instead of malloc/free.
62988         * lib/mbscasestr.c: Include allocsa.h.
62989         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
62990         allocsa/freesa instead of malloc/free.
62991         * modules/c-strstr (Depends-on): Add allocsa.
62992         * modules/c-strcasestr (Depends-on): Likewise.
62993         * modules/strcasestr (Depends-on): Likewise.
62994         * modules/mbsstr (Depends-on): Likewise.
62995         * modules/mbscasestr (Depends-on): Likewise.
62996
62997 2007-02-11  Bruno Haible  <bruno@clisp.org>
62998
62999         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
63000
63001         * modules/mbsspn-tests: New file.
63002         * tests/test-mbsspn.sh: New file.
63003         * tests/test-mbsspn.c: New file.
63004
63005 2007-02-11  Bruno Haible  <bruno@clisp.org>
63006
63007         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
63008
63009         * modules/mbspbrk-tests: New file.
63010         * tests/test-mbspbrk.sh: New file.
63011         * tests/test-mbspbrk.c: New file.
63012
63013 2007-02-11  Bruno Haible  <bruno@clisp.org>
63014
63015         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
63016         unneeded cast.
63017
63018         * modules/mbscspn-tests: New file.
63019         * tests/test-mbscspn.sh: New file.
63020         * tests/test-mbscspn.c: New file.
63021
63022 2007-02-11  Bruno Haible  <bruno@clisp.org>
63023
63024         * modules/mbscasecmp-tests: New file.
63025         * tests/test-mbscasecmp.sh: New file.
63026         * tests/test-mbscasecmp.c: New file.
63027
63028 2007-02-11  Bruno Haible  <bruno@clisp.org>
63029
63030         Ensure O(n) worst-case complexity of mbscasestr.
63031         * lib/mbscasestr.c: Include stdbool.h.
63032         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
63033         functions.
63034         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
63035         the bookkeeping indicates that it's worth it.
63036         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
63037
63038         * modules/mbscasestr-tests: New file.
63039         * tests/test-mbscasestr1.c: New file.
63040         * tests/test-mbscasestr2.sh: New file.
63041         * tests/test-mbscasestr2.c: New file.
63042         * tests/test-mbscasestr3.sh: New file.
63043         * tests/test-mbscasestr3.c: New file.
63044         * tests/test-mbscasestr4.sh: New file.
63045         * tests/test-mbscasestr4.c: New file.
63046         * m4/locale-tr.m4: New file.
63047
63048 2007-02-11  Bruno Haible  <bruno@clisp.org>
63049
63050         Ensure O(n) worst-case complexity of mbsstr.
63051         * lib/mbsstr.c: Include stdbool.h.
63052         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
63053         functions.
63054         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
63055         bookkeeping indicates that it's worth it.
63056         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
63057
63058         * modules/mbsstr-tests: New file.
63059         * tests/test-mbsstr1.c: New file.
63060         * tests/test-mbsstr2.sh: New file.
63061         * tests/test-mbsstr2.c: New file.
63062         * tests/test-mbsstr3.sh: New file.
63063         * tests/test-mbsstr3.c: New file.
63064         * m4/locale-fr.m4: New file.
63065
63066 2007-02-11  Bruno Haible  <bruno@clisp.org>
63067
63068         * lib/mbsrchr.c (mbsrchr): Fix bug.
63069
63070         * modules/mbsrchr-tests: New file.
63071         * tests/test-mbsrchr.sh: New file.
63072         * tests/test-mbsrchr.c: New file.
63073
63074 2007-02-11  Bruno Haible  <bruno@clisp.org>
63075
63076         * lib/mbschr.c (mbschr): Fix bug.
63077
63078         * modules/mbschr-tests: New file.
63079         * tests/test-mbschr.sh: New file.
63080         * tests/test-mbschr.c: New file.
63081         * m4/locale-zh.m4: New file.
63082
63083 2007-02-11  Bruno Haible  <bruno@clisp.org>
63084
63085         Support for copying multibyte string iterators.
63086         * lib/mbiter.h: Include <string.h>.
63087         (mbiter_multi_copy): New function.
63088         (mbi_copy): New macro.
63089         * lib/mbuiter.h: Include <string.h>.
63090         (mbuiter_multi_copy): New function.
63091         (mbui_copy): New macro.
63092
63093 2007-02-11  Bruno Haible  <bruno@clisp.org>
63094
63095         New module mbslen.
63096         * modules/mbslen: New file.
63097         * lib/mbslen.c: New file.
63098         * lib/string_.h (mbslen): New declaration.
63099         * m4/mbslen.m4: New file.
63100         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63101         GNULIB_MBSLEN.
63102         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
63103         * MODULES.html.sh (Internationalization functions): Add mbslen.
63104
63105 2007-02-11  Bruno Haible  <bruno@clisp.org>
63106
63107         Ensure O(n) worst-case complexity of strcasestr substitute.
63108         * lib/strcasestr.c: Include stdbool.h.
63109         (knuth_morris_pratt): New function.
63110         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
63111         bookkeeping indicates that it's worth it.
63112         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
63113
63114         * modules/strcasestr-tests: New file.
63115         * tests/test-strcasestr.c: New file.
63116
63117 2007-02-11  Bruno Haible  <bruno@clisp.org>
63118
63119         Ensure O(n) worst-case complexity of c_strcasestr.
63120         * lib/c-strcasestr.c: Include stdbool.h, string.h.
63121         (knuth_morris_pratt): New function.
63122         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
63123         the bookkeeping indicates that it's worth it.
63124         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
63125
63126         * modules/c-strcasestr-tests: New file.
63127         * tests/test-c-strcasestr.c: New file.
63128
63129 2007-02-11  Bruno Haible  <bruno@clisp.org>
63130
63131         Ensure O(n) worst-case complexity of c_strstr.
63132         * lib/c-strstr.c: Include stdbool.h, string.h.
63133         (knuth_morris_pratt): New function.
63134         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
63135         bookkeeping indicates that it's worth it.
63136         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
63137
63138         * lib/c-strstr.c: Complete rewrite for maintainability.
63139
63140         * modules/c-strstr-tests: New file.
63141         * tests/test-c-strstr.c: New file.
63142
63143 2007-02-11  Bruno Haible  <bruno@clisp.org>
63144
63145         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
63146         5.2.1 and earlier, whereby \055 was treated just like the range
63147         delimiter '-'.
63148         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
63149
63150 2007-02-08  Bruno Haible  <bruno@clisp.org>
63151
63152         * modules/regex (Depends-on): Add stdbool.
63153         Reported by Dalibor Topic <robilad@kaffe.org>.
63154
63155 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
63156
63157         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
63158         Prefer returning from main to exiting from it.
63159         Remove unnecessary parens after sizeof.
63160
63161 2007-02-05  Bruno Haible  <bruno@clisp.org>
63162
63163         New module mbssep.
63164         * modules/mbssep: New file.
63165         * lib/mbssep.c: New file.
63166         * lib/string_.h (strsep): Add a conditional link warning.
63167         (mbssep): New declaration.
63168         * m4/mbssep.m4: New file.
63169         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63170         GNULIB_MBSSEP.
63171         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
63172         * MODULES.html.sh (Internationalization functions): Add mbssep.
63173
63174 2007-02-05  Bruno Haible  <bruno@clisp.org>
63175
63176         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
63177         Optimize search in case of 1 delimiter.
63178
63179 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
63180
63181         * lib/acl.h: Include sys/types.h before sys/acl.h.
63182
63183 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
63184
63185         Merge upstream fix for glibc bugzilla #3957:
63186
63187         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
63188
63189         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
63190         bit for RE_HAT_LISTS_NOT_NEWLINE.
63191         (build_charclass_op): Remove bogus comment.
63192
63193 2007-02-05  Simon Josefsson  <simon@josefsson.org>
63194
63195         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
63196
63197 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
63198
63199         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
63200         * lib/memmem.c [!defined _LIBC]: Include config.h.
63201
63202 2007-02-04  Bruno Haible  <bruno@clisp.org>
63203
63204         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
63205         warning message.
63206
63207 2007-02-04  Bruno Haible  <bruno@clisp.org>
63208
63209         New module mbstok_r.
63210         * modules/mbstok_r: New file.
63211         * lib/mbstok_r.c: New file.
63212         * lib/string_.h (strtok_r): Change argument names to match the
63213         comments. Add a conditional link warning.
63214         (mbstok_r): New declaration.
63215         * m4/mbstok_r.m4: New file.
63216         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63217         GNULIB_MBSTOK_R.
63218         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
63219         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
63220
63221 2007-02-04  Bruno Haible  <bruno@clisp.org>
63222
63223         New module mbsspn.
63224         * modules/mbsspn: New file.
63225         * lib/mbsspn.c: New file.
63226         * lib/string_.h (strspn): Add a conditional link warning.
63227         (mbsspn): New declaration.
63228         * m4/mbsspn.m4: New file.
63229         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63230         GNULIB_MBSSPN.
63231         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
63232         * MODULES.html.sh (Internationalization functions): Add mbsspn.
63233
63234 2007-02-04  Bruno Haible  <bruno@clisp.org>
63235
63236         New module mbspbrk.
63237         * modules/mbspbrk: New file.
63238         * lib/mbspbrk.c: New file.
63239         * lib/string_.h (strpbrk): Add a conditional link warning.
63240         (mbspbrk): New declaration.
63241         * m4/mbspbrk.m4: New file.
63242         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63243         GNULIB_MBSPBRK.
63244         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
63245         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
63246
63247 2007-02-04  Bruno Haible  <bruno@clisp.org>
63248
63249         New module mbscspn.
63250         * modules/mbscspn: New file.
63251         * lib/mbscspn.c: New file.
63252         * lib/string_.h (strcspn): Add a conditional link warning.
63253         (mbscspn): New declaration.
63254         * m4/mbscspn.m4: New file.
63255         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63256         GNULIB_MBSCSPN.
63257         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
63258         * MODULES.html.sh (Internationalization functions): Add mbscspn.
63259
63260 2007-02-04  Bruno Haible  <bruno@clisp.org>
63261
63262         New module mbscasestr, reduced goal of strcasestr.
63263         * modules/mbscasestr: New file.
63264         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
63265         (mbscasestr): Renamed from strcasestr.
63266         * lib/strcasestr.c: Don't include mbuiter.h.
63267         (strcasestr): Remove support for multibyte locales.
63268         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
63269         Change the conditional link warning.
63270         (mbscasestr): New declaration.
63271         * m4/mbscasestr.m4: New file.
63272         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
63273         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
63274         REPLACE_STRCASESTR.
63275         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
63276         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
63277         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
63278         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
63279         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
63280         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
63281         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
63282         (Depends-on): Remove mbuiter.
63283         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
63284
63285 2007-02-04  Bruno Haible  <bruno@clisp.org>
63286
63287         Simplify handling of strncasecmp.
63288         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
63289         the conditional link warning.
63290         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
63291         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
63292         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
63293         * modules/strcase (configure.ac): Don't invoke
63294         gl_STRING_MODULE_INDICATOR.
63295         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
63296
63297 2007-02-04  Bruno Haible  <bruno@clisp.org>
63298
63299         New module mbscasecmp, reduced goal of strcasecmp.
63300         * modules/mbscasecmp: New file.
63301         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
63302         (mbscasecmp): Renamed from strcasecmp.
63303         * lib/strcasecmp.c: Don't include mbuiter.h.
63304         (strcasecmp): Remove support for multibyte locales.
63305         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
63306         Change the conditional link warning.
63307         (mbscasecmp): New declaration.
63308         * m4/mbscasecmp.m4: New file.
63309         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
63310         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
63311         REPLACE_STRCASECMP.
63312         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
63313         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63314         GNULIB_MBSCASECMP.
63315         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
63316         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
63317         * modules/strcase (Files): Remove m4/mbrtowc.m4.
63318         (Depends-on): Remove mbuiter.
63319         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
63320
63321 2007-02-04  Bruno Haible  <bruno@clisp.org>
63322
63323         New module mbsstr. Remove module strstr.
63324         * modules/mbsstr: New file.
63325         * modules/strstr: Remove file.
63326         * lib/mbsstr.c: Renamed from lib/strstr.c.
63327         (mbsstr): Renamed from strstr.
63328         * lib/string_.h (strstr): Remove declaration. Change the conditional
63329         link warning.
63330         (mbsstr): New declaration.
63331         * m4/mbsstr.m4: New file.
63332         * m4/strstr.m4: Remove file.
63333         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
63334         REPLACE_STRSTR.
63335         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
63336         Don't initialize GNULIB_STRSTR.
63337         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
63338         substitute GNULIB_STRSTR and REPLACE_STRSTR.
63339         * MODULES.html.sh (Internationalization functions): Add mbsstr.
63340         (Support for systems lacking ANSI C 89): Remove strstr.
63341
63342 2007-02-04  Bruno Haible  <bruno@clisp.org>
63343
63344         New module mbsrchr.
63345         * modules/mbsrchr: New file.
63346         * lib/mbsrchr.c: New file.
63347         * lib/string_.h (strrchr): Add a conditional link warning.
63348         (mbsrchr): New declaration.
63349         * m4/mbsrchr.m4: New file.
63350         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63351         GNULIB_MBSRCHR.
63352         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
63353         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
63354
63355 2007-02-04  Bruno Haible  <bruno@clisp.org>
63356
63357         New module mbschr.
63358         * modules/mbschr: New file.
63359         * lib/mbschr.c: New file.
63360         * lib/string_.h (strchr): Add a conditional link warning.
63361         (mbschr): New declaration.
63362         * m4/mbschr.m4: New file.
63363         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63364         GNULIB_MBSCHR.
63365         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
63366         * MODULES.html.sh (Internationalization functions): Add mbschr.
63367
63368 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
63369
63370         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
63371
63372         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
63373
63374 2007-02-04  Bruno Haible  <bruno@clisp.org>
63375
63376         New module description section 'configure.ac-early'.
63377         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
63378         (func_get_autoconf_early_snippet): New function.
63379         (func_import, func_create_testdir): Use it. Remove special cases for
63380         modules 'extensions' and 'lock'.
63381         * modules/extensions (configure.ac-early): Require
63382         gl_USE_SYSTEM_EXTENSIONS.
63383         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
63384
63385 2007-02-04  Bruno Haible  <bruno@clisp.org>
63386
63387         Make use of gcj-4.3's -fsource and -ftarget option.
63388         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
63389         and if so try the options -fsource and -ftarget.
63390         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
63391         source_version, ftarget_option, target_version arguments.
63392         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
63393         (is_envjavac_oldgcj_14_14_usable): Renamed from
63394         is_envjavac_gcj_14_14_usable.
63395         (is_envjavac_oldgcj_14_13_usable): Renamed from
63396         is_envjavac_gcj_14_13_usable.
63397         (is_gcj_present): Update.
63398         (is_gcj_43, is_gcj43_usable): New functions.
63399         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
63400         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
63401         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
63402         try the options -fsource and -ftarget.
63403
63404 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
63405
63406         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
63407         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
63408         larger value.
63409
63410 2007-02-03  Jim Meyering  <jim@meyering.net>
63411
63412         Give tools a better chance to allocate space for very large buffers.
63413         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
63414
63415         Make pwd and readlink work also when run with an unreadable parent dir
63416         on systems with openat support.
63417         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
63418         provided getcwd function, even when we have openat support.
63419         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
63420
63421 2007-02-02  Bruno Haible  <bruno@clisp.org>
63422
63423         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
63424         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
63425         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
63426         portability problems if one of these functions is only used on specific
63427         platforms.
63428         Reported by Paul Eggert.
63429
63430 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
63431
63432         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
63433         is causing more trouble than it's curing.
63434         * lib/regex_internal.h (__mempcpy): Remove.
63435         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
63436         (and make the code a tad smaller to boot).
63437         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
63438
63439 2007-02-02  Jim Meyering  <jim@meyering.net>
63440
63441         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
63442         section, not in the Makefile.am: one.
63443
63444 2007-02-02  Eric Blake  <ebb9@byu.net>
63445
63446         * lib/strchrnul.c: Always include config.h first.
63447
63448         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
63449         gnulib strstr is not necessary here.
63450
63451 2007-02-02  Simon Josefsson  <simon@josefsson.org>
63452
63453         * m4/socklen.m4: Fix typo.
63454
63455 2007-02-02  Eric Blake  <ebb9@byu.net>
63456
63457         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
63458         * modules/netinet_in (Makefile.am): Likewise.
63459
63460 2007-02-01  Bruno Haible  <bruno@clisp.org>
63461
63462         * lib/string_.h (GL_LINK_WARNING): New macro.
63463         (strcasecmp, strstr, strcasestr): If provided by the system,
63464         conditionally define as a macro that leads to a warning instead of to
63465         an error.
63466         (strncasecmp): Conditionally define as a macro that leads to a warning.
63467
63468 2007-02-01  Karl Berry  <karl@gnu.org>
63469
63470         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
63471
63472 2007-02-01  Bruno Haible  <bruno@clisp.org>
63473
63474         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
63475         renamings.
63476
63477 2007-02-01  Eric Blake  <ebb9@byu.net>
63478
63479         * modules/regex (Depends-on): Revert dependence on mempcpy.
63480         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
63481         module's definition of mempcpy.
63482         Reported by Paul Eggert.
63483
63484 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
63485
63486         * lib/string_.h: If the gnulib module XYZ is not present, undefine
63487         the symbol XYZ before redefining it.  This fixes a problem with
63488         programs that don't use XYZ, when compiled on systems that define
63489         XYZ to something else.
63490
63491 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
63492
63493         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
63494         occurs when "mkdir -m foo" creates a setgid directory that is (1)
63495         writeable to group or other and (2) is intended to have a special
63496         mode bit that is set or cleared.  In such a case, the directory
63497         should be neither group- nor other-writeable until the special
63498         mode bits are right.
63499
63500 2007-01-31  Eric Blake  <ebb9@byu.net>
63501
63502         * modules/mountlist (Depends-on): Add strstr.
63503
63504         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
63505         bug.
63506         * modules/string (Makefile.am): Remove redundant replacement.
63507         * modules/regex (Depends-on): Add mempcpy.
63508
63509 2007-01-31  Bruno Haible  <bruno@clisp.org>
63510
63511         New module description field 'Link'.
63512         * gnulib-tool (func_usage): Document --extract-link-directive.
63513         (sed_extract_prog): Recognize 'Link' directive.
63514         (func_get_link_directive): New function.
63515         (func_import): Show summary of link directives.
63516         Handle --extract-link-directive option.
63517         * modules/acl (Link): New section.
63518         * modules/clock-time (Link): New section.
63519         * modules/euidaccess (Link): New section.
63520         * modules/gettext (Link): New section.
63521         * modules/iconv (Link): New section.
63522         * modules/lock (Link): New section.
63523         * modules/nanosleep (Link): New section.
63524         * modules/readline (Link): New section.
63525
63526 2007-01-27  Bruno Haible  <bruno@clisp.org>
63527
63528         Enforce the use of gnulib modules for unportable <string.h> functions.
63529         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
63530         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
63531         (gl_HEADER_STRING_H_BODY): Require it.
63532         * lib/string_.h: If the gnulib module XYZ is not present, redefine
63533         the symbol XYZ to one that gives a link error.
63534         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
63535         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
63536         * modules/mempcpy (configure.ac): Likewise.
63537         * modules/memrchr (configure.ac): Likewise.
63538         * modules/stpcpy (configure.ac): Likewise.
63539         * modules/stpncpy (configure.ac): Likewise.
63540         * modules/strcase (configure.ac): Likewise.
63541         * modules/strcasestr (configure.ac): Likewise.
63542         * modules/strchrnul (configure.ac): Likewise.
63543         * modules/strdup (configure.ac): Likewise.
63544         * modules/strndup (configure.ac): Likewise.
63545         * modules/strnlen (configure.ac): Likewise.
63546         * modules/strpbrk (configure.ac): Likewise.
63547         * modules/strsep (configure.ac): Likewise.
63548         * modules/strstr (configure.ac): Likewise.
63549         * modules/strtok_r (configure.ac): Likewise.
63550
63551 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
63552
63553         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
63554
63555 2007-01-30  Jim Meyering  <jim@meyering.net>
63556
63557         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
63558
63559 2007-01-29  Bruno Haible  <bruno@clisp.org>
63560
63561         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
63562         * lib/execute.c: Likewise.
63563         * lib/pipe.c: Likewise.
63564         * lib/printf-args.h: Likewise.
63565         * lib/printf-args.c: Likewise.
63566         * lib/printf-parse.c: Likewise.
63567         * lib/vasnprintf.c: Likewise.
63568
63569 2007-01-29  Eric Blake  <ebb9@byu.net>
63570
63571         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
63572         declaration.
63573
63574 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
63575
63576         * lib/strptime.h (strptime): Use 'restrict' for args where
63577         POSIX requires this.
63578         * lib/strptime.c (strptime): Likewise.
63579         Change license notice from LGPL to GPL, since gnulib-tool will
63580         change this as needed.
63581         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
63582         defined.
63583         Include "strptime.h" first, to check interface.
63584         Do not #undef _LIBC and _NL_CURRENT.
63585         Do not include <stdlib.h>; no longer needed.
63586         Include "time_r.h" and declare ptime_locale_status
63587         only if _LIBC is not defined.
63588         (__P): Remove unused macro.
63589         (match_string): Bring back glibc version, but use it only if _LIBC
63590         is defined.
63591         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
63592         Remove unnecessary assertion and abort() call.
63593         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
63594         * m4/strptime.m4: Fix serial number comment.
63595         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
63596         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
63597         (Depends-on): Add time_r.
63598
63599 2007-01-29  Bruno Haible  <bruno@clisp.org>
63600
63601         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
63602         strptime.
63603         * modules/strptime (Depends-on): Add stdbool.
63604         * lib/strptime.h: Include <time.h> always. Add comments.
63605
63606 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
63607
63608         * modules/strptime: New file.
63609         * lib/strptime.h: New file.
63610         * lib/strptime.c: New file.
63611         * m4/strptime.m4: New file.
63612
63613 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
63614
63615         * MODULES.html.sh: New module mpsort.
63616         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
63617
63618         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
63619         a circularity problem with HP-UX ia64 reported by Bob Proulx in
63620         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
63621         All uses changed.
63622         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
63623         All uses changed.
63624         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
63625         to _Restrict_.
63626         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
63627         the parameter matches the prototype.
63628
63629 2007-01-28  Jim Meyering  <jim@meyering.net>
63630
63631         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
63632         sys/time.h here, reverting that part of the previous patch:
63633         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
63634
63635 2007-01-28  Bruno Haible  <bruno@clisp.org>
63636
63637         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
63638         value of $(SYS_TIME_H).
63639         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
63640         remove it conditionally, too. [added by Jim Meyering]
63641         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
63642         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
63643         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
63644         GETTIMEOFDAY_REPLACEMENT to 1.
63645
63646 2007-01-28  Bruno Haible  <bruno@clisp.org>
63647
63648         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
63649         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
63650         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
63651         Set UNISTD_H instead of UNISTD_H2.
63652         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
63653
63654 2007-01-28  Bruno Haible  <bruno@clisp.org>
63655
63656         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
63657         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
63658
63659 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63660
63661         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
63662         (func_create_testdir): Ensure C locale for `grep' and `tr'
63663         character ranges.
63664         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
63665         ACLOCAL_AMFLAGS parsing state machine.
63666
63667 2007-01-27  Bruno Haible  <bruno@clisp.org>
63668
63669         * modules/unistr/base: Update.
63670
63671 2007-01-27  Bruno Haible  <bruno@clisp.org>
63672
63673         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
63674         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
63675         * modules/unistr/u32-mbtouc-unsafe: Renamed from
63676         modules/unistr/u32-mbtouc.
63677         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
63678         * lib/unistr.h: Update.
63679         * lib/linebreak.c: Update.
63680         * modules/unistr/u32-mbtouc: Renamed from
63681         modules/unistr/u32-mbtouc-safe.
63682         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
63683         * lib/unistr.h: Update.
63684         * lib/unistr/u32-to-u8.c: Update.
63685         * lib/unistr/u32-to-u16.c: Update.
63686
63687 2007-01-27  Bruno Haible  <bruno@clisp.org>
63688
63689         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
63690         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
63691         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
63692         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
63693         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
63694         * modules/unistr/u16-mbtouc-unsafe: Renamed from
63695         modules/unistr/u16-mbtouc.
63696         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
63697         * lib/unistr.h: Update.
63698         * lib/linebreak.c: Update.
63699         * modules/linebreak: Update.
63700         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
63701         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
63702         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
63703         * modules/unistr/u16-mbtouc: Renamed from
63704         modules/unistr/u16-mbtouc-safe.
63705         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
63706         * lib/unistr.h: Update.
63707         * lib/unistr/u16-to-u8.c: Update.
63708         * modules/unistr/u16-to-u8: Update.
63709         * lib/unistr/u16-to-u32.c: Update.
63710         * modules/unistr/u16-to-u32: Update.
63711
63712 2007-01-27  Bruno Haible  <bruno@clisp.org>
63713
63714         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
63715         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
63716         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
63717         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
63718         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
63719         * modules/unistr/u8-mbtouc-unsafe: Renamed from
63720         modules/unistr/u8-mbtouc.
63721         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
63722         * lib/unistr.h: Update.
63723         * lib/striconveh.c: Update.
63724         * modules/striconveh: Update.
63725         * lib/linebreak.c: Update.
63726         * modules/linebreak: Update.
63727         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
63728         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
63729         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
63730         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
63731         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
63732         * lib/unistr.h: Update.
63733         * lib/striconveh.c: Update.
63734         * modules/striconveh: Update.
63735         * lib/unistr/u8-to-u16.c: Update.
63736         * modules/unistr/u8-to-u16: Update.
63737         * lib/unistr/u8-to-u32.c: Update.
63738         * modules/unistr/u8-to-u32: Update.
63739
63740 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63741
63742         Sync from Libtool.
63743         * lib/argz.c: Do not include strings.h nor memory.h, include
63744         string.h unconditionally.  Patch by Simon Josefsson.
63745
63746 2007-01-27  Bruno Haible  <bruno@clisp.org>
63747
63748         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
63749         from gl_HEADER_STRING_H_BODY.
63750         (gl_HEADER_STRING_H_BODY): Require it.
63751         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
63752         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
63753         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
63754         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
63755         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
63756         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
63757         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
63758         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
63759         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
63760         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
63761         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
63762         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
63763         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
63764         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
63765         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
63766
63767 2007-01-27  Bruno Haible  <bruno@clisp.org>
63768
63769         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
63770         check_PROGRAMS into noinst_PROGRAMS.
63771         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
63772         check_PROGRAMS in this case.
63773         (func_import): Set for_test to false.
63774         (func_create_testdir): Set for_test to true.
63775
63776 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
63777             Bruno Haible  <bruno@clisp.org>
63778
63779         * modules/strcasestr (Files): Remove lib/strcasestr.h.
63780         (Depends-on): Add string.
63781         (Includes): Use <string.h> instead of strcasestr.h.
63782         * modules/string (Makefile.am): Also substitute the value of
63783         REPLACE_STRCASESTR.
63784         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
63785         assume strcasestr is declared in <string.h> not <strings.h>. Also
63786         set REPLACE_STRCASESTR.
63787         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
63788         REPLACE_STRCASESTR.
63789         * lib/strcasestr.h: Remove file.
63790         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
63791         * lib/string_.h (strcasestr): New declaration.
63792
63793 2007-01-27  Bruno Haible  <bruno@clisp.org>
63794
63795         * lib/string_.h: Use 'extern'.
63796
63797 2007-01-27  Jim Meyering  <jim@meyering.net>
63798
63799         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
63800         of set-but-not-used local, "q".
63801
63802         * lib/mempcpy.c: Include <config.h> before <string.h>.
63803         This fixes a compilation error on HP-UX, due to the system's
63804         "restrict"-using mempcpy prototype.
63805
63806 2007-01-26  Bruno Haible  <bruno@clisp.org>
63807
63808         Small optimization.
63809         * lib/javacomp.c: Include c-strstr.h.
63810          (is_envjavac_gcj): Use c_strstr instead of strstr.
63811         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
63812
63813 2007-01-26  Bruno Haible  <bruno@clisp.org>
63814
63815         * MODULES.html.sh (Unicode string functions): Add the new modules.
63816
63817         * modules/uniconv/u32-strconv-to-locale: New file.
63818         * lib/uniconv/u32-strconv-to-locale.c: New file.
63819
63820         * modules/uniconv/u16-strconv-to-locale: New file.
63821         * lib/uniconv/u16-strconv-to-locale.c: New file.
63822
63823         * modules/uniconv/u8-strconv-to-locale: New file.
63824         * lib/uniconv/u8-strconv-to-locale.c: New file.
63825
63826         * modules/uniconv/u32-strconv-from-locale: New file.
63827         * lib/uniconv/u32-strconv-from-locale.c: New file.
63828
63829         * modules/uniconv/u16-strconv-from-locale: New file.
63830         * lib/uniconv/u16-strconv-from-locale.c: New file.
63831
63832         * modules/uniconv/u8-strconv-from-locale: New file.
63833         * lib/uniconv/u8-strconv-from-locale.c: New file.
63834
63835         * modules/uniconv/u32-strconv-to-enc: New file.
63836         * lib/uniconv/u32-strconv-to-enc.c: New file.
63837         * modules/uniconv/u32-strconv-to-enc-tests: New file.
63838         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
63839
63840         * modules/uniconv/u16-strconv-to-enc: New file.
63841         * lib/uniconv/u16-strconv-to-enc.c: New file.
63842         * lib/uniconv/u-strconv-to-enc.h: New file.
63843         * modules/uniconv/u16-strconv-to-enc-tests: New file.
63844         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
63845
63846         * modules/uniconv/u8-strconv-to-enc: New file.
63847         * lib/uniconv/u8-strconv-to-enc.c: New file.
63848         * modules/uniconv/u8-strconv-to-enc-tests: New file.
63849         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
63850
63851         * modules/uniconv/u32-strconv-from-enc: New file.
63852         * lib/uniconv/u32-strconv-from-enc.c: New file.
63853         * modules/uniconv/u32-strconv-from-enc-tests: New file.
63854         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
63855
63856         * modules/uniconv/u16-strconv-from-enc: New file.
63857         * lib/uniconv/u16-strconv-from-enc.c: New file.
63858         * modules/uniconv/u16-strconv-from-enc-tests: New file.
63859         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
63860
63861         * modules/uniconv/u8-strconv-from-enc: New file.
63862         * lib/uniconv/u8-strconv-from-enc.c: New file.
63863         * lib/uniconv/u-strconv-from-enc.h: New file.
63864         * modules/uniconv/u8-strconv-from-enc-tests: New file.
63865         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
63866
63867         * modules/uniconv/u32-conv-from-enc: New file.
63868         * lib/uniconv/u32-conv-from-enc.c: New file.
63869         * modules/uniconv/u32-conv-from-enc-tests: New file.
63870         * tests/uniconv/test-u32-conv-from-enc.c: New file.
63871
63872         * modules/uniconv/u16-conv-from-enc: New file.
63873         * lib/uniconv/u16-conv-from-enc.c: New file.
63874         * lib/uniconv/u-conv-from-enc.h: New file.
63875         * modules/uniconv/u16-conv-from-enc-tests: New file.
63876         * tests/uniconv/test-u16-conv-from-enc.c: New file.
63877
63878         * modules/uniconv/u8-conv-from-enc: New file.
63879         * lib/uniconv/u8-conv-from-enc.c: New file.
63880         * modules/uniconv/u8-conv-from-enc-tests: New file.
63881         * tests/uniconv/test-u8-conv-from-enc.c: New file.
63882
63883         * modules/uniconv/base: New file.
63884         * lib/uniconv.h: New file.
63885
63886 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
63887
63888         * doc/gnulib-tool.texi (Initial import): Update to match current
63889         behavior with strdup module.
63890         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
63891         * lib/memmem.h: Remove; all uses removed.  This is now done
63892         by <string.h>.
63893         * lib/mempcpy.h: Likewise.
63894         * lib/memrchr.h: Likewise.
63895         * lib/stpcpy.h: Likewise.
63896         * lib/stpncpy.h: Likewise.
63897         * lib/strcase.h: Likewise.
63898         * lib/strchrnul.h: Likewise.
63899         * lib/strdup.h: Likewise.
63900         * lib/strndup.h: Likewise.
63901         * lib/strnlen.h: Likewise.
63902         * lib/strpbrk.h: Likewise.
63903         * lib/strsep.h: Likewise.
63904         * lib/strstr.h: Likewise.
63905         * lib/strtok_r.h: Likewise.
63906         * lib/string_.h: New file.
63907         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
63908         Rely on <string.h> instead.
63909         * lib/canon-host.c: Likewise.
63910         * lib/chdir-long.c: Likewise.
63911         * lib/concatpath.c: Likewise.
63912         * lib/exclude.c: Likewise.
63913         * lib/fchdir.c: Likewise.
63914         * lib/getaddrinfo.c: Likewise.
63915         * lib/getcwd.c: Likewise.
63916         * lib/getsubopt.c: Likewise.
63917         * lib/glob.c: Likewise.
63918         * lib/hard-locale.c: Likewise.
63919         * lib/iconvme.c: Likewise.
63920         * lib/javacomp.c: Likewise.
63921         * lib/mempcpy.c: Likewise.
63922         * lib/memrchr.c: Likewise.
63923         * lib/regex_internal.h: Likewise.
63924         * lib/stpncpy.c: Likewise.
63925         * lib/strcasecmp.c: Likewise.
63926         * lib/strchrnul.c: Likewise.
63927         * lib/strdup.c: Likewise.
63928         * lib/striconv.c: Likewise.
63929         * lib/striconveh.c: Likewise.
63930         * lib/striconveha.c: Likewise.
63931         * lib/strncasecmp.c: Likewise.
63932         * lib/strndup.c: Likewise.
63933         * lib/strnlen.c: Likewise.
63934         * lib/strsep.c: Likewise.
63935         * lib/strstr.c: Likewise.
63936         * lib/strtok_r.c: Likewise.
63937         * lib/userspec.c: Likewise.
63938         * lib/w32spawn.h: Likewise.
63939         * lib/xstrndup.c: Likewise.
63940         * lib/mountlist.c (strstr): Remove decl.
63941         * m4/string_h.m4: New file.
63942         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
63943         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
63944         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
63945         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
63946         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
63947         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
63948         Set REPLACE_STRCASECMP if necessary.
63949         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
63950         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
63951         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
63952         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
63953         HAVE_DECL_STRDUP if necessary.
63954         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
63955         since gl_FUNC_STRNDUP does that now.
63956         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
63957         Check for decl here...
63958         (gl_PREREQ_STRNLEN): ... not here.
63959         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
63960         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
63961         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
63962         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
63963         necessary.
63964         * modules/string: New file.
63965         * modules/memmem (Files): Remove special-purpose include file.
63966         (Depends-on): Add string.
63967         (Include): Include <string.h>, not the removed file.
63968         * modules/mempcpy: Likewise.
63969         * modules/memrchr: Likewise.
63970         * modules/stpcpy: Likewise.
63971         * modules/stpncpy: Likewise.
63972         * modules/strcase: Likewise.
63973         * modules/strchrnul: Likewise.
63974         * modules/strdup: Likewise.
63975         * modules/strndup: Likewise.
63976         * modules/strnlen: Likewise.
63977         * modules/strpbrk: Likewise.
63978         * modules/strsep: Likewise.
63979         * modules/strstr: Likewise.
63980         * modules/strtok_r: Likewise.
63981         * tests/test-dirname.c: Don't include "strdup.h", since
63982         <string.h> now suffices.
63983         * tests/test-memmem.c: Don't include "memmem.h", since
63984         <string.h> now suffices.
63985
63986 2007-01-25  Bruno Haible  <bruno@clisp.org>
63987
63988         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
63989         *resultp is 0.
63990
63991         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
63992         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
63993         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
63994         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
63995
63996         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
63997         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
63998         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
63999         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
64000         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
64001         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
64002
64003 2007-01-24  Bruno Haible  <bruno@clisp.org>
64004
64005         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
64006         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
64007         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
64008         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
64009         gl_FUNC_FTS_CORE.
64010         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
64011         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
64012         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
64013         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
64014         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
64015         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
64016         gl_FUNC_FCHOWNAT.
64017         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
64018         gl_FUNC_STRFTIME.
64019         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
64020         Reported by Ralf Wildenhues.
64021
64022 2007-01-24  Bruno Haible  <bruno@clisp.org>
64023
64024         Drop AC_REQUIRE calls that are redundant with the module dependencies.
64025         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
64026         gl_GETADDRINFO.
64027         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
64028         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
64029         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
64030
64031 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
64032
64033         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
64034         Don't use 'exit'; just return from 'main'.
64035         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
64036
64037         * lib/fnmatch_.h: Readjust white space and comments to match
64038         glibc, to avoid spurious diffs.
64039
64040 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
64041
64042         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
64043         2004-12-01 change by Jakub Jelinek, since this code won't compile
64044         if !LIBC.  Problem reported by Bob Proulx.
64045
64046 2007-01-23  Bruno Haible  <bruno@clisp.org>
64047
64048         * lib/striconveh.c: Include c-strcaseeq.h.
64049         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
64050         * modules/striconveh (Depends-on): Add c-strcaseeq.
64051
64052 2007-01-23  Bruno Haible  <bruno@clisp.org>
64053
64054         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
64055
64056         * modules/c-strcaseeq: New file.
64057         * lib/c-strcaseeq.h: New file.
64058
64059         * modules/streq: New file.
64060         * lib/streq.h: New file.
64061
64062 2007-01-23  Bruno Haible  <bruno@clisp.org>
64063
64064         * modules/striconveha-tests: New file.
64065         * tests/test-striconveha.c: New file.
64066
64067         * lib/striconveha.h: Include <stdbool.h>.
64068         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
64069         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
64070         (mem_iconveha_notranslit): Renamed from mem_iconveha.
64071         (mem_iconveha): New function.
64072         (str_iconveha_notranslit): Renamed from str_iconveha.
64073         (str_iconveha): New function.
64074         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
64075         c-strcase.
64076
64077 2007-01-23  Bruno Haible  <bruno@clisp.org>
64078
64079         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
64080         encodings without forgiving before trying any encoding with handler.
64081         (str_iconveha): Try all encodings without forgiving before trying any
64082         encoding with handler.
64083
64084 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
64085
64086         Import the following changes from libc.
64087
64088         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
64089
64090         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
64091
64092         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
64093
64094         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
64095         normal_bracket label.
64096
64097         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
64098
64099         [BZ #361]
64100         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
64101         to normal_bracket after fetching the next character.
64102
64103 2007-01-22  Bruno Haible  <bruno@clisp.org>
64104
64105         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
64106         argument.
64107         * lib/striconveh.c (iconv_carefully_1): New function.
64108         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
64109         argument.
64110         (str_cd_iconveh): Update.
64111         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
64112         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
64113         * tests/test-striconveh.c (MAGIC): New macro.
64114         (new_offsets): New function.
64115         (main): Test call with and without offsets.
64116
64117 2007-01-22  Bruno Haible  <bruno@clisp.org>
64118
64119         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
64120         * modules/sys_select (Makefile.am): Likewise.
64121         * modules/sys_socket (Makefile.am): Likewise.
64122         * modules/sys_time (Makefile.am): Likewise.
64123
64124 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
64125
64126         * modules/gettimeofday (License): Change from GPL to LGPL, since
64127         gettimeofday is a library function.
64128
64129 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
64130
64131         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
64132
64133 2007-01-21  Bruno Haible  <bruno@clisp.org>
64134
64135         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
64136
64137 2007-01-21  Bruno Haible  <bruno@clisp.org>
64138
64139         * modules/striconveha: New file.
64140         * lib/striconveha.h: New file.
64141         * lib/striconveha.c: New file.
64142         * MODULES.html.sh (Internationalization functions): Add striconveha.
64143         * lib/striconv.c (str_iconv): Optimize the case of an empty input
64144         string.
64145         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
64146
64147 2007-01-21  Bruno Haible  <bruno@clisp.org>
64148
64149         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
64150         * lib/striconveh.c (str_iconveh): Likewise.
64151
64152 2007-01-21  Bruno Haible  <bruno@clisp.org>
64153
64154         * lib/striconveh.h (mem_iconveh): New declaration.
64155         * lib/striconveh.c (mem_iconveh): New function.
64156         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
64157
64158 2007-01-21  Bruno Haible  <bruno@clisp.org>
64159
64160         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
64161
64162         * lib/striconveh.h (mem_cd_iconveh): Change specification.
64163         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
64164         original result buffer.
64165         (str_cd_iconveh): Update.
64166         * tests/test-striconveh.c (main): Update.
64167
64168         * lib/striconv.h (mem_cd_iconv): Change specification.
64169         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
64170         result buffer.
64171         (str_cd_iconv): Update.
64172         * tests/test-striconv.c (main): Update.
64173
64174 2007-01-21  Bruno Haible  <bruno@clisp.org>
64175
64176         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
64177
64178 2007-01-20  Jim Meyering  <jim@meyering.net>
64179
64180         * lib/userspec.c (parse_with_separator): If a user or group string
64181         starts with "+", skip the corresponding name-to-ID look-up, since
64182         such a look-up must fail: user and group names may not include "+".
64183
64184 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
64185
64186         * lib/poll.c: Include sys/time.h and time.h unconditionally,
64187         since we now assume the sys_time module.
64188         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
64189         check for sys/time.h; no longer needed.
64190         * modules/poll (Depends-on): Depend on sys_time.
64191
64192 2007-01-18  Bruno Haible  <bruno@clisp.org>
64193
64194         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
64195         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
64196
64197         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
64198         gettimeofday.
64199
64200         * tests/test-gettimeofday.c: Include <time.h>.
64201         (dummy): Remove variable.
64202
64203         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
64204         gl_HEADER_SYS_TIME_H.
64205         (gl_HEADER_SYS_TIME_H): New macro.
64206
64207         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
64208         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
64209         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
64210         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
64211         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
64212         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
64213         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
64214         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
64215         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
64216         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
64217         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
64218
64219         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
64220         last change; it caused a compilation error when cross-compiling to
64221         Cygwin.
64222
64223 2007-01-18  Jim Meyering  <jim@meyering.net>
64224
64225         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
64226         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
64227         than the race-prone "test -d sys || mkdir sys".
64228         (configure.ac): Use AC_PROG_MKDIR_P.
64229         * modules/sys_select: Likewise.
64230         * modules/sys_socket: Likewise.
64231         * modules/sys_time: Likewise.
64232
64233 2007-01-18  Eric Blake  <ebb9@byu.net>
64234
64235         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
64236         replace gettimeofday.
64237         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
64238         name, to avoid infinite recursion.
64239
64240 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
64241
64242         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
64243         module sys_time.
64244         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
64245         assume timespec.h defines struct timeval.
64246         * lib/settime.c: Likewise.
64247         * lib/utimens.c: Likewise.
64248         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
64249         since we now assume the gettimeofday module.
64250         * lib/tempname.c (__gen_tempname): Likewise.
64251         * lib/gettimeofday.h: Remove.
64252         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
64253         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
64254         Include <time.h>, for 'time()'.
64255         (localtime_buffer_addr): Also use this workaround if
64256         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
64257         to simplify the uses.  All uses changed.
64258         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
64259         that #undef is inside {}, and 'const' follows type name consistently.
64260         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
64261         (gettimeofday): Do not use the maximum possible value for
64262         tv->tv_usec, since that might break usages other than ls.c.
64263         Instead, we'll leave ls.c alone.  This undoes today's patch
64264         by Bruno.  Add a compile-time warning for 1s-clock resolution;
64265         we've never observed the problem but might as well keep the
64266         canary.
64267         * lib/nanosleep.c: Include timespec.h first, for interface check.
64268         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
64269         now assume the sys_time module.
64270         * lib/tempname.c: Likewise.
64271         * lib/timespec.h: Likewise.
64272         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
64273         needed.
64274         * lib/strftime.c: Likewise.
64275         * lib/timespec.h: Likewise.
64276         * lib/posixtm.c: Include posixtm.h first, for interface check.
64277         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
64278         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
64279         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
64280         * lib/sys_time_.h: New file.
64281         * lib/timespec.h (struct timespec): Use long int, not long.
64282         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
64283         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
64284         Remove obsolescent call to AC_HEADER_TIME.
64285         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
64286         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
64287         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
64288         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
64289         Likewise.
64290         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
64291         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
64292         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
64293         into the sys_time module.  Check for gettimeofday just once.
64294         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
64295         for gettimeofday signature to just check the signature.  Merely
64296         compile it, since linking doesn't test signature.  Improve test for
64297         whether gettimeofday.o is actually needed.
64298         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
64299         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
64300         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
64301         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
64302         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
64303         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
64304         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
64305         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
64306         than worrying about sys/time.h.
64307         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
64308         Don't bother worrying about TIME_WITH_SYS_TIME.
64309         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
64310         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
64311         * m4/sys_time_h.m4: New file.
64312         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
64313         Don't include sys/time.h.  Return from main rather than exiting.
64314         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
64315         all uses changed.
64316         * modules/gethrxtime (Depends-on): Add sys_time.
64317         * modules/gettime (Depends-on): Likewise.
64318         * modules/gettimeofday (Depends-on): Likewise.
64319         * modules/nanosleep (Depends-on): Likewise.
64320         * modules/settime (Depends-on): Likewise.
64321         * modules/tempname (Depends-on): Likewise.
64322         * modules/utimens (Depends-on): Likewise.
64323         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
64324         (Include): Change back to <sys/time.h>.
64325         (Maintainer): Add self.
64326         * modules/sys_time: New file.
64327         * modules/tempname (Depends-on): Add gettimeofday.
64328         * tests/test-gettimeofday.c: Include <sys/time.h>
64329         rather than gettimeofday.h.
64330
64331 2007-01-17  Bruno Haible  <bruno@clisp.org>
64332
64333         * gnulib-tool (func_get_license): Revert last patch. Instead, let
64334         the license default to GPL.
64335         (func_create_testdir): Don't complain if a module is LGPL and its
64336         tests module depends on GPLed modules.
64337
64338 2007-01-17  Bruno Haible  <bruno@clisp.org>
64339
64340         * lib/gettimeofday.c (gettimeofday): Add code for the case
64341         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
64342         maximum possible value for tv->tv_usec, rather than the minimum one.
64343
64344 2005-10-08  Martin Lambers  <marlam@marlam.de>
64345 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
64346 2007-01-16  Bruno Haible  <bruno@clisp.org>
64347
64348         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
64349         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
64350         gl_FUNC_GETTIMEOFDAY.
64351         (Include): Add gettimeofday.h.
64352         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
64353         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
64354         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
64355         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
64356         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
64357         * lib/gettimeofday.h: New file.
64358         * lib/gettimeofday.c: Include <sys/timeb.h>.
64359         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
64360         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
64361         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
64362         fall back on time().
64363
64364         * tests/test-gettimeofday.c: New file.
64365         * modules/gettimeofday-tests: New file.
64366
64367 2007-01-16  Eric Blake  <ebb9@byu.net>
64368
64369         * modules/fnmatch (Depends-on): Depend on wchar.
64370         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
64371         * m4/fnmatch.m4: Likewise.
64372         * modules/mbchar (Makefile.am): Assume <wchar.h>.
64373         * m4/mbchar.m4: Likewise.
64374         * modules/mbswidth (Depends-on): Depend on wchar.
64375         * lib/mbswidth.c: Assume <wchar.h>.
64376         * m4/mbswidth.m4: Likewise.
64377         * modules/quotearg (Depends-on): Depend on wchar.
64378         * lib/quotearg.c: Assume <wchar.h>.
64379         * m4/quotearg.m4: Likewise.
64380         * modules/regex (Depends-on): Depend on wchar.
64381         * lib/regex_internal.h: Assume <wchar.h>.
64382         * m4/regex.m4: Likewise.
64383         * modules/stdint (Depends-on): Depend on wchar.
64384         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
64385         * m4/stdint.m4: Likewise.
64386         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
64387         * modules/strftime (Depends-on): Depend on wchar.
64388         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
64389         * modules/strtol (Depends-on): Depend on wchar.
64390         * lib/strtol.c: Assume <wchar.h>.
64391         * modules/wcwidth (Depends-on): Depend on wchar.
64392         * lib/wcwidth.h: Assume <wchar.h>.
64393         * m4/wcwidth.m4: Likewise.
64394
64395 2007-01-16  Bruno Haible  <bruno@clisp.org>
64396
64397         * modules/csharpexec-script: New, created from...
64398         * modules/csharpexec: ... this.
64399
64400 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
64401
64402         * modules/javaexec-script: New, created from...
64403         * modules/javaexec: ... this.
64404
64405 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
64406
64407         * modules/poll (Dependencies): Add sys_select.
64408
64409 2007-01-15  Jim Meyering  <jim@meyering.net>
64410
64411         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
64412         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
64413         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
64414         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
64415
64416 2007-01-15  Bruno Haible  <bruno@clisp.org>
64417
64418         * modules/striconveh: New file.
64419         * lib/striconveh.h: New file.
64420         * lib/striconveh.c: New file.
64421         * MODULES.html.sh (Internationalization functions): Add striconveh.
64422
64423         * modules/striconveh-tests: New file.
64424         * tests/test-striconveh.c: New file.
64425
64426 2007-01-15  Bruno Haible  <bruno@clisp.org>
64427
64428         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
64429         not from GNU libiconv or GNU libc.
64430
64431 2007-01-15  Bruno Haible  <bruno@clisp.org>
64432
64433         * doc/gnulib-intro.texi (Copyright): Explain the different license
64434         terms for module descriptions, autoconf macros, tests, documentation.
64435
64436 2007-01-14  Bruno Haible  <bruno@clisp.org>
64437
64438         * modules/striconv-tests: New file.
64439         * tests/test-striconv.c: New file.
64440
64441 2007-01-14  Bruno Haible  <bruno@clisp.org>
64442
64443         * modules/iconv-tests: New file.
64444         * tests/test-iconv.c: New file.
64445
64446 2007-01-14  Bruno Haible  <bruno@clisp.org>
64447
64448         * gnulib-tool (func_get_license): For test modules, use the license of
64449         the main module.
64450
64451 2007-01-14  Bruno Haible  <bruno@clisp.org>
64452
64453         * modules/iconv (Include): Clarify that <iconv.h> can only be included
64454         if iconv is found to exist.
64455
64456 2007-01-14  Bruno Haible  <bruno@clisp.org>
64457
64458         * modules/c-ctype-tests: New file.
64459         * tests/test-c-ctype.c: New file.
64460
64461 2007-01-14  Bruno Haible  <bruno@clisp.org>
64462
64463         * modules/binary-io-tests: New file.
64464         * tests/test-binary-io.sh: New file.
64465         * tests/test-binary-io.c: New file.
64466
64467 2007-01-14  Bruno Haible  <bruno@clisp.org>
64468
64469         * modules/array-oset-tests: New file.
64470         * tests/test-array_oset.c: New file.
64471
64472 2007-01-14  Bruno Haible  <bruno@clisp.org>
64473
64474         * modules/array-list-tests: New file.
64475         * tests/test-array_list.c: New file.
64476
64477 2007-01-14  Bruno Haible  <bruno@clisp.org>
64478
64479         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
64480         and make.
64481         Reported by Simon Josefsson in
64482         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
64483
64484 2007-01-14  Bruno Haible  <bruno@clisp.org>
64485
64486         * modules/allocsa-tests: New file.
64487         * tests/test-allocsa.c: New file.
64488
64489 2007-01-14  Bruno Haible  <bruno@clisp.org>
64490
64491         * modules/fchdir (Depends-on): Add absolute-header.
64492         * modules/unistd (Depends-on): Likewise.
64493
64494 2006-12-30  Bruno Haible  <bruno@clisp.org>
64495
64496         * modules/fchdir: New file.
64497         * modules/unistd (Files): Add lib/unistd_.h.
64498         (Makefile.am): Generate unistd.h from unistd_.h.
64499         * lib/fchdir.c: New file.
64500         * lib/dirent_.h: New file.
64501         * lib/unistd_.h: New file.
64502         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
64503         * m4/fchdir.m4: New file.
64504         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
64505         (gl_HEADER_UNISTD): Invoke it.
64506         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
64507         function.
64508         * lib/backupfile.c (opendir, closedir): Undefine.
64509         * lib/chown.c (open, close): Undefine.
64510         * lib/clean-temp.c (open, close): Undefine.
64511         * lib/copy-file.c (open, close): Undefine.
64512         * lib/execute.c (open, close): Undefine.
64513         * lib/fsusage.c (open, close): Undefine.
64514         * lib/gc-gnulib.c (open, close): Undefine.
64515         * lib/getcwd.c (opendir, closedir): Undefine.
64516         * lib/glob.c (opendir, closedir): Undefine.
64517         * lib/javacomp.c (open, close): Undefine.
64518         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
64519         * lib/openat-proc.c (open, close): Undefine.
64520         * lib/pagealign_alloc.c (open, close): Undefine.
64521         * lib/pipe.c (open, close): Undefine.
64522         * lib/progreloc.c (open, close): Undefine.
64523         * lib/savedir.c (opendir, closedir): Undefine.
64524         * lib/utime.c (open, close): Undefine.
64525         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
64526
64527 2007-01-10  Bruno Haible  <bruno@clisp.org>
64528
64529         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
64530
64531 2007-01-12  Eric Blake  <ebb9@byu.net>
64532
64533         Provide a robust <wchar.h>.  Further simplifications are now
64534         possible in other modules, but not included here.
64535         * modules/wchar: New module.
64536         * m4/wchar.m4: New file.
64537         * lib/wchar_.h: Likewise.
64538         * modules/mbchar (Depends-on): Depend on wchar, as the first use
64539         of the new module.
64540         * MODULES.html.sh (Extended multibyte and wide character utilities):
64541         New section.
64542
64543 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
64544
64545         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
64546         to a reasonable default for memory allocation.
64547         (xreadlink): Don't allocate a huge buffer, to work around a buggy
64548         file system that reports garbage st_size values for symlinks.
64549         Problem reported by Liyang Hu.
64550
64551 2007-01-11  Simon Josefsson  <simon@josefsson.org>
64552
64553         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
64554         Emacs .#* auto-save files).
64555
64556 2007-01-11  Bruno Haible  <bruno@clisp.org>
64557
64558         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
64559         directory.
64560
64561 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
64562
64563         Use @...@ consistently in lib/wctype_.h.
64564         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
64565         on it being set to 1 or 0.
64566         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
64567         go back to AC_SUBSTing it.
64568         * modules/wctype (Makefile.am): Undo previous change.
64569
64570 2007-01-10  Eric Blake  <ebb9@byu.net>
64571
64572         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
64573         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
64574         * modules/wctype (Makefile.am): Likewise.
64575         Reported by Chris McGuire.
64576
64577 2007-01-10  Jim Meyering  <jim@meyering.net>
64578
64579         fts.c: a small readability/maintainability improvement
64580         * lib/fts.c (fts_read): Make this code slightly more readable and
64581         maintainable by hoisting the "sp->fts_cur = p" assignments to
64582         immediately follow the statements that set P.  Derived from
64583         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
64584
64585 2007-01-10  Eric Blake  <ebb9@byu.net>
64586
64587         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
64588         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
64589         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
64590         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
64591         Reported by Chris McGuire.
64592
64593 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64594
64595         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
64596         in sed script.
64597
64598 2007-01-09  Bruno Haible  <bruno@clisp.org>
64599
64600         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
64601         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
64602         variables.
64603         (func_module): Use them.
64604
64605 2007-01-09  Bruno Haible  <bruno@clisp.org>
64606
64607         * modules/unistr/base: New file.
64608         * lib/unistr.h: New file.
64609
64610         * modules/unistr/u8-to-u16: New file.
64611         * lib/unistr/u8-to-u16.c: New file.
64612
64613         * modules/unistr/u8-to-u32: New file.
64614         * lib/unistr/u8-to-u32.c: New file.
64615
64616         * modules/unistr/u16-to-u8: New file.
64617         * lib/unistr/u16-to-u8.c: New file.
64618
64619         * modules/unistr/u16-to-u32: New file.
64620         * lib/unistr/u16-to-u32.c: New file.
64621
64622         * modules/unistr/u32-to-u8: New file.
64623         * lib/unistr/u32-to-u8.c: New file.
64624
64625         * modules/unistr/u32-to-u16: New file.
64626         * lib/unistr/u32-to-u16.c: New file.
64627
64628         * modules/unistr/u8-check: New file.
64629         * modules/unistr/u16-check: New file.
64630         * modules/unistr/u32-check: New file.
64631         * lib/unistr/u8-check.c: New file.
64632         * lib/unistr/u16-check.c: New file.
64633         * lib/unistr/u32-check.c: New file.
64634
64635         * modules/unistr/u8-chr: New file.
64636         * modules/unistr/u16-chr: New file.
64637         * modules/unistr/u32-chr: New file.
64638         * lib/unistr/u8-chr.c: New file.
64639         * lib/unistr/u16-chr.c: New file.
64640         * lib/unistr/u32-chr.c: New file.
64641
64642         * modules/unistr/u8-cmp: New file.
64643         * modules/unistr/u16-cmp: New file.
64644         * modules/unistr/u32-cmp: New file.
64645         * lib/unistr/u8-cmp.c: New file.
64646         * lib/unistr/u16-cmp.c: New file.
64647         * lib/unistr/u32-cmp.c: New file.
64648
64649         * modules/unistr/u8-cpy: New file.
64650         * modules/unistr/u16-cpy: New file.
64651         * modules/unistr/u32-cpy: New file.
64652         * lib/unistr/u8-cpy.c: New file.
64653         * lib/unistr/u16-cpy.c: New file.
64654         * lib/unistr/u32-cpy.c: New file.
64655         * lib/unistr/u-cpy.h: New file.
64656
64657         * modules/unistr/u8-cpy-alloc: New file.
64658         * modules/unistr/u16-cpy-alloc: New file.
64659         * modules/unistr/u32-cpy-alloc: New file.
64660         * lib/unistr/u8-cpy-alloc.c: New file.
64661         * lib/unistr/u16-cpy-alloc.c: New file.
64662         * lib/unistr/u32-cpy-alloc.c: New file.
64663         * lib/unistr/u-cpy-alloc.h: New file.
64664
64665         * modules/unistr/u8-endswith: New file.
64666         * modules/unistr/u16-endswith: New file.
64667         * modules/unistr/u32-endswith: New file.
64668         * lib/unistr/u8-endswith.c: New file.
64669         * lib/unistr/u16-endswith.c: New file.
64670         * lib/unistr/u32-endswith.c: New file.
64671         * lib/unistr/u-endswith.h: New file.
64672
64673         * modules/unistr/u8-mblen: New file.
64674         * modules/unistr/u16-mblen: New file.
64675         * modules/unistr/u32-mblen: New file.
64676         * lib/unistr/u8-mblen.c: New file.
64677         * lib/unistr/u16-mblen.c: New file.
64678         * lib/unistr/u32-mblen.c: New file.
64679
64680         * modules/unistr/u8-mbtouc: New file.
64681         * modules/unistr/u16-mbtouc: New file.
64682         * modules/unistr/u32-mbtouc: New file.
64683         * lib/unistr/u8-mbtouc.c: New file.
64684         * lib/unistr/u16-mbtouc.c: New file.
64685         * lib/unistr/u32-mbtouc.c: New file.
64686
64687         * modules/unistr/u8-mbtouc-safe: New file.
64688         * modules/unistr/u16-mbtouc-safe: New file.
64689         * modules/unistr/u32-mbtouc-safe: New file.
64690         * lib/unistr/u8-mbtouc-safe.c: New file.
64691         * lib/unistr/u16-mbtouc-safe.c: New file.
64692         * lib/unistr/u32-mbtouc-safe.c: New file.
64693
64694         * modules/unistr/u8-move: New file.
64695         * modules/unistr/u16-move: New file.
64696         * modules/unistr/u32-move: New file.
64697         * lib/unistr/u8-move.c: New file.
64698         * lib/unistr/u16-move.c: New file.
64699         * lib/unistr/u32-move.c: New file.
64700         * lib/unistr/u-move.h: New file.
64701
64702         * modules/unistr/u8-next: New file.
64703         * modules/unistr/u16-next: New file.
64704         * modules/unistr/u32-next: New file.
64705         * lib/unistr/u8-next.c: New file.
64706         * lib/unistr/u16-next.c: New file.
64707         * lib/unistr/u32-next.c: New file.
64708
64709         * modules/unistr/u8-prev: New file.
64710         * modules/unistr/u16-prev: New file.
64711         * modules/unistr/u32-prev: New file.
64712         * lib/unistr/u8-prev.c: New file.
64713         * lib/unistr/u16-prev.c: New file.
64714         * lib/unistr/u32-prev.c: New file.
64715
64716         * modules/unistr/u8-set: New file.
64717         * modules/unistr/u16-set: New file.
64718         * modules/unistr/u32-set: New file.
64719         * lib/unistr/u8-set.c: New file.
64720         * lib/unistr/u16-set.c: New file.
64721         * lib/unistr/u32-set.c: New file.
64722         * lib/unistr/u-set.h: New file.
64723
64724         * modules/unistr/u8-startswith: New file.
64725         * modules/unistr/u16-startswith: New file.
64726         * modules/unistr/u32-startswith: New file.
64727         * lib/unistr/u8-startswith.c: New file.
64728         * lib/unistr/u16-startswith.c: New file.
64729         * lib/unistr/u32-startswith.c: New file.
64730         * lib/unistr/u-startswith.h: New file.
64731
64732         * modules/unistr/u8-stpcpy: New file.
64733         * modules/unistr/u16-stpcpy: New file.
64734         * modules/unistr/u32-stpcpy: New file.
64735         * lib/unistr/u8-stpcpy.c: New file.
64736         * lib/unistr/u16-stpcpy.c: New file.
64737         * lib/unistr/u32-stpcpy.c: New file.
64738         * lib/unistr/u-stpcpy.h: New file.
64739
64740         * modules/unistr/u8-stpncpy: New file.
64741         * modules/unistr/u16-stpncpy: New file.
64742         * modules/unistr/u32-stpncpy: New file.
64743         * lib/unistr/u8-stpncpy.c: New file.
64744         * lib/unistr/u16-stpncpy.c: New file.
64745         * lib/unistr/u32-stpncpy.c: New file.
64746         * lib/unistr/u-stpncpy.h: New file.
64747
64748         * modules/unistr/u8-strcat: New file.
64749         * modules/unistr/u16-strcat: New file.
64750         * modules/unistr/u32-strcat: New file.
64751         * lib/unistr/u8-strcat.c: New file.
64752         * lib/unistr/u16-strcat.c: New file.
64753         * lib/unistr/u32-strcat.c: New file.
64754         * lib/unistr/u-strcat.h: New file.
64755
64756         * modules/unistr/u8-strchr: New file.
64757         * modules/unistr/u16-strchr: New file.
64758         * modules/unistr/u32-strchr: New file.
64759         * lib/unistr/u8-strchr.c: New file.
64760         * lib/unistr/u16-strchr.c: New file.
64761         * lib/unistr/u32-strchr.c: New file.
64762
64763         * modules/unistr/u8-strcmp: New file.
64764         * modules/unistr/u16-strcmp: New file.
64765         * modules/unistr/u32-strcmp: New file.
64766         * lib/unistr/u8-strcmp.c: New file.
64767         * lib/unistr/u16-strcmp.c: New file.
64768         * lib/unistr/u32-strcmp.c: New file.
64769
64770         * modules/unistr/u8-strcpy: New file.
64771         * modules/unistr/u16-strcpy: New file.
64772         * modules/unistr/u32-strcpy: New file.
64773         * lib/unistr/u8-strcpy.c: New file.
64774         * lib/unistr/u16-strcpy.c: New file.
64775         * lib/unistr/u32-strcpy.c: New file.
64776         * lib/unistr/u-strcpy.h: New file.
64777
64778         * modules/unistr/u8-strcspn: New file.
64779         * modules/unistr/u16-strcspn: New file.
64780         * modules/unistr/u32-strcspn: New file.
64781         * lib/unistr/u8-strcspn.c: New file.
64782         * lib/unistr/u16-strcspn.c: New file.
64783         * lib/unistr/u32-strcspn.c: New file.
64784         * lib/unistr/u-strcspn.h: New file.
64785
64786         * modules/unistr/u8-strdup: New file.
64787         * modules/unistr/u16-strdup: New file.
64788         * modules/unistr/u32-strdup: New file.
64789         * lib/unistr/u8-strdup.c: New file.
64790         * lib/unistr/u16-strdup.c: New file.
64791         * lib/unistr/u32-strdup.c: New file.
64792         * lib/unistr/u-strdup.h: New file.
64793
64794         * modules/unistr/u8-strlen: New file.
64795         * modules/unistr/u16-strlen: New file.
64796         * modules/unistr/u32-strlen: New file.
64797         * lib/unistr/u8-strlen.c: New file.
64798         * lib/unistr/u16-strlen.c: New file.
64799         * lib/unistr/u32-strlen.c: New file.
64800         * lib/unistr/u-strlen.h: New file.
64801
64802         * modules/unistr/u8-strmblen: New file.
64803         * modules/unistr/u16-strmblen: New file.
64804         * modules/unistr/u32-strmblen: New file.
64805         * lib/unistr/u8-strmblen.c: New file.
64806         * lib/unistr/u16-strmblen.c: New file.
64807         * lib/unistr/u32-strmblen.c: New file.
64808
64809         * modules/unistr/u8-strmbtouc: New file.
64810         * modules/unistr/u16-strmbtouc: New file.
64811         * modules/unistr/u32-strmbtouc: New file.
64812         * lib/unistr/u8-strmbtouc.c: New file.
64813         * lib/unistr/u16-strmbtouc.c: New file.
64814         * lib/unistr/u32-strmbtouc.c: New file.
64815
64816         * modules/unistr/u8-strncat: New file.
64817         * modules/unistr/u16-strncat: New file.
64818         * modules/unistr/u32-strncat: New file.
64819         * lib/unistr/u8-strncat.c: New file.
64820         * lib/unistr/u16-strncat.c: New file.
64821         * lib/unistr/u32-strncat.c: New file.
64822         * lib/unistr/u-strncat.h: New file.
64823
64824         * modules/unistr/u8-strncmp: New file.
64825         * modules/unistr/u16-strncmp: New file.
64826         * modules/unistr/u32-strncmp: New file.
64827         * lib/unistr/u8-strncmp.c: New file.
64828         * lib/unistr/u16-strncmp.c: New file.
64829         * lib/unistr/u32-strncmp.c: New file.
64830
64831         * modules/unistr/u8-strncpy: New file.
64832         * modules/unistr/u16-strncpy: New file.
64833         * modules/unistr/u32-strncpy: New file.
64834         * lib/unistr/u8-strncpy.c: New file.
64835         * lib/unistr/u16-strncpy.c: New file.
64836         * lib/unistr/u32-strncpy.c: New file.
64837         * lib/unistr/u-strncpy.h: New file.
64838
64839         * modules/unistr/u8-strnlen: New file.
64840         * modules/unistr/u16-strnlen: New file.
64841         * modules/unistr/u32-strnlen: New file.
64842         * lib/unistr/u8-strnlen.c: New file.
64843         * lib/unistr/u16-strnlen.c: New file.
64844         * lib/unistr/u32-strnlen.c: New file.
64845         * lib/unistr/u-strnlen.h: New file.
64846
64847         * modules/unistr/u8-strpbrk: New file.
64848         * modules/unistr/u16-strpbrk: New file.
64849         * modules/unistr/u32-strpbrk: New file.
64850         * lib/unistr/u8-strpbrk.c: New file.
64851         * lib/unistr/u16-strpbrk.c: New file.
64852         * lib/unistr/u32-strpbrk.c: New file.
64853         * lib/unistr/u-strpbrk.h: New file.
64854
64855         * modules/unistr/u8-strrchr: New file.
64856         * modules/unistr/u16-strrchr: New file.
64857         * modules/unistr/u32-strrchr: New file.
64858         * lib/unistr/u8-strrchr.c: New file.
64859         * lib/unistr/u16-strrchr.c: New file.
64860         * lib/unistr/u32-strrchr.c: New file.
64861
64862         * modules/unistr/u8-strspn: New file.
64863         * modules/unistr/u16-strspn: New file.
64864         * modules/unistr/u32-strspn: New file.
64865         * lib/unistr/u8-strspn.c: New file.
64866         * lib/unistr/u16-strspn.c: New file.
64867         * lib/unistr/u32-strspn.c: New file.
64868         * lib/unistr/u-strspn.h: New file.
64869
64870         * modules/unistr/u8-strstr: New file.
64871         * modules/unistr/u16-strstr: New file.
64872         * modules/unistr/u32-strstr: New file.
64873         * lib/unistr/u8-strstr.c: New file.
64874         * lib/unistr/u16-strstr.c: New file.
64875         * lib/unistr/u32-strstr.c: New file.
64876         * lib/unistr/u-strstr.h: New file.
64877
64878         * modules/unistr/u8-strtok: New file.
64879         * modules/unistr/u16-strtok: New file.
64880         * modules/unistr/u32-strtok: New file.
64881         * lib/unistr/u8-strtok.c: New file.
64882         * lib/unistr/u16-strtok.c: New file.
64883         * lib/unistr/u32-strtok.c: New file.
64884         * lib/unistr/u-strtok.h: New file.
64885
64886         * modules/unistr/u8-uctomb: New file.
64887         * modules/unistr/u16-uctomb: New file.
64888         * modules/unistr/u32-uctomb: New file.
64889         * lib/unistr/u8-uctomb.c: New file.
64890         * lib/unistr/u16-uctomb.c: New file.
64891         * lib/unistr/u32-uctomb.c: New file.
64892
64893         * MODULES.html.sh (Unicode string functions): Add the new modules.
64894
64895 2007-01-08  Bruno Haible  <bruno@clisp.org>
64896
64897         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
64898         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
64899         subdirectories.
64900
64901 2007-01-08  Karl Berry  <karl@gnu.org>
64902
64903         * doc/error.texi: mention that main() fns must set program_name
64904         when progname is used.
64905
64906 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
64907
64908         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
64909         WCTYPE_H is empty, for the benefit of builds from non-distclean
64910         directories.  Problem reported by Eric Blake in
64911         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
64912
64913 2007-01-08  Bruno Haible  <bruno@clisp.org>
64914
64915         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
64916         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
64917         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
64918         PROVIDE_CANONICALIZE_FILENAME_MODE.
64919         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
64920
64921 2007-01-08  Bruno Haible  <bruno@clisp.org>
64922
64923         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
64924         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
64925         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
64926         * lib/fts.c: Likewise.
64927         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
64928
64929 2006-12-25  Bruno Haible  <bruno@clisp.org>
64930
64931         * modules/utf8-ucs4-safe: New file.
64932         * lib/utf8-ucs4-safe.h: New file.
64933         * lib/unistr/utf8-ucs4-safe.c: New file.
64934
64935         * modules/utf16-ucs4-safe: New file.
64936         * lib/utf16-ucs4-safe.h: New file.
64937         * lib/unistr/utf16-ucs4-safe.c: New file.
64938
64939         * MODULES.html.sh (Unicode string functions): Add the new modules.
64940
64941 2007-01-08  Bruno Haible  <bruno@clisp.org>
64942
64943         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
64944         (Depends-on): Add unitypes.
64945         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
64946         (u8_mbtouc_aux): Move out to separate file.
64947         (u8_mbtouc): Use ucs4_t, uint8_t types.
64948         * lib/unistr/utf8-ucs4.c: New file.
64949
64950         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
64951         (Depends-on): Add unitypes.
64952         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
64953         (u16_mbtouc_aux): Move out to separate file.
64954         (u16_mbtouc): Use ucs4_t, uint16_t types.
64955         * lib/unistr/utf16-ucs4.c: New file.
64956
64957         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
64958         (Depends-on): Add unitypes.
64959         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
64960         (u8_uctomb_aux): Move out to separate file.
64961         (u8_uctomb): Use ucs4_t, uint8_t types.
64962         * lib/unistr/ucs4-utf8.c: New file.
64963
64964         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
64965         (Depends-on): Add unitypes.
64966         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
64967         (u16_uctomb_aux): Move out to separate file.
64968         (u16_uctomb): Use ucs4_t, uint16_t types.
64969         * lib/unistr/ucs4-utf16.c: New file.
64970
64971 2006-12-25  Bruno Haible  <bruno@clisp.org>
64972
64973         * modules/unitypes: New file.
64974         * lib/unitypes.h: New file.
64975         * MODULES.html.sh (func_all_modules): New section "Unicode string
64976         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
64977         this section. Add unitypes.
64978
64979 2007-01-08  Bruno Haible  <bruno@clisp.org>
64980
64981         Avoid variable names that conflict with those from libtool.
64982         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
64983         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
64984         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
64985         library_names_spec to acl_library_names_spec, hardcode_* to
64986         acl_hardcode_*.
64987         Reported by Ralf Wildenhues.
64988
64989 2007-01-08  Bruno Haible  <bruno@clisp.org>
64990
64991         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
64992         definition.
64993         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
64994         definition.
64995         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
64996         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
64997         definition.
64998         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
64999         definition.
65000         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
65001         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
65002         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
65003         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
65004         definition.
65005         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
65006         definition.
65007         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
65008         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
65009         GC_USE_<algorithm>.
65010         * lib/gc-libgcrypt.c: Likewise.
65011         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
65012         * modules/gc-arctwo (configure.ac): Likewise.
65013         * modules/gc-des (configure.ac): Likewise.
65014         * modules/gc-hmac-md5 (configure.ac): Likewise.
65015         * modules/gc-hmac-sha1 (configure.ac): Likewise.
65016         * modules/gc-md2 (configure.ac): Likewise.
65017         * modules/gc-md4 (configure.ac): Likewise.
65018         * modules/gc-md5 (configure.ac): Likewise.
65019         * modules/gc-random (configure.ac): Likewise.
65020         * modules/gc-rijndael (configure.ac): Likewise.
65021         * modules/gc-sha1 (configure.ac): Likewise.
65022
65023 2007-01-08  Bruno Haible  <bruno@clisp.org>
65024
65025         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
65026         macro definition.
65027         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
65028         definition.
65029         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
65030         definition.
65031         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
65032         * modules/fcntl-safer (configure.ac): Likewise.
65033         * modules/fopen-safer (configure.ac): Likewise.
65034         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
65035         GNULIB_FWRITEERROR macro definition.
65036
65037 2007-01-08  Bruno Haible  <bruno@clisp.org>
65038
65039         * m4/gnulib-common.m4: New file.
65040         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
65041         (func_get_filelist): Add m4/gnulib-common.m4.
65042
65043 2007-01-08  Bruno Haible  <bruno@clisp.org>
65044
65045         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
65046         command.
65047
65048 2007-01-08  Jim Meyering  <jim@meyering.net>
65049
65050         Use a more robust test for a "can't happen" condition.
65051         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
65052         narrowed the st_size value.  Presuming the "can't happen" condition
65053         is true, that narrowing could conceivably convert an invalid st_size
65054         value into a valid one.  Instead, use a change based on Matthew
65055         Woehlke's original patch.
65056
65057         Slight readability improvement: use an assert-like macro
65058         in place of literal "abort ()" uses.
65059         * lib/fts.c (fts_assert): Define.
65060         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
65061         Use this macro instead of a bare 'abort'.
65062
65063 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
65064
65065         Don't worry about using IRIX 5.3's wctype.h broken definitions;
65066         simply work around them.
65067         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
65068         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
65069         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
65070         declaring.
65071         Don't bother to define as macros, since the standard doesn't require it.
65072         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
65073         longer worry about IRIX 5.3.
65074         (HAVE_WCTYPE_CTMP_BUG): Remove.
65075
65076 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
65077
65078         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
65079         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
65080         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
65081         Problems reported by Georg Schwarz for IRIX 5.3.
65082
65083         * gnulib-tool (autoconf_minversion): Take the maximum version number
65084         found, not the minimum.  Problem reported by James Youngman.
65085
65086 2007-01-03  Karl Berry  <karl@gnu.org>
65087
65088         * doc/error.texi: new file, explaining interaction with progname.
65089         * doc/gnulib.texi: include it.  Update copyright.
65090
65091 2007-01-03  Simon Josefsson  <simon@josefsson.org>
65092
65093         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
65094         AC_CANONICAL_HOST, to improve autobuild outputs.
65095
65096 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
65097             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
65098
65099         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
65100         sockets, server sockets, and other file descriptors.  Count errors
65101         to compute the return value.  Reorder the code a bit to be easier
65102         to follow.  Don't set event bits that were not requested (except
65103         POLLERR and POLLHUP).
65104
65105 2007-01-01  Bruno Haible  <bruno@clisp.org>
65106
65107         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
65108
65109 2007-01-03  Jim Meyering  <jim@meyering.net>
65110
65111         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
65112
65113 2007-01-02  Bruno Haible  <bruno@clisp.org>
65114
65115         * modules/settime (Include): Require timespec.h.
65116         * modules/nanosleep (Include): Likewise.
65117
65118 2007-01-01  Bruno Haible  <bruno@clisp.org>
65119
65120         * gnulib-tool (func_emit_copyright_notice): Bump year.
65121         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
65122
65123 2007-01-01  Bruno Haible  <bruno@clisp.org>
65124
65125         Improve support for OpenBSD.
65126         * build-aux/config.rpath (libname_spec): Export.
65127         (library_names_spec): New variable. Export.
65128         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
65129         library_names_spec from the config.rpath output. Locate shared library
65130         through the name pattern in library_names_spec.
65131
65132 2007-01-01  Eric Blake  <ebb9@byu.net>
65133
65134         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
65135
65136 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
65137
65138         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
65139         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
65140         assume the C locale, and avoid an "eval" that could cause trouble.
65141         Problem with SORT reported by Bob Proulx.
65142
65143         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
65144         Define.  Trivial patch from Henning Nielsen Lund, originally
65145         sent to bug-grep@gnu.org today.
65146
65147 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
65148
65149         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
65150         struct stat.  Problem reported by Henning Nielsen Lund.
65151         * lib/acl.c: Include acl.h first, to check interface.  Don't
65152         bother to include sys/types.h and sys/stat.h again.
65153
65154 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
65155
65156         Import the following change from libc; problem reported by
65157         Sven Verdoolaege.
65158
65159         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
65160
65161         [BZ #1373]
65162         * lib/argp.h: Remove __NTH for __argp_usage inline function.
65163
65164 2006-12-28  Jim Meyering  <jim@meyering.net>
65165
65166         * build-aux/announce-gen: Do not assume that the package
65167         builds any of tar.gz, tar.bz2, and .xdelta files.
65168         Suggestion from Simon Josefsson.
65169
65170 2006-12-28  Simon Josefsson  <simon@josefsson.org>
65171
65172         * modules/announce-gen: New file.
65173
65174 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
65175
65176         * lib/mbchar.h: Just include <wctype.h>; the wctype module
65177         handles its gotchas now.
65178         * lib/mbswidth.c: Likewise.
65179         * lib/wcwidth.h: Likewise.
65180         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
65181         and iswcntrl; the wctype module does this stuff now.
65182         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
65183         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
65184         * modules/mbchar (Depends-on): Add wctype.
65185         * modules/mbswidth (Depends-on): Likewise.
65186         * modules/wcwidth (Depends-on): Likewise.
65187
65188 2006-12-27  Eric Blake  <ebb9@byu.net>
65189
65190         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
65191         module uses more than what <wctype.h> is required to provide.
65192
65193 2006-12-26  Eric Blake  <ebb9@byu.net>
65194
65195         * gnulib-tool (sed_extract_prog): Avoid space-tab.
65196
65197 2006-12-26  Eric Blake  <ebb9@byu.net>
65198
65199         * modules/absolute-header: New module.
65200         * modules/fcntl (Depends-on): Depend on it.
65201         * modules/inttypes (Depends-on): Likewise.
65202         * modules/stdint (Depends-on): Likewise.
65203         * modules/sys_stat (Depends-on): Likewise.
65204         * modules/wctype (Depends-on): Likewise.
65205         * MODULES.html.sh (Support for building libraries and
65206         executables): Document it.
65207
65208 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
65209
65210         * gnulib-tool (SED): Remove, undoing previous change.
65211         The problem was that it broke coreutils on Solaris, because
65212         "sed --posix" leaked into a makefile.
65213         (sed): New alias, if 'alias' and GNU sed.
65214
65215 2006-12-24  Jim Meyering  <jim@meyering.net>
65216
65217         Work around an fchownat bug in glibc-2.4:
65218         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
65219         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
65220         in spite of the -P option.
65221         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
65222         New macros.
65223         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
65224         * modules/openat (Files): Add lib/fchownat.c.
65225         * lib/openat.c (fchownat): Don't define here.  Move to...
65226         * lib/fchownat.c: ...this new file.
65227
65228 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
65229
65230         Fix bug reported by Bruno Haible in
65231         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
65232         where quotearg.c didn't compile on Mac OS X 10.2 because it
65233         lacks <wchar.h> and wint_t.
65234         * lib/wctype_.h (__wctype_wint_t): New type.
65235         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
65236         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
65237         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
65238         Arg is now of type __wctype_wint_t, not wint_t.
65239         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
65240         substitute HAVE_WINT_T.
65241         * modules/wctype (Files): Add m4/wint_t.m4.
65242         (wctype.h): Substitute HAVE_WINT_T.
65243
65244 2006-12-23  Bruno Haible  <bruno@clisp.org>
65245
65246         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
65247
65248 2006-12-23  Bruno Haible  <bruno@clisp.org>
65249
65250         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
65251         S_ISLNK.
65252         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
65253         mingw.
65254
65255 2006-12-22  Bruno Haible  <bruno@clisp.org>
65256
65257         * lib/copy-file.c: Include acl.h.
65258         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
65259         Close the file descriptors only after being done with copy_acl.
65260         * modules/copy-file (Depends-on): Add acl.
65261
65262 2006-12-22  Bruno Haible  <bruno@clisp.org>
65263
65264         * gnulib-tool (SED): New variable.
65265         Use $SED instead of sed everywhere.
65266
65267 2006-12-22  Bruno Haible  <bruno@clisp.org>
65268
65269         * modules/no-c++: New file.
65270         * m4/no-c++.m4: New file.
65271         * MODULES.html.sh (Support for building libraries and executables):
65272         Add no-c++.
65273
65274 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
65275
65276         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
65277         Include <limits.h>, and use its INT_MAX to rewrite the
65278         j loop so that it does not overflow 'int'.  Problem reported by
65279         Ralf Wildenhues in
65280         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
65281         Play it safe by shifting left by 1 rather than multiplying by 2,
65282         as GCC is less likely to optimize this away when the value
65283         is signed (when it assumes overflow leads to undefined behavior).
65284         Also, don't assume time_t uses two's complement.
65285
65286 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
65287
65288         * MODULES.html.sh: New module wctype.
65289         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
65290         * lib/fnmatch.c: Don't bother to include <wchar.h> before
65291         <wctype.h>, since the new wctype module should fix this.
65292         * lib/quotearg.c: Include <wctype.h> unconditionally, since
65293         the wctype module should arrange for it.
65294         * lib/regex_internal.h: Likewise.
65295         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
65296         since the wctype module should handle this now.
65297         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
65298         * modules/fnmatch (Depends-on): Add wctype.
65299         * modules/quotearg (Depends-on): Likewise.
65300         * modules/regex (Depends-on): Likewise.
65301
65302 2006-12-19  Bruno Haible  <bruno@clisp.org>
65303
65304         * lib/strdup.h [C++]: Wrap definitions in extern "C".
65305         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
65306
65307 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65308
65309         * modules/savewd (Depends-on): Fix dependency on fcntl.
65310
65311 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
65312
65313         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
65314         conforms to C99, rather than relying on the user's environment
65315         setting of STDINT_H.
65316
65317 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
65318         and Eric Blake  <ebb9@byu.net>
65319
65320         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
65321         This is more consistent with the other defines here.
65322         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
65323         Port to z/OS.  Problem reported by Paul Gilmartin.
65324         Change local vars to use gl_ prefix rather than ac_.
65325         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
65326         with other defines.
65327         * modules/double-slash-root: New module.
65328         * modules/dirname (Files): Remove m4/double-slash-root.m4.
65329         (Depends-on): Add double-slash-root.
65330         * MODULES.html.sh (File system functions): Mention new module.
65331
65332 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
65333
65334         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
65335         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
65336         This is for the benefit of gzip, which doesn't do i18n.
65337
65338 2006-12-12  Jim Meyering  <jim@meyering.net>
65339
65340         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
65341         Reported by Andreas Schwab <schwab@suse.de>.
65342
65343 2006-12-12  Bruno Haible  <bruno@clisp.org>
65344
65345         Merge these changes.
65346         2006-09-05  Bruno Haible  <bruno@clisp.org>
65347         * lib/iconvme.c (iconv_string): No need to save and restore errno when
65348         iconv_alloc succeeded.
65349         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
65350         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
65351         test for " && dest " at the end - dest is always != NULL there. Call
65352         iconv with 4xNULL arguments initially, to reset the state. Call iconv
65353         with 2xNULL arguments, also to flush the state storage. Handle the
65354         IRIX iconv behaviour. Realloc the final result, to throw away unused
65355         memory.
65356
65357 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
65358
65359         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
65360         and fchmodat unconditionally, since glibc 2.4 has them.
65361         Problem reported by Arkadiusz Miskiewicz.
65362
65363 2006-12-10  Bruno Haible  <bruno@clisp.org>
65364
65365         * gnulib-tool (func_import): Show the include files only for those
65366         modules that are copied and specified.
65367         Reported by Karl Berry.
65368
65369 2006-12-08  Jim Meyering  <jim@meyering.net>
65370
65371         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
65372         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
65373
65374         * build-aux/announce-gen: Add two new options, both optional:
65375         --bootstrap-tools=TOOL_LIST
65376               a comma-separated list of tools, e.g.,
65377               autoconf,automake,bison,gnulib
65378         --gnulib-snapshot-date=DATE
65379               if gnulib is in the bootstrap tool list,
65380               then report this as the snapshot date.
65381               If not specified, use the current date/time.
65382               If you specify a date here, be sure it's UTC.
65383
65384 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65385
65386         * tests/test-argp-2.sh: Fix test to match actual output.
65387         (func_compare): Fix sed script to be portable.
65388
65389 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
65390
65391         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
65392         workaround for this case.  It is not autoconfigured now; offhand
65393         it's hard to see how to autoconfigure it.
65394
65395 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
65396
65397         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
65398         a directory that is about to be chowned.  Such a directory's
65399         initial file permissions should permit the owner only and this
65400         should not be changed until after the chown, since the group and
65401         other bits would be incorrect if they granted permission before
65402         the chown.
65403
65404         Fix porting problem for iswctype reported by Georg Schwarz in:
65405         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
65406         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
65407         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
65408         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
65409         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
65410
65411 2006-12-03  Jim Meyering  <jim@meyering.net>
65412
65413         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
65414         p->fts_statp may not yet be defined.
65415         (fts_read): Instead, set it in the caller, once p->fts_statp is
65416         sure to be defined, and corresponds to a top-level directory.
65417         This bug made du -x fail.  Here's the coreutils test case:
65418         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
65419         Reported by Mike Frysinger.
65420
65421 2006-12-01  Jim Meyering  <jim@meyering.net>
65422
65423         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
65424         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
65425         Reported by Simon Josefsson.
65426
65427 2006-11-30  Jim Meyering  <jim@meyering.net>
65428
65429         * m4/warning.m4: Use the all-permissive copyright notice
65430         recommended by RMS (rather than LGPL).
65431         * m4/vararrays.m4: Likewise.
65432         * m4/flexmember.m4: Likewise.
65433
65434 2006-11-29  Bruno Haible  <bruno@clisp.org>
65435
65436         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
65437         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
65438         using +=.
65439         Reported by Simon Josefsson <simon@josefsson.org>.
65440
65441 2006-11-28  James Youngman <jay@gnu.org>
65442
65443         * README: Advise users that they might find the bug-gnulib@gnu.org
65444         and autotools-announce@gnu.org mailing lists useful.
65445
65446 2006-11-28  Bruno Haible  <bruno@clisp.org>
65447
65448         * m4/ptrdiff_max.m4: Remove file.
65449
65450 2006-11-21  Bruno Haible  <bruno@clisp.org>
65451
65452         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
65453         _AC_COMPUTE_INT.
65454         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
65455         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
65456         _AC_COMPUTE_INT.
65457         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
65458         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
65459         _AC_COMPUTE_INT.
65460         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
65461
65462 2006-11-28  Jim Meyering  <jim@meyering.net>
65463
65464         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
65465         warning from "gcc -Wshadow" about shadowing the builtin.
65466
65467 2006-11-27  Bruno Haible  <bruno@clisp.org>
65468
65469         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
65470         _AC_COMPUTE_INT.
65471         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
65472
65473 2006-11-27  Bruno Haible  <bruno@clisp.org>
65474             Paul Eggert  <eggert@cs.ucla.edu>
65475
65476         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
65477
65478 2006-11-26  Bruno Haible  <bruno@clisp.org>
65479
65480         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
65481         noinst_LTLIBRARIES.
65482
65483 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
65484             Bruno Haible  <bruno@clisp.org>
65485
65486         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
65487         if compiling with "gcc -ansi".
65488
65489 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
65490
65491         Fix some incompatibilities with gcc -ansi -pedantic.
65492         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
65493         if compiling pedantically with GCC, unless it's C99 or later.
65494         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
65495         it mishandles gcc -ansi -pedantic as well.
65496         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
65497         if gcc -pedantic.
65498         * lib/regexec.c (check_node_accept_bytes): Don't use auto
65499         initializers for struct if -pedantic, unless it's C99 or later.
65500
65501 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
65502
65503         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
65504         Don't close an fd more than once. Identical atimes indicate
65505         success, not failure.
65506
65507 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
65508
65509         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
65510
65511 2006-11-23  Jim Meyering  <jim@meyering.net>
65512
65513         * build-aux/announce-gen: New file.  From coreutils.
65514
65515 2006-11-22  Jim Meyering  <jim@meyering.net>
65516
65517         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
65518         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
65519         (fts_read): Use a temporary to narrow the overused st_size member
65520         before using it in a switch statement.  Reported by Matthew Woehlke.
65521
65522         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
65523         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
65524
65525 2006-11-20  Bruno Haible  <bruno@clisp.org>
65526
65527         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
65528         changequote instead of pairs of brackets.
65529         Reported by Andreas Schwab <schwab@suse.de>.
65530
65531 2006-11-21  Jim Meyering  <jim@meyering.net>
65532
65533         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
65534         so as to remain compatible with older compilers.
65535         Patch from Michael Deutschmann.
65536
65537 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
65538
65539         * MODULES.html.sh (File system functions): Add openat.
65540
65541         * lib/openat.h (rpl_fstatat): New macro, if
65542         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
65543         (fstatat): Define to rpl_fstatat under the same conditions,
65544         unless COMPILING_FSTATAT.
65545         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
65546         seems to have the bug.
65547         * lib/fstatat.c: New file.
65548         * modules/openat (Files): Add it.
65549
65550 2006-11-20  Bruno Haible  <bruno@clisp.org>
65551
65552         * Makefile: New file.
65553
65554 2006-11-20  Jim Meyering  <jim@meyering.net>
65555
65556         The beginnings of syntax-related checks for gnulib.
65557         * lib/Makefile: New file.
65558         * lib/t-idcache: New script.  Ensure that the two halves of
65559         idcache.c stay in sync.
65560
65561         * lib/idcache.c: Adjust comments in user- and group- portions to
65562         be more accurate, and to be consistent with one another.
65563
65564 2006-11-20  Jim Meyering  <jim@meyering.net>
65565
65566         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
65567         continue using the flexible array member (thus, this module performs
65568         half as many malloc calls), with the addition that...
65569         (getgroup, getuser): Consistently record a non-match via an empty
65570         "name" string, and map an empty string match to a NULL return value.
65571         * modules/idcache (Depends-on): Re-add flexmember.
65572
65573         * lib/idcache.c (getuser): Remove all uses of the register keyword.
65574         (getuidbyname, getgroup, getgidbyname): Likewise.
65575
65576         Use cleaner syntax: NULL rather than 0.
65577         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
65578
65579 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
65580
65581         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
65582         It mishandled the case where the group was missing.
65583         Problem reported by Greg Schafer.
65584         * modules/idcache: Likewise.
65585
65586 2006-11-18  Jim Meyering  <jim@meyering.net>
65587
65588         * check-module (%exempt_header): Add exception for some
65589         conditionally-included headers.
65590
65591         * modules/i-ring (Depends-on): Add verify.
65592         (License): Change to LGPL.
65593
65594 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
65595
65596         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
65597         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
65598         and inttostr.h.  Use snprintf rather than uinttostr, so that
65599         LGPLed code doesn't depend on GPLed.
65600
65601 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
65602
65603         * modules/inline (License): Change from GPL to LGPL.
65604
65605 2006-11-17  Jim Meyering  <jim@meyering.net>
65606
65607         * modules/d-type (License): Switch to LGPL.
65608
65609 2006-11-15  Bruno Haible  <bruno@clisp.org>
65610
65611         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
65612
65613 2006-11-15  Eric Blake  <ebb9@byu.net>
65614
65615         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
65616         the module dependency.
65617
65618 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65619             Bruno Haible  <bruno@clisp.org>
65620
65621         * gnulib-tool (func_create_testdir): Add license consistency check.
65622
65623 2006-11-15  Eric Blake  <ebb9@byu.net>
65624
65625         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
65626         random "(cached)" in configure output.
65627
65628 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65629
65630         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
65631         test for conforming inttypes.h is both announced and cached.
65632
65633         * MODULES.html.sh (seen_modules, seen_files): New variables.
65634         (func_module): Rewrite to use a few less gnulib-tool and sed
65635         invocations.  Avoid a couple of quadratic algorithms for ...
65636         (missed_modules, missed_files): ... these, with ...
65637         (func_append, func_tmpdir): ... these new functions, from
65638         gnulib-tool.  Analogously, install traps for cleanup.
65639
65640         * tests/test-gc.c (main): Remove unused variables.
65641         * tests/test-read-file.c: Include stdlib.h, for 'free'.
65642
65643 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
65644
65645         * modules/inttostr (License): Change to LGPL.
65646
65647 2006-11-14  Eric Blake  <ebb9@byu.net>
65648
65649         * modules/tempname (License): Change to LGPL.
65650
65651 2006-11-14  Eric Blake  <ebb9@byu.net>
65652
65653         * doc/functions.texi (Function Portability): *printf functions on
65654         Cygwin now understand all POSIX size specifiers.
65655
65656 2006-11-14  Bruno Haible  <bruno@clisp.org>
65657
65658         * modules/c-ctype (License): Change to LGPL.
65659
65660 2006-11-12  Bruno Haible  <bruno@clisp.org>
65661
65662         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
65663         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
65664         for GNOME libraries, for which the include files are installed in
65665         subdirectories of $prefix/include.
65666
65667 2006-11-12  Bruno Haible  <bruno@clisp.org>
65668
65669         * m4/lib-link.m4: Require at least autoconf-2.54.
65670         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
65671         name to underscores for the --with option.
65672
65673 2006-11-13  Bruno Haible  <bruno@clisp.org>
65674
65675         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
65676         the tests directory.
65677         Reported by Ralf Wildenhues.
65678
65679 2006-11-13  Bruno Haible  <bruno@clisp.org>
65680
65681         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
65682         (func_emit_initmacro_end): Undo the override here.
65683         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
65684         Works around the famous automake error in coreutils.
65685
65686 2006-11-13  Eric Blake  <ebb9@byu.net>
65687
65688         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
65689         element, not its node.
65690
65691 2006-11-12  Bruno Haible  <bruno@clisp.org>
65692
65693         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
65694         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
65695
65696 2006-11-12  Bruno Haible  <bruno@clisp.org>
65697
65698         * gnulib-tool: New option --local-symlink.
65699         (func_usage): Document it.
65700         (lsymbolic): New variable.
65701         (func_import, func_create_testdir): If --symlink was not specified,
65702         test whether --local-symlink was specified and the file comes from
65703         the local_gnulib_dir.
65704
65705 2006-11-12  Bruno Haible  <bruno@clisp.org>
65706
65707         * gnulib-tool (func_ln): New function.
65708         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
65709
65710 2006-11-12  Bruno Haible  <bruno@clisp.org>
65711
65712         Finish support for source files in subdirectories.
65713         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
65714         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
65715         AUTOMAKE_OPTIONS.
65716         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
65717
65718 2006-11-12  Bruno Haible  <bruno@clisp.org>
65719
65720         * gnulib-tool (func_get_automake_snippet): Synthesize also an
65721         EXTRA_lib_SOURCES augmentation.
65722         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
65723
65724 2006-11-12  Jim Meyering  <jim@meyering.net>
65725
65726         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
65727         file descriptors.  This also averts a failure on systems with
65728         native openat support when a traversed directory lacks "x" access.
65729         * lib/fts_.h: Include "i-ring.h"
65730         (struct FTS) [fts_fd_ring]: New member.
65731         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
65732         (FCHDIR): Add parentheses.
65733         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
65734         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
65735         When descending, rather than simply closing the previous
65736         fts_cwd_fd value, push that file descriptor onto the ring.
65737         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
65738         (fts_open): Initialize the new fd_ring member.
65739         (fts_close): Clear the ring.
65740         (fts_safe_changedir): When possible, use our new fd_ring to skip
65741         the diropen and fstat and dev/ino comparison that would normally
65742         accompany a virtual `chdir ("..")'.
65743
65744         * modules/fts (Depends-on): Add i-ring.
65745         * modules/i-ring: New module.
65746         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
65747         * m4/i-ring.m4: New file.
65748
65749 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65750
65751         * gnulib-tool (func_create_testdir): Fix replacement of
65752         `build-aux' in configure.ac.  Run autotools in gltests
65753         subdirectory.
65754         (func_create_testdir, func_create_megatestdir, test): There is
65755         no need for '--force' in most autotool invocations in a new
65756         tree.  Actually fail the whole test if any of the tools, or the
65757         configure or make stages fail.
65758
65759         Sync from Automake.
65760         * build-aux/gnupload: Revert last change.  Add pointer to upload
65761         instructions of the GNU Maintenance Instructions.
65762         Suggestion by Karl Berry.
65763
65764 2006-11-10  Jim Meyering  <jim@meyering.net>
65765
65766         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
65767
65768 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
65769
65770         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
65771         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
65772         (bind_textdomain_codeset) [! ENABLE_NLS]:
65773         Evaluate all the arguments.  That way, callers get compatible behavior
65774         if the arguments have side effects.  Also, it avoids some GCC
65775         diagnostics in some cases; Joel E. Denny reported problems when Bison
65776         was configured with --enable-gcc-warnigs.
65777
65778 2006-11-10  Jim Meyering  <jim@meyering.net>
65779
65780         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
65781         relevant options in CFLAGS (like -O, -fno-inline) are taken into
65782         account.
65783
65784 2006-11-10  Jim Meyering  <jim@meyering.net>
65785
65786         * modules/inline: New file/module.
65787         * modules/xalloc (Files): Remove m4/inline.m4.
65788         (Depends-on): Add inline, instead.
65789         * modules/oset: Likewise.
65790         * modules/list: Likewise.
65791
65792 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
65793
65794         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
65795         Problem reported by Matthew Woehlke.
65796
65797 2006-11-09  Bruno Haible  <bruno@clisp.org>
65798
65799         * lib/tempname.c (gen_tempname): Remove variant that invokes
65800         __gen_tempname.
65801         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
65802         __gen_tempname.
65803
65804 2006-11-08  Bruno Haible  <bruno@clisp.org>
65805
65806         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
65807         to 'yes' instead of 'cross-compiling'.
65808
65809 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
65810
65811         * lib/quotearg.h (quotearg_free): New decl.
65812         * lib/quotearg.c (quotearg_free): New function.
65813         (slot0, nslots, slotvec0, slotvec):
65814         Now file-scope so that quotearg_free can get at them.
65815
65816 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65817
65818         Sync from Automake.
65819         * build-aux/gnupload: Add missing 'gnu' to example URL.
65820         Report by Karl Berry.
65821
65822 2006-11-08  Bruno Haible  <bruno@clisp.org>
65823
65824         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
65825         Suggested by Paul Eggert.
65826
65827 2006-11-08  Jim Meyering  <jim@meyering.net>
65828
65829         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
65830         It's already included if !_LIBC.
65831         (fts_safe_changedir): Add a comment.
65832
65833 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
65834
65835         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
65836         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
65837         Matthew Woehlke.
65838
65839         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
65840         definitions up, to avoid colliding with change below.
65841         (static_inline) [HAVE_INLINE]: New macro.
65842         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
65843         Provide extern decls when !HAVE_INLINE.  Do not define unless
65844         static_inline is defined, either by us or by xmalloc.c.  Use
65845         static_inline rather than static inline.
65846         (XCALLOC): Optimize sizeof(T) = 1 case.
65847         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
65848
65849 2006-11-07  Bruno Haible  <bruno@clisp.org>
65850
65851         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
65852         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
65853         AC_C_INLINE.
65854         * modules/xalloc (Files): Add m4/inline.m4.
65855
65856 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65857
65858         * README: Fix typo.
65859         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
65860         (Miscellanous Notes): ...from this.
65861
65862 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
65863
65864         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
65865         Mention that offsetof should be used instead of sizeof.
65866         From Bruno Haible.
65867
65868 2006-11-07  Bruno Haible  <bruno@clisp.org>
65869
65870         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
65871
65872 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
65873
65874         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
65875         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
65876         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
65877         (gl_tree_add_before, gl_tree_add_after):
65878         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
65879         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
65880         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
65881         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
65882         (gl_linked_add_after, gl_linked_add_at): Likewise.
65883         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
65884         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
65885         (gl_tree_add_before, gl_tree_add_after): Likewise.
65886         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
65887         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
65888         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
65889
65890 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65891
65892         * lib/gl_oset.h: Use C comment style, not C++ comment style.
65893
65894 2006-11-06  Bruno Haible  <bruno@clisp.org>
65895
65896         * m4/inline.m4: New file.
65897         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
65898         * modules/list (Files): Add m4/inline.m4.
65899         * modules/oset (Files): Likewise.
65900
65901 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
65902
65903         * lib/idcache.c: Include <stddef.h>, for offsetof.
65904         (struct userid.name): Change from char * to a flexible array member.
65905         All uses changed.
65906         * modules/idcache (Depends-on): Add flexmember.
65907
65908         * MODULES.html.sh (Core language properties): New module flexmember.
65909         * modules/flexmember, m4/flexmember.m4: New files.
65910
65911         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
65912         inline functions that are identical with the old xnmalloc_inline,
65913         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
65914         that we can avoid some unnecessary integer multiplications and
65915         divisions in the common case where the element size is known at
65916         compile time.
65917         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
65918         needed.
65919         (xnboundedmalloc): Remove.
65920         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
65921         arguments, for consistency with rest of this header.
65922         (xcharalloc): Rewrite using XNMALLOC.
65923         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
65924         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
65925         versions have been moved to lib/xalloc.h and renamed to be the
65926         non-*_inline versions.
65927         (xmalloc, xrealloc): Implement without reference to the xnmalloc
65928         and xnrealloc functions, since those functions are now inline and
65929         now call us.
65930         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
65931         renaming described above.
65932         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
65933         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
65934         captures the dependency in AC_C_INLINE.
65935
65936         New module canonicalize-lgpl, proposed by Charles Wilson in
65937         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
65938         with a few small changes afterwards.
65939         * MODULES.html.sh (File system functions): New module
65940         canonicalize-lgpl.
65941         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
65942         and canonicalize_file_name.
65943         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
65944         * modules/canonicalize-lgpl: New files.
65945
65946 2006-11-05  Bruno Haible  <bruno@clisp.org>
65947
65948         * gnulib-tool (func_import, func_create_testdir): Create directories
65949         also for files in subdirectories of lib/.
65950
65951 2006-11-05  Bruno Haible  <bruno@clisp.org>
65952
65953         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
65954         ANSI C compliant.
65955
65956 2006-11-03  Bruno Haible  <bruno@clisp.org>
65957
65958         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
65959         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
65960         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
65961         (xnboundedmalloc): New inline function.
65962         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
65963         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
65964         xmalloc.
65965         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
65966         xmalloc.
65967         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
65968         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
65969         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
65970         xmalloc.
65971         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
65972         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
65973         xmalloc.
65974         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
65975         gl_tree_add_after): Use XMALLOC instead of xmalloc.
65976         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
65977         xmalloc.
65978         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
65979         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
65980         gl_tree_add_after): Use XMALLOC instead of xmalloc.
65981         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
65982         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
65983         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
65984         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
65985
65986 2006-11-03  Bruno Haible  <bruno@clisp.org>
65987
65988         * lib/c-ctype.h [C++]: Define functions without name mangling.
65989         * lib/fwriteerror.h [C++]: Likewise.
65990         * lib/gcd.h [C++]: Likewise.
65991         * lib/linebreak.h [C++]: Likewise.
65992
65993 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
65994
65995         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
65996         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
65997         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
65998         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
65999         Check for functions and headers just once.
66000         Check for declaration of canonicalize_file_name.
66001         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
66002
66003 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
66004
66005         * gnulib-tool (func_import): Fix typo in actioncmd.
66006
66007 2006-11-02  Bruno Haible  <bruno@clisp.org>
66008
66009         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
66010         newline sequence in the Makefile.am snippet as a space, like "make"
66011         does.
66012         Reported by Roger Persson <perrog@gmail.com>.
66013
66014 2006-11-01  Bruno Haible  <bruno@clisp.org>
66015
66016         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
66017         already declared in <string.h>.
66018         * lib/strcase.h (strncasecmp): Don't declare it if yes.
66019
66020 2006-11-01  Bruno Haible  <bruno@clisp.org>
66021
66022         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
66023         * lib/strcase.h: Include <string.h>.
66024         (strcasecmp): Define to rpl_strcasecmp here.
66025
66026 2006-11-01  Bruno Haible  <bruno@clisp.org>
66027
66028         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
66029
66030 2006-11-01  Eric Blake  <ebb9@byu.net>
66031
66032         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
66033
66034         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
66035
66036 2006-10-29  Bruno Haible  <bruno@clisp.org>
66037
66038         Make it compile in C++ mode.
66039         * lib/full-write.c (full_rw): Add a cast.
66040
66041 2006-11-01  Bruno Haible  <bruno@clisp.org>
66042
66043         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
66044         be POSIX compliant.
66045         Reported by Roger Persson <perrog@gmail.com>.
66046
66047 2006-11-01  Eric Blake  <ebb9@byu.net>
66048
66049         * lib/getopt_.h: Fix comments.
66050
66051 2006-10-31  Eric Blake  <ebb9@byu.net>
66052
66053         * modules/tmpdir (Depends-on): Add sys_stat.
66054         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
66055         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
66056         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
66057         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
66058         tempname.
66059
66060 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
66061
66062         Avoid some C++ diagnostics reported by Bruno Haible.
66063         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
66064         xmalloc.
66065         (quotearg_alloc): Use xcharalloc rather than xmalloc.
66066         (struct slotvec): Move to top level.
66067         (quotearg_n_options): Rewrite to avoid xmalloc.
66068         * lib/xalloc.h (xcharalloc): New function.
66069         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
66070         [defined __cplusplus]: Add function template that provides result
66071         type propagation.  This part of the change is from Bruno Haible.
66072
66073 2006-10-29  Bruno Haible  <bruno@clisp.org>
66074
66075         Make it compile in C++ mode.
66076         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
66077         * lib/strnlen1.c (strnlen1): Cast memchr result.
66078         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
66079         * lib/clean-temp.c (string_equals, string_hash): Add casts.
66080         (create_temp_dir): Rename local variable 'template'.
66081         (compile_csharp_using_sscli): Add cast.
66082         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
66083         * lib/findprog.c (find_in_path): Likewise.
66084         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
66085         * lib/wait-process.c (register_slave_subprocess): Likewise.
66086
66087 2006-10-22  Bruno Haible  <bruno@clisp.org>
66088
66089         * modules/tsearch: New file.
66090         * lib/tsearch.h: New file.
66091         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
66092         * m4/tsearch.m4: New file.
66093         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
66094
66095 2006-10-29  Eric Blake  <ebb9@byu.net>
66096
66097         * lib/arcfour.c: Assume config.h.
66098         * lib/arctwo.c: Likewise.
66099         * lib/base64.c: Likewise.
66100         * lib/check-version.c: Likewise.
66101         * lib/crc.c: Likewise.
66102         * lib/des.c: Likewise.
66103         * lib/gc-gnulib.c: Likewise.
66104         * lib/gc-libgcrypt.c: Likewise.
66105         * lib/gc-pbkdf2-sha1.c: Likewise.
66106         * lib/getaddrinfo.c: Likewise.
66107         * lib/getdelim.c: Likewise.
66108         * lib/getline.c: Likewise.
66109         * lib/hmac-md5.c: Likewise.
66110         * lib/hmac-sha1.c: Likewise.
66111         * lib/iconvme.c: Likewise.
66112         * lib/md2.c: Likewise.
66113         * lib/md4.c: Likewise.
66114         * lib/memxor.c: Likewise.
66115         * lib/read-file.c: Likewise.
66116         * lib/readline.c: Likewise.
66117         * lib/rijndael-alg-fst.c: Likewise.
66118         * lib/rijndael-api-fst.c: Likewise.
66119         * lib/xgetdomainname.c: Likewise.
66120
66121 2006-10-28  Eric Blake  <ebb9@byu.net>
66122
66123         * lib/xstrndup.c: Assume config.h.
66124
66125 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
66126
66127         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
66128         stat-macros.h is now for our own macros, whereas stat_h is for
66129         macros in the <sys/stat.h> name space.
66130         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
66131         (STAT_MACROS_H): Remove.
66132         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
66133         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
66134         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
66135         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
66136         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
66137         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
66138         Move these macros to ...
66139         * lib/stat_.h: here.  Don't include stat-macros.h.
66140         * lib/canonicalize.c: Don't include stat-macros.h.
66141         * lib/chown.c: Likewise.
66142         * lib/euidaccess.c: Likewise.
66143         * lib/file-type.c: Likewise.
66144         * lib/filemode.c: Likewise.
66145         * lib/glob.c: Likewise.
66146         * lib/isapipe.c: Likewise.
66147         * lib/lchown.c: Likewise.
66148         * lib/lstat.c: Likewise.
66149         * lib/mkdir-p.c: Likewise.
66150         * lib/rmdir.c: Likewise.
66151         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
66152         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
66153         unless mkdir isn't declared, to speed up 'configure'.
66154         Always create sys/stat.h, since it's unlikely any real sys/stat.h
66155         would define all the S_* symbols.
66156         * modules/canonicalize (Depends-on):
66157         Depend on sys_stat, not stat-macros.
66158         * modules/chown: Likewise.
66159         * modules/euidaccess: Likewise.
66160         * modules/filemode: Likewise.
66161         * modules/file-type: Likewise.
66162         * modules/glob: Likewise.
66163         * modules/isapipe: Likewise.
66164         * modules/lchown: Likewise.
66165         * modules/lstat: Likewise.
66166         * modules/mkancesdirs: Likewise.
66167         * modules/rmdir: Likewise.
66168         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
66169         * modules/modechange: Likewise.
66170         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
66171         (configure.ac): Remove gl_STAT_MACROS.
66172         * modules/sys_stat (Depends-on): Remove stat-macros.
66173
66174 2006-10-27  Bruno Haible  <bruno@clisp.org>
66175
66176         * m4/signed.m4: Remove file.
66177         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
66178         invocation.
66179         * modules/vasnprintf (Files): Remove m4/signed.m4.
66180
66181 2006-10-27  Bruno Haible  <bruno@clisp.org>
66182
66183         Update to GNU gettext 0.16.
66184         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
66185         m4/inttypes-h.m4, m4/signed.m4.
66186         * m4/gettext.m4: Update to GNU gettext 0.16.
66187         * m4/intl.m4: New file, from GNU gettext.
66188         * m4/intldir.m4: New file, from GNU gettext.
66189         * config/srclist.txt: Update
66190
66191 2006-10-27  Eric Blake  <ebb9@byu.net>
66192
66193         * MODULES.html.sh: Document tempname.
66194         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
66195         dependencies.
66196         (Files): Move lib/tempname.c...
66197         * modules/tempname: ...to this new module.
66198         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
66199         (gl_PREREQ_TEMPNAME): Move...
66200         * m4/tempname.m4: ...to this new file.
66201         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
66202         * modules/sys_stat (Depends-on): Add stat-macros.
66203         * lib/stat_.h (includes): Pick up stat macros.
66204         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
66205         if stat macros are broken.
66206         * lib/tempname.c (includes): No need to include "stat-macros.h".
66207         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
66208         (direxists, __path_search) [!_LIBC]: Don't compile these in
66209         gnulib; the tmpdir module covers that.
66210         * lib/tempname.h: New file.
66211
66212 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
66213
66214         * COPYING: Explain how gnulib-tool converts licence headers.
66215         Almost all wording by Eric Blake.
66216
66217 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
66218
66219         * lib/mbchar.h (is_basic_table): Make read-only.
66220         * lib/mbchar.c (is_basic_table): Likewise.
66221         Reported by John Darrington.
66222
66223 2006-10-25  Bruno Haible  <bruno@clisp.org>
66224
66225         * lib/progname.h (set_program_name): Undefine before defining.
66226
66227 2006-10-25  Bruno Haible  <bruno@clisp.org>
66228
66229         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
66230         false for non-gcc C++ compilers.
66231         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
66232
66233 2006-10-24  Bruno Haible  <bruno@clisp.org>
66234
66235         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
66236         iconv implementations like Irix iconv.
66237
66238 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
66239
66240         * modules/vararrays: New file.
66241         * m4/vararrays.m4: New file, taken from diffutils.
66242         * MODULES.html.sh: New module vararrays.
66243
66244 2006-10-24  Karl Berry  <karl@gnu.org>
66245
66246         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
66247         Don't call GNU Unix.
66248
66249 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66250
66251         * users.txt: Add Libtool.
66252
66253         Sync from Libtool:
66254
66255         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
66256
66257         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
66258         to gnulib's policy of including config.h unconditionally.
66259
66260 2006-10-24  Bruno Haible  <bruno@clisp.org>
66261
66262         * modules/wcwidth (Files): Add m4/wint_t.m4.
66263         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
66264         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
66265
66266 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
66267
66268         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
66269         to pacify GCC with some -W flags enabled.  Problem reported by
66270         Bruno Haible.
66271
66272 2006-10-24  Jim Meyering  <jim@meyering.net>
66273
66274         * MODULES.html.sh: Remove uinttostr.  It's not a module.
66275         Reported by Karl Berry.
66276
66277 2006-10-23  Bruno Haible  <bruno@clisp.org>
66278
66279         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
66280
66281 2006-10-24  Bruno Haible  <bruno@clisp.org>
66282
66283         * lib/gl_list.h: Use C comment style, not C++ comment style.
66284
66285 2006-10-23  Eric Blake  <ebb9@byu.net>
66286
66287         * lib/getaddrinfo.c (includes): Add missing include.
66288
66289 2006-10-23  Bruno Haible  <bruno@clisp.org>
66290             Paul Eggert  <eggert@cs.ucla.edu>
66291
66292         Ability to rename obstack_free.
66293         * lib/obstack.h (__obstack_free): New macro. Declare instead of
66294         obstack_free.
66295         (obstack_free): Invoke the __obstack_free macro.
66296         * lib/obstack.c (obstack_free): Use __obstack_free macro.
66297
66298 2006-10-23  Bruno Haible  <bruno@clisp.org>
66299             Paul Eggert  <eggert@cs.ucla.edu>
66300
66301         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
66302         __argc, __argv from the declaration. (They are defined as macros on
66303         mingw.)
66304
66305 2006-10-22  Bruno Haible  <bruno@clisp.org>
66306
66307         * doc/gnulib-intro.texi: New file.
66308         * doc/gnulib.texi: Include it.
66309
66310 2006-10-21  Bruno Haible  <bruno@clisp.org>
66311
66312         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
66313         "Introduction", "Miscellanous Notes", "Particular Modules".
66314
66315 2006-10-21  Bruno Haible  <bruno@clisp.org>
66316
66317         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
66318         Change mostlyclean-local rule to avoid sh syntax error from bash
66319         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
66320
66321 2006-10-23  Jim Meyering  <jim@meyering.net>
66322
66323         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
66324         in place of snprintf.
66325
66326         * modules/inttostr (Files): Add lib/uinttostr.c.
66327         * lib/uinttostr.c (inttostr): New file/function.
66328         * lib/inttostr.h (uinttostr): Declare.
66329         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
66330         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
66331         Add uinttostr.
66332         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
66333
66334 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
66335
66336         * lib/canonicalize.c (ELOOP): Define if not already defined.
66337         Problem reported by Bruno Haible in
66338         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
66339
66340 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
66341
66342         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
66343         Problem reported by Perry Smith and Ville Laurikari.
66344
66345         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
66346         uses.
66347
66348 2006-10-19  Bruno Haible  <bruno@clisp.org>
66349
66350         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
66351         for mingw.
66352
66353 2006-10-19  Bruno Haible  <bruno@clisp.org>
66354
66355         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
66356         Needed for mingw.
66357
66358 2006-10-19  Bruno Haible  <bruno@clisp.org>
66359
66360         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
66361
66362 2006-10-19  Bruno Haible  <bruno@clisp.org>
66363
66364         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
66365         it.
66366
66367 2006-10-19  Bruno Haible  <bruno@clisp.org>
66368
66369         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
66370         invocation.
66371
66372 2006-10-19  Bruno Haible  <bruno@clisp.org>
66373
66374         * gnulib-tool (func_create_testdir): Don't include ftruncate and
66375         mountlist by default.
66376
66377 2006-10-16  Bruno Haible  <bruno@clisp.org>
66378
66379         * lib/c-strstr.c: Include c-strstr.h.
66380
66381 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
66382
66383         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
66384         in a slash.
66385
66386 2006-10-18  Bruno Haible  <bruno@clisp.org>
66387
66388         * lib/lock.h [C++]: Wrap definitions in extern "C".
66389
66390 2006-10-18  Bruno Haible  <bruno@clisp.org>
66391
66392         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
66393         gl_LIBOBJS list.
66394
66395 2006-10-18  Bruno Haible  <bruno@clisp.org>
66396
66397         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
66398
66399 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
66400
66401         * lib/xstrtol.h: Include gettext.h.
66402         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
66403         Problem reported by Eric Blake.
66404         * modules/xstrtol (Depends-on): Add gettext-h.
66405
66406 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
66407
66408         * lib/strftime.c (advance): New macro.
66409         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
66410         incomplete type, so you can't add 0 to it.  Problem and patch
66411         reported by Eelco Dolstra for dietlibc.
66412
66413 2006-10-18  Jim Meyering  <jim@meyering.net>
66414
66415         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
66416         type for a local, and rename it: s/up/user_proc/.
66417
66418 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
66419
66420         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
66421         READ_UTMP_USER_PROCESS.
66422         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
66423
66424 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
66425
66426         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
66427         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
66428
66429 2006-10-17  Eric Blake  <ebb9@byu.net>
66430
66431         * lib/sigprocmask.c (sigprocmask): Fix typo.
66432
66433         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
66434
66435         * modules/clean-temp (Makefile.am): Don't add to make output...
66436         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
66437         config.h.
66438
66439 2006-10-17  Bruno Haible  <bruno@clisp.org>
66440
66441         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
66442         differently if DEFAULT_TEXT_DOMAIN is set.
66443
66444 2006-10-16  Bruno Haible  <bruno@clisp.org>
66445
66446         * lib/clean-temp.c: Include fwriteerror.h.
66447
66448 2006-10-16  Bruno Haible  <bruno@clisp.org>
66449
66450         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
66451
66452 2006-10-16  Bruno Haible  <bruno@clisp.org>
66453
66454         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
66455         * lib/sigprocmask.h: Include <sys/types.h>.
66456         (sigset_t): Use the system's definition if present.
66457
66458 2006-10-17  Eric Blake  <ebb9@byu.net>
66459
66460         * lib/xvasprintf.c (includes): Assume config.h.
66461         * lib/xasprintf.c (includes): Likewise.
66462
66463 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
66464
66465         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
66466         at least as wide as intmax_t.
66467
66468 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
66469
66470         (Imported from Automake.)
66471         * build-aux/gnupload: Update to version 1.1 of directive file.
66472
66473 2006-10-16  Eric Blake  <ebb9@byu.net>
66474
66475         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
66476         match Automake 1.10a.
66477
66478 2006-10-14  Bruno Haible  <bruno@clisp.org>
66479
66480         * modules/sigprocmask: New file.
66481         * lib/sigprocmask.h: New file.
66482         * lib/sigprocmask.c: New file.
66483         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
66484         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
66485         request sigprocmask.o.
66486         (gl_PREREQ_SIGPROCMASK): New macro.
66487         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
66488         (Depends-on): Add sigprocmask.
66489         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
66490         gt_SIGNALBLOCKING. Test for 'raise' only once.
66491         * lib/fatal-signal.c: Include sigprocmask.h.
66492         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
66493         unblock_fatal_signals): Define always.
66494         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
66495         sigprocmask.
66496
66497 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
66498
66499         Sync from Automake.
66500         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
66501         which incorrectly sets the mode of an existing destination
66502         directory.  In some cases the unpatched install-sh could do the
66503         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
66504         system.  We hope this is rare in practice, but it's clearly worth
66505         fixing.  Problem reported by Alex Unleashed in
66506         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
66507         Also, don't bother to check for -m bugs unless we're using -m;
66508         suggested by Stepan Kasal.
66509
66510 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66511
66512         Sync from Automake.
66513         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
66514         `-c' flag, so they appear at the same position as in %FASTDEP%
66515         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
66516         which ignores unknown options only after the first non-option.
66517         Bug report against M4 by Nelson H. F. Beebe.
66518
66519 2006-10-13  Jim Meyering  <jim@meyering.net>
66520
66521         Fix a bug in yesterday's change.
66522         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
66523         p->fts_statp->st_dev would be used uninitialized.
66524         Ensures that we always call fts_stat on the very first entry.
66525         Miklos Szeredi reported that find -xdev stopped working.
66526
66527 2006-10-12  Bruno Haible  <bruno@clisp.org>
66528
66529         * gnulib-tool (func_get_automake_snippet): Append an automatically
66530         computed EXTRA_DIST augmentation.
66531         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
66532         * modules/alloca-opt (Makefile.am): Likewise.
66533         * modules/allocsa (Makefile.am): Likewise.
66534         * modules/arcfour (Makefile.am): Likewise.
66535         * modules/arctwo (Makefile.am): Likewise.
66536         * modules/argmatch (Makefile.am): Likewise.
66537         * modules/argz (Makefile.am): Likewise.
66538         * modules/atexit (Makefile.am): Likewise.
66539         * modules/backupfile (Makefile.am): Likewise.
66540         * modules/byteswap (Makefile.am): Likewise.
66541         * modules/c-strtod (Makefile.am): Likewise.
66542         * modules/c-strtold (Makefile.am): Likewise.
66543         * modules/calloc (Makefile.am): Likewise.
66544         * modules/canon-host (Makefile.am): Likewise.
66545         * modules/canonicalize (Makefile.am): Likewise.
66546         * modules/chdir-long (Makefile.am): Likewise.
66547         * modules/chdir-safer (Makefile.am): Likewise.
66548         * modules/check-version (Makefile.am): Likewise.
66549         * modules/chown (Makefile.am): Likewise.
66550         * modules/cloexec (Makefile.am): Likewise.
66551         * modules/close-stream (Makefile.am): Likewise.
66552         * modules/closeout (Makefile.am): Likewise.
66553         * modules/crc (Makefile.am): Likewise.
66554         * modules/csharpexec (Makefile.am): Likewise.
66555         * modules/cycle-check (Makefile.am): Likewise.
66556         * modules/des (Makefile.am): Likewise.
66557         * modules/dev-ino (Makefile.am): Likewise.
66558         * modules/dirfd (Makefile.am): Likewise.
66559         * modules/dirname (Makefile.am): Likewise.
66560         * modules/dup2 (Makefile.am): Likewise.
66561         * modules/eealloc (Makefile.am): Likewise.
66562         * modules/error (Makefile.am): Likewise.
66563         * modules/euidaccess (Makefile.am): Likewise.
66564         * modules/exclude (Makefile.am): Likewise.
66565         * modules/exitfail (Makefile.am): Likewise.
66566         * modules/fcntl-safer (Makefile.am): Likewise.
66567         * modules/fcntl (Makefile.am): Likewise.
66568         * modules/file-type (Makefile.am): Likewise.
66569         * modules/fileblocks (Makefile.am): Likewise.
66570         * modules/filemode (Makefile.am): Likewise.
66571         * modules/filenamecat (Makefile.am): Likewise.
66572         * modules/fnmatch (Makefile.am): Likewise.
66573         * modules/fopen-safer (Makefile.am): Likewise.
66574         * modules/fpending (Makefile.am): Likewise.
66575         * modules/fprintftime (Makefile.am): Likewise.
66576         * modules/free (Makefile.am): Likewise.
66577         * modules/fsusage (Makefile.am): Likewise.
66578         * modules/ftruncate (Makefile.am): Likewise.
66579         * modules/fts (Makefile.am): Likewise.
66580         * modules/gc-arcfour (Makefile.am): Likewise.
66581         * modules/gc-des (Makefile.am): Likewise.
66582         * modules/gc-hmac-md5 (Makefile.am): Likewise.
66583         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
66584         * modules/gc-md4 (Makefile.am): Likewise.
66585         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
66586         * modules/gc-sha1 (Makefile.am): Likewise.
66587         * modules/gc (Makefile.am): Likewise.
66588         * modules/getaddrinfo (Makefile.am): Likewise.
66589         * modules/getcwd (Makefile.am): Likewise.
66590         * modules/getdelim (Makefile.am): Likewise.
66591         * modules/getdomainname (Makefile.am): Likewise.
66592         * modules/getgroups (Makefile.am): Likewise.
66593         * modules/gethostname (Makefile.am): Likewise.
66594         * modules/gethrxtime (Makefile.am): Likewise.
66595         * modules/getline (Makefile.am): Likewise.
66596         * modules/getloadavg (Makefile.am): Likewise.
66597         * modules/getlogin_r (Makefile.am): Likewise.
66598         * modules/getndelim2 (Makefile.am): Likewise.
66599         * modules/getopt (Makefile.am): Likewise.
66600         * modules/getpagesize (Makefile.am): Likewise.
66601         * modules/getpass-gnu (Makefile.am): Likewise.
66602         * modules/getpass (Makefile.am): Likewise.
66603         * modules/getsubopt (Makefile.am): Likewise.
66604         * modules/gettime (Makefile.am): Likewise.
66605         * modules/gettimeofday (Makefile.am): Likewise.
66606         * modules/getugroups (Makefile.am): Likewise.
66607         * modules/getusershell (Makefile.am): Likewise.
66608         * modules/glob (Makefile.am): Likewise.
66609         * modules/group-member (Makefile.am): Likewise.
66610         * modules/hard-locale (Makefile.am): Likewise.
66611         * modules/hash (Makefile.am): Likewise.
66612         * modules/hmac-md5 (Makefile.am): Likewise.
66613         * modules/hmac-sha1 (Makefile.am): Likewise.
66614         * modules/human (Makefile.am): Likewise.
66615         * modules/idcache (Makefile.am): Likewise.
66616         * modules/imaxabs (Makefile.am): Likewise.
66617         * modules/imaxdiv (Makefile.am): Likewise.
66618         * modules/inet_ntop (Makefile.am): Likewise.
66619         * modules/inet_pton (Makefile.am): Likewise.
66620         * modules/intprops (Makefile.am): Likewise.
66621         * modules/inttostr (Makefile.am): Likewise.
66622         * modules/inttypes (Makefile.am): Likewise.
66623         * modules/isapipe (Makefile.am): Likewise.
66624         * modules/javaversion (Makefile.am): Likewise.
66625         * modules/lchmod (Makefile.am): Likewise.
66626         * modules/lchown (Makefile.am): Likewise.
66627         * modules/localcharset (Makefile.am): Likewise.
66628         * modules/long-options (Makefile.am): Likewise.
66629         * modules/lstat (Makefile.am): Likewise.
66630         * modules/malloc (Makefile.am): Likewise.
66631         * modules/mathl (Makefile.am): Likewise.
66632         * modules/mbchar (Makefile.am): Likewise.
66633         * modules/md2 (Makefile.am): Likewise.
66634         * modules/md4 (Makefile.am): Likewise.
66635         * modules/md5 (Makefile.am): Likewise.
66636         * modules/memcasecmp (Makefile.am): Likewise.
66637         * modules/memchr (Makefile.am): Likewise.
66638         * modules/memcmp (Makefile.am): Likewise.
66639         * modules/memcoll (Makefile.am): Likewise.
66640         * modules/memcpy (Makefile.am): Likewise.
66641         * modules/memmem (Makefile.am): Likewise.
66642         * modules/memmove (Makefile.am): Likewise.
66643         * modules/mempcpy (Makefile.am): Likewise.
66644         * modules/memrchr (Makefile.am): Likewise.
66645         * modules/memset (Makefile.am): Likewise.
66646         * modules/memxor (Makefile.am): Likewise.
66647         * modules/mkancesdirs (Makefile.am): Likewise.
66648         * modules/mkdir-p (Makefile.am): Likewise.
66649         * modules/mkdir (Makefile.am): Likewise.
66650         * modules/mkdtemp (Makefile.am): Likewise.
66651         * modules/mkstemp (Makefile.am): Likewise.
66652         * modules/mktime (Makefile.am): Likewise.
66653         * modules/modechange (Makefile.am): Likewise.
66654         * modules/mountlist (Makefile.am): Likewise.
66655         * modules/nanosleep (Makefile.am): Likewise.
66656         * modules/obstack (Makefile.am): Likewise.
66657         * modules/openat (Makefile.am): Likewise.
66658         * modules/pagealign_alloc (Makefile.am): Likewise.
66659         * modules/pathmax (Makefile.am): Likewise.
66660         * modules/physmem (Makefile.am): Likewise.
66661         * modules/poll (Makefile.am): Likewise.
66662         * modules/posixtm (Makefile.am): Likewise.
66663         * modules/posixver (Makefile.am): Likewise.
66664         * modules/putenv (Makefile.am): Likewise.
66665         * modules/quote (Makefile.am): Likewise.
66666         * modules/quotearg (Makefile.am): Likewise.
66667         * modules/raise (Makefile.am): Likewise.
66668         * modules/read-file (Makefile.am): Likewise.
66669         * modules/readline (Makefile.am): Likewise.
66670         * modules/readlink (Makefile.am): Likewise.
66671         * modules/readtokens (Makefile.am): Likewise.
66672         * modules/readutmp (Makefile.am): Likewise.
66673         * modules/realloc (Makefile.am): Likewise.
66674         * modules/regex (Makefile.am): Likewise.
66675         * modules/rename-dest-slash (Makefile.am): Likewise.
66676         * modules/rename (Makefile.am): Likewise.
66677         * modules/rijndael (Makefile.am): Likewise.
66678         * modules/rmdir (Makefile.am): Likewise.
66679         * modules/rpmatch (Makefile.am): Likewise.
66680         * modules/safe-read (Makefile.am): Likewise.
66681         * modules/safe-write (Makefile.am): Likewise.
66682         * modules/same-inode (Makefile.am): Likewise.
66683         * modules/same (Makefile.am): Likewise.
66684         * modules/save-cwd (Makefile.am): Likewise.
66685         * modules/savedir (Makefile.am): Likewise.
66686         * modules/setenv (Makefile.am): Likewise.
66687         * modules/settime (Makefile.am): Likewise.
66688         * modules/sha1 (Makefile.am): Likewise.
66689         * modules/sig2str (Makefile.am): Likewise.
66690         * modules/snprintf (Makefile.am): Likewise.
66691         * modules/stat-macros (Makefile.am): Likewise.
66692         * modules/stat-time (Makefile.am): Likewise.
66693         * modules/stdbool (Makefile.am): Likewise.
66694         * modules/stdint (Makefile.am): Likewise.
66695         * modules/stdlib-safer (Makefile.am): Likewise.
66696         * modules/stpcpy (Makefile.am): Likewise.
66697         * modules/stpncpy (Makefile.am): Likewise.
66698         * modules/strcase (Makefile.am): Likewise.
66699         * modules/strcasestr (Makefile.am): Likewise.
66700         * modules/strchrnul (Makefile.am): Likewise.
66701         * modules/strcspn (Makefile.am): Likewise.
66702         * modules/strdup (Makefile.am): Likewise.
66703         * modules/strerror (Makefile.am): Likewise.
66704         * modules/strftime (Makefile.am): Likewise.
66705         * modules/strndup (Makefile.am): Likewise.
66706         * modules/strnlen (Makefile.am): Likewise.
66707         * modules/strpbrk (Makefile.am): Likewise.
66708         * modules/strsep (Makefile.am): Likewise.
66709         * modules/strstr (Makefile.am): Likewise.
66710         * modules/strtod (Makefile.am): Likewise.
66711         * modules/strtoimax (Makefile.am): Likewise.
66712         * modules/strtok_r (Makefile.am): Likewise.
66713         * modules/strtol (Makefile.am): Likewise.
66714         * modules/strtoll (Makefile.am): Likewise.
66715         * modules/strtoul (Makefile.am): Likewise.
66716         * modules/strtoull (Makefile.am): Likewise.
66717         * modules/strtoumax (Makefile.am): Likewise.
66718         * modules/strverscmp (Makefile.am): Likewise.
66719         * modules/sys_socket (Makefile.am): Likewise.
66720         * modules/sys_stat (Makefile.am): Likewise.
66721         * modules/sysexits (Makefile.am): Likewise.
66722         * modules/time_r (Makefile.am): Likewise.
66723         * modules/timegm (Makefile.am): Likewise.
66724         * modules/timespec (Makefile.am): Likewise.
66725         * modules/tmpfile-safer (Makefile.am): Likewise.
66726         * modules/trim (Makefile.am): Likewise.
66727         * modules/unistd-safer (Makefile.am): Likewise.
66728         * modules/unlinkdir (Makefile.am): Likewise.
66729         * modules/unlocked-io (Makefile.am): Likewise.
66730         * modules/userspec (Makefile.am): Likewise.
66731         * modules/utime (Makefile.am): Likewise.
66732         * modules/utimecmp (Makefile.am): Likewise.
66733         * modules/utimens (Makefile.am): Likewise.
66734         * modules/vasnprintf (Makefile.am): Likewise.
66735         * modules/vasprintf (Makefile.am): Likewise.
66736         * modules/vsnprintf (Makefile.am): Likewise.
66737         * modules/xalloc (Makefile.am): Likewise.
66738         * modules/xgetcwd (Makefile.am): Likewise.
66739         * modules/xnanosleep (Makefile.am): Likewise.
66740         * modules/xreadlink (Makefile.am): Likewise.
66741         * modules/xstrtod (Makefile.am): Likewise.
66742         * modules/xstrtol (Makefile.am): Likewise.
66743         * modules/xstrtold (Makefile.am): Likewise.
66744         * modules/yesno (Makefile.am): Likewise.
66745         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
66746
66747 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
66748
66749         * modules/error (Makefile.am): Distribute files through
66750         EXTRA_DIST, not lib_SOURCES.
66751
66752 2006-10-12  Eric Blake  <ebb9@byu.net>
66753
66754         * modules/error (Makefile.am): Distribute files in /lib.
66755         * modules/obstack (Makefile.am): Likewise.
66756
66757 2006-10-12  Bruno Haible  <bruno@clisp.org>
66758
66759         * modules/acl (Makefile.am): Distribute all files in lib/ through
66760         EXTRA_DIST.
66761         * modules/arcfour (Makefile.am): Likewise.
66762         * modules/arctwo (Makefile.am): Likewise.
66763         * modules/argmatch (Makefile.am): Likewise.
66764         * modules/argz (Makefile.am): Likewise.
66765         * modules/atexit (Makefile.am): Likewise.
66766         * modules/backupfile (Makefile.am): Likewise.
66767         * modules/c-strtod (Makefile.am): Likewise.
66768         * modules/c-strtold (Makefile.am): Likewise.
66769         * modules/calloc (Makefile.am): Likewise.
66770         * modules/canon-host (Makefile.am): Likewise.
66771         * modules/canonicalize (Makefile.am): Likewise.
66772         * modules/chdir-long (Makefile.am): Likewise.
66773         * modules/chdir-safer (Makefile.am): Likewise.
66774         * modules/check-version (Makefile.am): Likewise.
66775         * modules/chown (Makefile.am): Likewise.
66776         * modules/cloexec (Makefile.am): Likewise.
66777         * modules/close-stream (Makefile.am): Likewise.
66778         * modules/closeout (Makefile.am): Likewise.
66779         * modules/crc (Makefile.am): Likewise.
66780         * modules/cycle-check (Makefile.am): Likewise.
66781         * modules/des (Makefile.am): Likewise.
66782         * modules/dirfd (Makefile.am): Likewise.
66783         * modules/dirname (Makefile.am): Likewise.
66784         * modules/dup2 (Makefile.am): Likewise.
66785         * modules/euidaccess (Makefile.am): Likewise.
66786         * modules/exclude (Makefile.am): Likewise.
66787         * modules/exitfail (Makefile.am): Likewise.
66788         * modules/fcntl-safer (Makefile.am): Likewise.
66789         * modules/file-type (Makefile.am): Likewise.
66790         * modules/fileblocks (Makefile.am): Likewise.
66791         * modules/filemode (Makefile.am): Likewise.
66792         * modules/filenamecat (Makefile.am): Likewise.
66793         * modules/fnmatch (Makefile.am): Likewise.
66794         * modules/fopen-safer (Makefile.am): Likewise.
66795         * modules/fpending (Makefile.am): Likewise.
66796         * modules/fprintftime (Makefile.am): Likewise.
66797         * modules/free (Makefile.am): Likewise.
66798         * modules/fsusage (Makefile.am): Likewise.
66799         * modules/ftruncate (Makefile.am): Likewise.
66800         * modules/fts (Makefile.am): Likewise.
66801         * modules/gc (Makefile.am): Likewise.
66802         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
66803         * modules/getaddrinfo (Makefile.am): Likewise.
66804         * modules/getcwd (Makefile.am): Likewise.
66805         * modules/getdelim (Makefile.am): Likewise.
66806         * modules/getdomainname (Makefile.am): Likewise.
66807         * modules/getgroups (Makefile.am): Likewise.
66808         * modules/gethostname (Makefile.am): Likewise.
66809         * modules/gethrxtime (Makefile.am): Likewise.
66810         * modules/getline (Makefile.am): Likewise.
66811         * modules/getloadavg (Makefile.am): Likewise.
66812         * modules/getlogin_r (Makefile.am): Likewise.
66813         * modules/getopt (Makefile.am): Likewise.
66814         * modules/getpass (Makefile.am): Likewise.
66815         * modules/getpass-gnu (Makefile.am): Likewise.
66816         * modules/getsubopt (Makefile.am): Likewise.
66817         * modules/gettime (Makefile.am): Likewise.
66818         * modules/gettimeofday (Makefile.am): Likewise.
66819         * modules/getugroups (Makefile.am): Likewise.
66820         * modules/getusershell (Makefile.am): Likewise.
66821         * modules/glob (Makefile.am): Likewise.
66822         * modules/group-member (Makefile.am): Likewise.
66823         * modules/hard-locale (Makefile.am): Likewise.
66824         * modules/hash (Makefile.am): Likewise.
66825         * modules/hmac-md5 (Makefile.am): Likewise.
66826         * modules/hmac-sha1 (Makefile.am): Likewise.
66827         * modules/human (Makefile.am): Likewise.
66828         * modules/idcache (Makefile.am): Likewise.
66829         * modules/imaxabs (Makefile.am): Likewise.
66830         * modules/imaxdiv (Makefile.am): Likewise.
66831         * modules/inet_ntop (Makefile.am): Likewise.
66832         * modules/inet_pton (Makefile.am): Likewise.
66833         * modules/inttostr (Makefile.am): Likewise.
66834         * modules/isapipe (Makefile.am): Likewise.
66835         * modules/lchown (Makefile.am): Likewise.
66836         * modules/long-options (Makefile.am): Likewise.
66837         * modules/lstat (Makefile.am): Likewise.
66838         * modules/malloc (Makefile.am): Likewise.
66839         * modules/mathl (Makefile.am): Likewise.
66840         * modules/mbchar (Makefile.am): Likewise.
66841         * modules/md2 (Makefile.am): Likewise.
66842         * modules/md4 (Makefile.am): Likewise.
66843         * modules/md5 (Makefile.am): Likewise.
66844         * modules/memcasecmp (Makefile.am): Likewise.
66845         * modules/memchr (Makefile.am): Likewise.
66846         * modules/memcmp (Makefile.am): Likewise.
66847         * modules/memcoll (Makefile.am): Likewise.
66848         * modules/memcpy (Makefile.am): Likewise.
66849         * modules/memmem (Makefile.am): Likewise.
66850         * modules/memmove (Makefile.am): Likewise.
66851         * modules/mempcpy (Makefile.am): Likewise.
66852         * modules/memrchr (Makefile.am): Likewise.
66853         * modules/memset (Makefile.am): Likewise.
66854         * modules/memxor (Makefile.am): Likewise.
66855         * modules/mkancesdirs (Makefile.am): Likewise.
66856         * modules/mkdir (Makefile.am): Likewise.
66857         * modules/mkdir-p (Makefile.am): Likewise.
66858         * modules/mkdtemp (Makefile.am): Likewise.
66859         * modules/mkstemp (Makefile.am): Likewise.
66860         * modules/mktime (Makefile.am): Likewise.
66861         * modules/modechange (Makefile.am): Likewise.
66862         * modules/mountlist (Makefile.am): Likewise.
66863         * modules/nanosleep (Makefile.am): Likewise.
66864         * modules/openat (Makefile.am): Likewise.
66865         * modules/pagealign_alloc (Makefile.am): Likewise.
66866         * modules/physmem (Makefile.am): Likewise.
66867         * modules/poll (Makefile.am): Likewise.
66868         * modules/posixtm (Makefile.am): Likewise.
66869         * modules/posixver (Makefile.am): Likewise.
66870         * modules/putenv (Makefile.am): Likewise.
66871         * modules/quote (Makefile.am): Likewise.
66872         * modules/quotearg (Makefile.am): Likewise.
66873         * modules/raise (Makefile.am): Likewise.
66874         * modules/read-file (Makefile.am): Likewise.
66875         * modules/readline (Makefile.am): Likewise.
66876         * modules/readlink (Makefile.am): Likewise.
66877         * modules/readtokens (Makefile.am): Likewise.
66878         * modules/readutmp (Makefile.am): Likewise.
66879         * modules/realloc (Makefile.am): Likewise.
66880         * modules/regex (Makefile.am): Likewise.
66881         * modules/rename (Makefile.am): Likewise.
66882         * modules/rename-dest-slash (Makefile.am): Likewise.
66883         * modules/rijndael (Makefile.am): Likewise.
66884         * modules/rmdir (Makefile.am): Likewise.
66885         * modules/rpmatch (Makefile.am): Likewise.
66886         * modules/safe-read (Makefile.am): Likewise.
66887         * modules/safe-write (Makefile.am): Likewise.
66888         * modules/same (Makefile.am): Likewise.
66889         * modules/save-cwd (Makefile.am): Likewise.
66890         * modules/savedir (Makefile.am): Likewise.
66891         * modules/setenv (Makefile.am): Likewise.
66892         * modules/settime (Makefile.am): Likewise.
66893         * modules/sha1 (Makefile.am): Likewise.
66894         * modules/sig2str (Makefile.am): Likewise.
66895         * modules/snprintf (Makefile.am): Likewise.
66896         * modules/stdlib-safer (Makefile.am): Likewise.
66897         * modules/stpcpy (Makefile.am): Likewise.
66898         * modules/stpncpy (Makefile.am): Likewise.
66899         * modules/strcase (Makefile.am): Likewise.
66900         * modules/strcasestr (Makefile.am): Likewise.
66901         * modules/strchrnul (Makefile.am): Likewise.
66902         * modules/strcspn (Makefile.am): Likewise.
66903         * modules/strdup (Makefile.am): Likewise.
66904         * modules/strerror (Makefile.am): Likewise.
66905         * modules/strftime (Makefile.am): Likewise.
66906         * modules/strndup (Makefile.am): Likewise.
66907         * modules/strnlen (Makefile.am): Likewise.
66908         * modules/strpbrk (Makefile.am): Likewise.
66909         * modules/strsep (Makefile.am): Likewise.
66910         * modules/strstr (Makefile.am): Likewise.
66911         * modules/strtod (Makefile.am): Likewise.
66912         * modules/strtoimax (Makefile.am): Likewise.
66913         * modules/strtok_r (Makefile.am): Likewise.
66914         * modules/strtol (Makefile.am): Likewise.
66915         * modules/strtoll (Makefile.am): Likewise.
66916         * modules/strtoul (Makefile.am): Likewise.
66917         * modules/strtoull (Makefile.am): Likewise.
66918         * modules/strtoumax (Makefile.am): Likewise.
66919         * modules/strverscmp (Makefile.am): Likewise.
66920         * modules/time_r (Makefile.am): Likewise.
66921         * modules/timegm (Makefile.am): Likewise.
66922         * modules/tmpfile-safer (Makefile.am): Likewise.
66923         * modules/unistd-safer (Makefile.am): Likewise.
66924         * modules/unlinkdir (Makefile.am): Likewise.
66925         * modules/userspec (Makefile.am): Likewise.
66926         * modules/utime (Makefile.am): Likewise.
66927         * modules/utimecmp (Makefile.am): Likewise.
66928         * modules/utimens (Makefile.am): Likewise.
66929         * modules/vasnprintf (Makefile.am): Likewise.
66930         * modules/vasprintf (Makefile.am): Likewise.
66931         * modules/vsnprintf (Makefile.am): Likewise.
66932         * modules/xalloc (Makefile.am): Likewise.
66933         * modules/xgetcwd (Makefile.am): Likewise.
66934         * modules/xnanosleep (Makefile.am): Likewise.
66935         * modules/xreadlink (Makefile.am): Likewise.
66936         * modules/xstrtod (Makefile.am): Likewise.
66937         * modules/xstrtol (Makefile.am): Likewise.
66938         * modules/xstrtold (Makefile.am): Likewise.
66939         * modules/yesno (Makefile.am): Likewise.
66940
66941 2006-10-12  Jim Meyering  <jim@meyering.net>
66942
66943         * m4/getloadavg.m4: Revert the change below.
66944
66945         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
66946         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
66947         fail with a symlink, which is what coreutils' ./bootstrap now
66948         creates by default.
66949
66950 2006-10-12  Bruno Haible  <bruno@clisp.org>
66951
66952         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
66953         mingw.
66954         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
66955         MSVC and mingw explicitly.
66956
66957 2006-10-11  Simon Josefsson  <jas@extundo.com>
66958             Bruno Haible  <bruno@clisp.org>
66959
66960         Add support for multiple gnulib-tool invocations in the scope of a
66961         single configure.ac file.
66962         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
66963         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
66964         with the same contents as the _LIBADD variable.
66965         (func_emit_initmacro_start, func_emit_initmacro_end,
66966         func_emit_initmacro_done): New functions.
66967         (func_import, func_create_testdir): Invoke them. Allow the identifiers
66968         gl_LIBOBJS and gl_LTLIBOBJS.
66969
66970 2006-10-11  Bruno Haible  <bruno@clisp.org>
66971
66972         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
66973         (func_create_testdir): Don't create po/Makefile.am, don't invoke
66974         autoreconf. Instead, invoke autopoint explicitly but move back the
66975         *.m4 files from gnulib.
66976
66977 2006-10-11  Bruno Haible  <bruno@clisp.org>
66978
66979         * gnulib-tool (func_usage): Make module names after --create-testdir
66980         optional.
66981         (func_create_testdir): If no module was specified, use nearly all
66982         modules.
66983
66984 2006-10-12  Jim Meyering  <jim@meyering.net>
66985
66986         Big performance improvement for fts-based tools that use FTS_NOSTAT.
66987         Avoid spurious inode-mismatch problems on non-POSIX file systems.
66988         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
66989         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
66990         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
66991         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
66992         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
66993         (fts_set_stat_required): New function.
66994         (fts_open): Defer the calls to fts_stat, if possible or requested.
66995         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
66996         into fts_stat itself.
66997         (fts_read): Perform any required (deferred) fts_stat call.
66998         (fts_build): Likewise, for the directory we're about to open and read.
66999         In the readdir loop, carefully decide whether each entry will require
67000         an eventual call to fts_stat, using dirent.d_type info if available.
67001         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
67002         a command line argument into this function.  Update all callers.
67003         Map a return value of FTS_DOT to FTS_D for a command line argument.
67004         * modules/fts (Depends-on): Add d-type.  Alphabetize.
67005         Thanks to Miklos Szeredi for his tenacity and for the initial
67006         bug report about "find" failing on a FUSE-based file system.
67007
67008         * lib/fts.c (fts_open): Use consistent indentation.
67009
67010 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
67011
67012         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
67013         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
67014         reported by Jim Meyering.  All uses of cache variables renamed
67015         to match Autoconf's.
67016         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
67017         the other one.
67018
67019         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
67020         Fix misspelling in diagnostic.
67021
67022 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
67023
67024         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
67025         defined.  Problem reported by Matthew Woehlke.
67026
67027         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
67028         Add support for Tandem NonStop R series.
67029         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
67030         Use new macro.
67031
67032         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
67033         (has_trailing_slash): Omit size arg; all callers changed.
67034         Omit 'inline', since it doesn't help performance and we'd
67035         need to configure it.
67036         Don't count //, ///, etc. as having a trailing slash.
67037         As a side effect, this removes a C99ism reported by Matthew Woehlke.
67038         (rpl_rename_dest_slash): On failure, use rename's errno rather
67039         than (in some cases) an incorrect or junk errno.
67040         Simplify code by removing need to compute length; this does
67041         cause it to make two passes instead of one over the file name,
67042         but it's worth it.
67043
67044         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
67045         change, since Autoconf's version may no longer be appropriate now
67046         that we are using CVS Autoconf's version.  Add support for Tandem.
67047
67048 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
67049             Bruno Haible  <bruno@clisp.org>
67050
67051         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
67052         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
67053         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
67054         gl_AC_TYPE_LONG_LONG.
67055
67056         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
67057         instead of HAVE_LONG_LONG.
67058         * lib/printf-args.c (printf_fetchargs): Likewise.
67059         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
67060         * lib/vasnprintf.c (VASNPRINTF): Likewise.
67061         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
67062         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
67063         gl_AC_TYPE_LONG_LONG.
67064
67065 2006-10-11  Bruno Haible  <bruno@clisp.org>
67066
67067         * m4/longlong.m4: Add comments.
67068         * m4/ulonglong.m4: Likewise.
67069
67070 2006-10-10  Bruno Haible  <bruno@clisp.org>
67071
67072         Make it possible to #define stpcpy, strdup to aliases.
67073         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
67074         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
67075
67076 2006-10-10  Bruno Haible  <bruno@clisp.org>
67077
67078         Make it possible to #define gcd to an alias.
67079         * lib/gcd.c: Include config.h.
67080
67081 2006-10-10  Bruno Haible  <bruno@clisp.org>
67082
67083         Make it possible to #define c_isascii to an alias.
67084         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
67085         defined. Undefine the macros before defining them, to avoid gcc
67086         warnings.
67087         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
67088         define NO_C_CTYPE_MACROS early.
67089
67090 2006-10-10  Bruno Haible  <bruno@clisp.org>
67091
67092         Make it possible to #define set_program_name to an alias.
67093         * lib/progname.c: Don't undefine set_program_name; instead, undefine
67094         ENABLE_RELOCATABLE early.
67095
67096 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
67097
67098         Port to Tandem NSK OSS, which has 64-bit signed int but at most
67099         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
67100         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
67101         More generally, don't assume that 64-bit signed int is available
67102         if unsigned int is, and vice versa.
67103         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
67104         unsigned symbols, not on their signed counterparts.
67105         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
67106         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
67107         (UINT64_C, UINTMAX_C):
67108         Likewise.
67109         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
67110         unsigned counterparts.
67111         (Have_long_long, Unsigned): New macros.
67112         (Int): Renamed from INT.
67113         (strtoimax): Use the new macros.
67114         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
67115         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
67116         * modules/inttypes (inttypes.h): Substitute
67117         HAVE_UNSIGNED_LONG_LONG_INT.
67118         * modules/stdint (stdint.h): Likewise.
67119         (Files): Add m4/ulonglong.m4.
67120
67121 2006-10-10  Bruno Haible  <bruno@clisp.org>
67122
67123         Fix a gcc -Wshadow warning.
67124         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
67125         to 'bucket'.
67126         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
67127         gl_linked_indexof_from_to): Likewise.
67128         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
67129         Likewise.
67130         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
67131         Likewise.
67132         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
67133         Reported by Eric Blake.
67134
67135 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
67136
67137         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
67138         for NetBSD.  Problem reported by Bruno Haible.
67139
67140 2006-10-09  Jim Meyering  <jim@meyering.net>
67141
67142         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
67143         Patch from Bruno Haible.
67144
67145 2006-10-09  Jim Meyering  <jim@meyering.net>
67146
67147         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
67148         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
67149         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
67150
67151 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
67152
67153         Don't include <config.h> twice; this doesn't work in some cases,
67154         e.g., when config.h has "#define intmax_t long long int" and
67155         we include <config.h>, <inttypes.h>, <config.h> in that order.
67156         Problem reported by Matthew Woehlke in:
67157         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
67158         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
67159         * lib/fts-cycle.c: Don't include config.h.
67160         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
67161         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
67162         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
67163         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
67164         inttypes.h.
67165         * lib/xstrtoumax.c: Likewise.
67166         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
67167         __strtol and the like, so that this module is more like its siblings.
67168         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
67169         Remove; no longer needed now that we assume gnulib inttypes.h.
67170
67171 2006-10-08  Bruno Haible  <bruno@clisp.org>
67172
67173         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
67174         option.
67175
67176 2006-10-07  Jim Meyering  <jim@meyering.net>
67177
67178         * modules/inttypes (inttypes.h): Revert what seems to have been
67179         an inadvertent part of today's change: use "|", not "/" in the
67180         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
67181
67182 2006-10-07  Bruno Haible  <bruno@clisp.org>
67183
67184         * modules/sublist: New file.
67185
67186 2006-10-07  Bruno Haible  <bruno@clisp.org>
67187
67188         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
67189         * modules/argz (argz.h): Likewise.
67190         * modules/arpa_inet (arpa/inet.h): Likewise.
67191         * modules/byteswap (byteswap.h): Likewise.
67192         * modules/configmake (configmake.h): Likewise.
67193         * modules/fcntl (fcntl.h): Likewise.
67194         * modules/fnmatch (fnmatch.h): Likewise.
67195         * modules/getopt (getopt.h): Likewise.
67196         * modules/glob (glob.h): Likewise.
67197         * modules/inttypes (inttypes.h): Likewise.
67198         * modules/netinet_in (netinet/in.h): Likewise.
67199         * modules/poll (poll.h): Likewise.
67200         * modules/stdbool (stdbool.h): Likewise.
67201         * modules/stdint (stdint.h): Likewise.
67202         * modules/sys_select (sys/select.h): Likewise.
67203         * modules/sys_socket (sys/socket.h): Likewise.
67204         * modules/sys_stat (sys/stat.h): Likewise.
67205         * modules/sysexits (sysexits.h): Likewise.
67206         * modules/unistd (unistd.h): Likewise.
67207         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
67208         Add a "DO NOT EDIT" comment to the generated file.
67209         (func_import): Likewise for gnulib-comp.m4.
67210
67211 2006-10-07  Bruno Haible  <bruno@clisp.org>
67212
67213         * lib/gl_sublist.h: New file.
67214         * lib/gl_sublist.c: New file.
67215
67216 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
67217
67218         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
67219         name (relative to the original working directory) and the file
67220         name component (relative to the temporary working directory).  All
67221         callers changed.
67222         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
67223         * lib/mkdir-p.c (make_dir_parents): Likewise.
67224         * lib/mkdir-p.h (make_dir_parents): Likewise.
67225
67226 2006-10-06  Eric Blake  <ebb9@byu.net>
67227
67228         Define several macros for use by the clean-temp module.
67229         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
67230         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
67231         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
67232
67233         * lib/clean-temp.h (close_stream_temp): New declaration.
67234         * lib/clean-temp.c (includes): Pull in headers according to what
67235         other modules are in use.
67236         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
67237
67238 2006-10-06  Bruno Haible  <bruno@clisp.org>
67239
67240         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
67241         instead of fopen, fwriteerror.
67242
67243 2006-10-06  Bruno Haible  <bruno@clisp.org>
67244
67245         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
67246         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
67247         int.
67248         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
67249         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
67250         Return an error indicator.
67251         Suggested by Eric Blake.
67252
67253 2006-10-06  Bruno Haible  <bruno@clisp.org>
67254
67255         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
67256         Reported by Eric Blake.
67257
67258 2006-10-06  Bruno Haible  <bruno@clisp.org>
67259
67260         * modules/closeout (Description): Mention stderr too.
67261
67262 2006-10-06  Bruno Haible  <bruno@clisp.org>
67263         and Paul Eggert  <eggert@cs.ucla.edu>
67264
67265         * lib/closeout.c (close_stdout): Also close stderr.
67266         * lib/closeout.h: Update comment.
67267
67268 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
67269
67270         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
67271         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
67272         * lib/dirchownmod.c: Include lchown.h.
67273         * lib/lchown.c: Don't include files that lchown.h now includes.
67274         Don't declare chown, since lchown.h now does that.
67275         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
67276         (lchown): Define to rpl_chown if lchown is declared but
67277         does not exist.  Declare using a prototype if lchown is not
67278         declared.  Add a copyright notice.
67279         * lib/mkstemp.h: Include <unistd.h>.
67280         * lib/openat.c: Include lchown.h.
67281
67282         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
67283         we now test for that separately.
67284         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
67285         rather than O_NOFOLLOW, when testing whether it's possible to
67286         avoid a race condition reliably.
67287         * lib/savewd.c (savewd_chdir): Likewise.
67288
67289         Remove macros that are no longer needed now that stdint.h is
67290         reliable.
67291         * lib/fsusage.c (UINTMAX_MAX): Remove.
67292         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
67293         * lib/utimecmp.c (SIZE_MAX): Remove.
67294
67295         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
67296
67297         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
67298         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
67299         O_NOATIME works.
67300
67301 2006-10-05  Bruno Haible  <bruno@clisp.org>
67302
67303         * lib/gl_list.h (gl_sortedlist_search_from_to,
67304         gl_sortedlist_indexof_from_to): New declarations.
67305         (gl_list_implementation): New fields sortedlist_search_from_to,
67306         sortedlist_indexof_from_to.
67307         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
67308         inline functions.
67309         * lib/gl_list.c (gl_sortedlist_search_from_to,
67310         gl_sortedlist_indexof_from_to): New functions.
67311         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
67312         function.
67313         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
67314         (gl_array_sortedlist_search_from_to): New function.
67315         (gl_array_list_implementation): Update.
67316         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
67317         function.
67318         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
67319         (gl_carray_sortedlist_search_from_to): New function.
67320         (gl_carray_list_implementation): Update.
67321         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
67322         gl_linked_sortedlist_indexof_from_to): New functions.
67323         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
67324         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
67325         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
67326         gl_tree_sortedlist_indexof_from_to): New functions.
67327         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
67328         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
67329         Update.
67330         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
67331         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
67332         Update.
67333
67334 2006-10-05  Bruno Haible  <bruno@clisp.org>
67335
67336         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
67337         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
67338         (struct gl_list_implementation): Add fields search_from_to,
67339         indexof_from_to. Remove fields search, indexof.
67340         (gl_list_search): Use the search_from_to method.
67341         (gl_list_search_from, gl_list_search_from_to): New functions.
67342         (gl_list_indexof): Use the indexof_from_to method.
67343         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
67344         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
67345         (gl_list_search_from, gl_list_search_from_to): New functions.
67346         (gl_list_indexof): Use the indexof_from_to method.
67347         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
67348         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
67349         gl_array_indexof. Add start_index, end_index arguments.
67350         (gl_array_search_from_to): Renamed from gl_array_search. Add
67351         start_index, end_index arguments.
67352         (gl_array_remove, gl_array_list_implementation): Update.
67353         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
67354         gl_carray_indexof. Add start_index, end_index arguments.
67355         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
67356         start_index, end_index arguments.
67357         (gl_carray_remove, gl_carray_list_implementation): Update.
67358         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
67359         gl_linked_search. Add start_index, end_index arguments.
67360         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
67361         start_index, end_index arguments.
67362         (gl_linked_remove): Update.
67363         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
67364         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
67365         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
67366         field to 'size_t'.
67367         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
67368         gl_tree_search. Add start_index, end_index arguments.
67369         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
67370         start_index, end_index arguments.
67371         (gl_tree_remove): Update.
67372         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
67373         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
67374         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
67375         function.
67376         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
67377         gl_tree_search. Add start_index, end_index arguments.
67378         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
67379         start_index, end_index arguments.
67380         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
67381         Update.
67382         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
67383
67384 2006-10-05  Bruno Haible  <bruno@clisp.org>
67385
67386         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
67387
67388         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
67389         fwriteerror_temp): New declarations.
67390         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
67391         (descriptors): New variable.
67392         (cleanup): First, close the descriptors.
67393         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
67394         fclose_temp, fwriteerror_temp): New functions.
67395
67396 2006-10-04  Jim Meyering  <jim@meyering.net>
67397
67398         * lib/fts.c (fts_open): Tiny comment change.
67399
67400 2006-10-04  Bruno Haible  <bruno@clisp.org>
67401
67402         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
67403         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
67404         gl_LOCK_BODY.
67405         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
67406         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
67407         gl_LOCK_EARLY_BODY.
67408         (gl_LOCK): Require gl_LOCK_BODY.
67409
67410 2006-10-04  Bruno Haible  <bruno@clisp.org>
67411
67412         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
67413         (gl_oset_search_atleast): New declaration.
67414         (struct gl_oset_implementation): Add field 'search_atleast'.
67415         (gl_oset_search_atleast): New inline function.
67416         * lib/gl_oset.c (gl_oset_search_atleast): New function.
67417         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
67418         (gl_array_oset_implementation): Update.
67419         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
67420         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
67421         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
67422
67423 2006-10-04  Bruno Haible  <bruno@clisp.org>
67424
67425         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
67426
67427 2006-10-03  Bruno Haible  <bruno@clisp.org>
67428
67429         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
67430         from gl_avltreehash_list_implementation.
67431
67432 2006-10-03  Bruno Haible  <bruno@clisp.org>
67433
67434         * lib/gl_oset.c (gl_oset_add): Fix return type.
67435
67436 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
67437
67438         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
67439
67440 2006-10-02  Eric Blake  <ebb9@byu.net>
67441
67442         * modules/strnlen (Depends-on): Add extensions.
67443
67444 2006-10-02  Eric Blake  <ebb9@byu.net>
67445
67446         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
67447         definition in 2.60+.
67448
67449 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
67450
67451         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
67452         checks.
67453
67454 2006-10-02  Bruno Haible  <bruno@clisp.org>
67455
67456         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
67457         to the AUTOMAKE_OPTIONS.
67458         Reported by Jim Meyering.
67459
67460 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
67461
67462         Work around bug in Solaris 10 /proc file system:
67463         /proc/self/fd/NNN/.. isn't the parent directory of
67464         the directory whose file descriptor is NNN.  This needs to
67465         be worked around at run time, not compile time, since a
67466         program might be built on Solaris 8, where things work, and
67467         run on Solaris 10.
67468         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
67469         to use the following interface instead:
67470         (OPENAT_BUFFER_SIZE): New macro.
67471         (openat_proc_name): New function.
67472         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
67473         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
67474         Likewise.
67475         * lib/openat-proc.c: New file.
67476         * modules/openat (Files): Add lib/openat-proc.c.
67477         (Depends-on): Add same-inode, stdbool.
67478         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
67479
67480 2006-09-29  Bruno Haible  <bruno@clisp.org>
67481
67482         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
67483         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
67484         argument. Set stdout_closed before testing for ferror, not after.
67485         (fwriteerror, fwriteerror_no_ebadf): New functions.
67486
67487 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67488
67489         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
67490
67491 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
67492
67493         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
67494         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
67495
67496 2006-09-28  Jim Meyering  <jim@meyering.net>
67497
67498         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
67499         Include <unistd.h>.
67500
67501 2006-09-28  Bruno Haible  <bruno@clisp.org>
67502
67503         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
67504         * modules/linkedhash-list (Depends-on): Likewise.
67505         * modules/rbtreehash-list (Depends-on): Likewise.
67506
67507 2006-09-28  Bruno Haible  <bruno@clisp.org>
67508
67509         * lib/strndup.h: Simplify the redefinition of strndup.
67510         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
67511         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
67512
67513 2006-09-28  Bruno Haible  <bruno@clisp.org>
67514
67515         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
67516         * lib/gl_linkedhash_list.c: Likewise.
67517         * lib/gl_rbtreehash_list.c: Likewise.
67518
67519 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
67520
67521         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
67522         getaddrinfo.
67523
67524         * lib/__fpending.h: Don't include <stdio_ext.h> unless
67525         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
67526         it causes <stdio_ext.h> to cause a compile-time error.
67527         Problem reported by Nelson H. F. Beebe.
67528         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
67529         of HAVE_DECL___PENDING.
67530
67531         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
67532         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
67533         declaration.
67534
67535 2006-09-27  Jim Meyering  <jim@meyering.net>
67536
67537         This file could end up with a definition for a function
67538         named __strndup, rather than rpl_strndup on a system with
67539         incomplete weak_alias support.
67540         * lib/strndup.c (strndup): Rename from __strndup.
67541         Remove #defines that used to map __strndup to strndup.
67542         Don't use K&R prototypes.
67543         Remove LIBC-related code, since this file is not sync'd with glibc.
67544         * lib/strndup.h: Revamp, accordingly.
67545         * m4/strndup.m4: Modernize.
67546
67547 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
67548
67549         * modules/savewd (Depends-on): Add 'raise'.
67550         * lib/savewd.c: Include <signal.h>, for 'raise'.
67551
67552 2006-09-26  Jim Meyering  <jim@meyering.net>
67553
67554         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
67555         when we detect Darwin 8.7.0's acl_get_file bug.
67556         Rearrange to perform the new (below) run-test while $LIBS
67557         contains any acl-related library.  Set USE_ACL at the end.
67558         (gl_ACL_GET_FILE): New function.
67559
67560 2006-09-26  Eric Blake  <ebb9@byu.net>
67561
67562         * lib/verror.c: Include <config.h> unconditionally.
67563
67564 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
67565
67566         * modules/clock-time (Maintainer): Add self.
67567         * modules/getlogin_r (Depends-on): Add extensions.
67568
67569 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67570
67571         * modules/clock-time: New module.
67572         * modules/nanosleep (Depends-on): Add clock-time.
67573         * modules/gethrxtime (Depends-on): Likewise.
67574         * modules/gettime (Depends-on): Likewise.
67575         * modules/settime (Depends-on): Likewise.
67576
67577         * modules/fts-lgpl: Depend on openat.
67578         * modules/mkancesdirs: Depend on savewd.
67579         * modules/mkdir-p: Likewise.
67580
67581 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67582
67583         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
67584
67585         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
67586         `gl_have_arbitrary_file_name_length_limit' to
67587         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
67588         actually works between configure runs.
67589
67590 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67591             Bruno Haible  <bruno@clisp.org>
67592
67593         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
67594
67595 2006-09-25  Jim Meyering  <jim@meyering.net>
67596
67597         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
67598         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
67599
67600 2006-09-25  Eric Blake  <ebb9@byu.net>
67601
67602         * gnulib-tool (func_import, func_create_testdir): Fix typos in
67603         exec's in 2006-09-18 patch when shuffling fds.
67604
67605 2006-09-25  Bruno Haible  <bruno@clisp.org>
67606
67607         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
67608         Reported by Jim Meyering.
67609
67610 2006-09-24  Jim Meyering  <jim@meyering.net>
67611
67612         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
67613         compare a pointer against a literal "0".  That caused failures with
67614         at least HP-UX's hpcc.
67615
67616 2006-09-22  Simon Josefsson  <jas@extundo.com>
67617
67618         * modules/gc-sha1:
67619         * modules/gc-md4:
67620         * modules/gc-hmac-sha1:
67621         * modules/gc-hmac-md5:
67622         * modules/gc-des:
67623         * modules/gc-arcfour: Distribute more files.
67624
67625 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67626
67627         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
67628         (gl_linked_iterator_from_to): Initialize struct completely.
67629         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
67630         (gl_tree_iterator_from_to): Likewise
67631         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
67632         * lib/gl_array_list.c [lint] (gl_array_iterator)
67633         (gl_array_iterator_from_to): Likewise.
67634         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
67635         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
67636         (gl_carray_iterator_from_to): Likewise.
67637
67638         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
67639         * lib/md4.c (md4_process_block): Remove unused variable.
67640         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
67641         parentheses for clarity.
67642
67643 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67644
67645         * modules/bison-i18n (Depends-on): Add gettext.
67646
67647 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67648
67649         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
67650         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
67651         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
67652         also add missing comma that caused broken test.
67653         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
67654         stdlib.h, for `abort'.
67655         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
67656         variables.
67657         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
67658         include unistd.h if present, for `rmdir'.
67659         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
67660         variables.
67661         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
67662         in the process include standard headers for prototypes.
67663         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
67664         gets declared on GNU/Linux.
67665         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
67666         unistd.h, for `rmdir'.
67667         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
67668
67669         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
67670         always true.
67671         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
67672
67673         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
67674
67675 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67676
67677         * gnulib-tool (func_version): Create output all at once.  This
67678         may help avoid triggering unnecessary SIGPIPEs, and at any
67679         rate it doesn't hurt.
67680
67681 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67682             Bruno Haible  <bruno@clisp.org>
67683
67684         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
67685         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
67686         * m4/signed.m4 (bh_C_SIGNED): Likewise.
67687
67688         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
67689         (gl_FUNC_VASPRINTF): Invoke it.
67690
67691 2006-09-22  Bruno Haible  <bruno@clisp.org>
67692
67693         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
67694         getloadavg.c as first argument.
67695
67696 2006-09-22  Bruno Haible  <bruno@clisp.org>
67697
67698         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
67699         at the beginning of the gl_INIT macro.
67700         * modules/getloadavg (configure.ac): Pass $gl_source_base to
67701         gl_GETLOADAVG.
67702
67703 2006-09-22  Bruno Haible  <bruno@clisp.org>
67704
67705         * gnulib-tool (func_create_megatestdir): Don't include the config-h
67706         module.
67707         Suggested by Ralf Wildenhues.
67708
67709 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
67710
67711         Import this patch from libc:
67712
67713         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
67714
67715         * lib/regex_internal.c (re_string_reconstruct): Handle
67716         offset < pstr->valid_raw_len && pstr->offsets_needed case.
67717         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
67718         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
67719         re_string_context_at.
67720
67721         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
67722         now requires it.
67723         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
67724         gl_REGEX now does it for us.
67725         (gl_REGEX): Add test taken from
67726         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
67727
67728         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
67729         Check that large offsets work.  Modernize Autoconf usages.
67730         Prefer "yes" to mean a good thing rather than a bad.
67731         Don't put "#define mkstemp" in config.h, as this might interfere
67732         with standard system headers that "#define mkstemp mkstemp64".
67733
67734         * modules/mkstemp (Depends-on): Add extensions, so that
67735         mkstemp is visible on some platforms.
67736         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
67737         (Include): Change to "mkstemp.h" from <stdlib.h>.
67738         (Files): Add mkstemp.h.
67739
67740         * lib/mkstemp.h: New file, since some standard headers
67741         #define mkstemp.
67742         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
67743         Include "mkstemp.h".
67744         Make the _LIBC code resemble glibc original more,
67745         e.g., use K&R style.
67746         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
67747         (mkstemp): Remove, since mkstemp.h does this for us.
67748         * lib/stdlib--.h: Include mkstemp.h.
67749
67750         Import this patch from libc:
67751
67752         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
67753
67754         * lib/tempname.c (__gen_tempname): Change attempts_min
67755         into a macro.  Use preprocessor to decide how to initialize
67756         attempts [Coverity CID 67].
67757
67758 2006-09-20  Bruno Haible  <bruno@clisp.org>
67759
67760         * lib/mkdtemp.c: Import from libc.
67761         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
67762                 * sysdeps/posix/tempname.c (__gen_tempname): Change
67763                 attempts_min into a macro.  Use preprocessor to decide how to
67764                 initialize attempts [Coverity CID 67].
67765         2001-11-27  Paul Eggert  <eggert@twinsun.com>
67766                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
67767                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
67768
67769 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67770
67771         * gnulib-tool (func_exit): New function, to allow to pass the
67772         exit status portably through the trap.  Use everywhere.
67773         (--help, --version): Signal a write error.
67774         (trap): catch SIGPIPE, for write errors.
67775         Exit at the end of the trap, with the correct exit status.
67776
67777 2006-09-19  Karl Berry  <karl@gnu.org>
67778
67779         * doc/gnulib.texi: note about the license texinfo files.
67780
67781 2006-09-19  Eric Blake  <ebb9@byu.net>
67782
67783         * gnulib-tool: Avoid space-tab.
67784
67785 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
67786
67787         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
67788         that prevented coreutils 6.1 from building.  Problem reported
67789         by Petter Reinholdtsen.
67790
67791 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
67792
67793         * gnulib-tool (avoidlist): Fix typo that broke options like
67794         --avoid=lock that are used by coreutils bootstrap.
67795
67796 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
67797
67798         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
67799         more systematically.
67800
67801 2006-09-18  Jim Meyering  <jim@meyering.net>
67802
67803         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
67804
67805 2006-09-18  Bruno Haible  <bruno@clisp.org>
67806
67807         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
67808
67809 2006-09-18  Bruno Haible  <bruno@clisp.org>
67810
67811         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
67812         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
67813         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
67814         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
67815         * m4/gettext.m4: Require autoconf >= 2.52.
67816         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
67817         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
67818         of gl_cv_header_inttypes_h.
67819
67820 2006-09-18  Bruno Haible  <bruno@clisp.org>
67821
67822         * lib/javaversion.c: Include configmake.h.
67823
67824 2006-09-18  Bruno Haible  <bruno@clisp.org>
67825
67826         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
67827         avoid that the while loops be executed in a subshell.
67828
67829 2006-09-18  Bruno Haible  <bruno@clisp.org>
67830
67831         * MODULES.html.sh (func_module): Break long lines.
67832         Suggested by Bruce Korb <bkorb@gnu.org>.
67833
67834 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67835
67836         Speed up by a factor of 1.12.
67837         * gnulib-tool (nl): New variable.
67838         (func_import): Rewrite include directive extraction to only read each
67839         directive once.
67840
67841 2006-09-17  Bruno Haible  <bruno@clisp.org>
67842
67843         * modules/javaversion (Makefile.am): Remove DEFS setting.
67844         (Depends-on): Add configmake, for PKGDATADIR definition.
67845
67846 2006-09-17  Bruno Haible  <bruno@clisp.org>
67847
67848         * gnulib-tool (func_create_testdir): Rewrite all files at once.
67849
67850 2006-09-17  Bruno Haible  <bruno@clisp.org>
67851
67852         * gnulib-tool (func_append): New function, stolen from libtool.m4.
67853         (func_modules_transitive_closure, func_modules_add_dummy,
67854         func_modules_to_filelist, func_import, func_create_testdir,
67855         func_create_megatestdir, ...): Use it wherever possible.
67856         Suggested by Ralf Wildenhues.
67857
67858 2006-09-16  Karl Berry  <karl@gnu.org>
67859
67860         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
67861         to avoid sectioning errors.
67862         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
67863         [ifinfo]: blank line after @center-ed titles.
67864         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
67865         Spell FSF address consistently with others.
67866         (These changes approved by rms.)
67867
67868 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67869
67870         Speed up by a factor of 1.61.
67871         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
67872         already checked module names again.
67873
67874 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67875
67876         Speed up by a factor of 1.13.
67877         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
67878         for new_files, and the input to func_add_or_update.
67879
67880 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67881
67882         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
67883         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
67884
67885 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
67886
67887         * modules/mkancesdirs (Depends-on): Add fcntl.
67888         * modules/savewd: New file.
67889         * MODULES.html.sh (File system functions): Add savewd.
67890
67891         * modules/configmake (Makefile.am): Add support for the
67892         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
67893
67894 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
67895
67896         * m4/savewd.m4: New file.
67897
67898 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
67899
67900         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
67901         (dirchownmod): New arg FD.  All callers changed.
67902         Use FD rather than opening the directory ourself, as opening is
67903         now the caller's responsibility.
67904         * lib/dirchownmod.h: Likewise.
67905         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
67906         hosts that require <sys/types.h> before <sys/stat.h>.  Include
67907         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
67908         (test_dir): Remove.
67909         (mkancesdirs): Return length of prefix of FILE that has already
67910         been made, or -2 if there is a child doing the work.  Redo
67911         algorithm so that it is O(N) rather than O(N**2).  Optimize away
67912         ".", and treat ".." specially since it might stray back into
67913         already-created areas.  Use a subprocess if necessary.  New arg
67914         WD; all users changed.  MAKE_DIR function should now return 1
67915         if it creates a directory that is not readable.  Return -2 if
67916         a child process is spun off.
67917         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
67918         Adjust signature to match code.
67919         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
67920         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
67921         all users changed.
67922         * lib/savewd.c, lib/savewd.h: New files.
67923
67924 2006-09-15  Jim Meyering  <jim@meyering.net>
67925
67926         * modules/rename-dest-slash: New module.
67927         * MODULES.html.sh (posix_compat): Add it here.
67928
67929         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
67930
67931 2006-09-15  Jim Meyering  <jim@meyering.net>
67932
67933         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
67934         file.
67935
67936         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
67937
67938 2006-09-15  Jim Meyering  <jim@meyering.net>
67939
67940         * lib/rename-dest-slash.c (has_trailing_slash): Use
67941         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
67942         (rpl_rename_dest_slash): Perform the cheaper trailing slash
67943         test before testing whether SRC is a directory.
67944         Suggestions from Bruno Haible.
67945
67946         Avoid a warning about an unused variable.
67947         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
67948         into the #ifdef block where it's used.
67949
67950         * lib/rename-dest-slash.c: New file.
67951
67952 2006-09-14  Bruno Haible  <bruno@clisp.org>
67953
67954         * lib/allocsa.c: Include <config.h> unconditionally.
67955         * lib/asnprintf.c: Likewise.
67956         * lib/asprintf.c: Likewise.
67957         * lib/c-strcasecmp.c: Likewise.
67958         * lib/c-strcasestr.c: Likewise.
67959         * lib/c-strncasecmp.c: Likewise.
67960         * lib/c-strstr.c: Likewise.
67961         * lib/classpath.c: Likewise.
67962         * lib/clean-temp.c: Likewise.
67963         * lib/concatpath.c: Likewise.
67964         * lib/copy-file.c: Likewise.
67965         * lib/csharpcomp.c: Likewise.
67966         * lib/csharpexec.c: Likewise.
67967         * lib/execute.c: Likewise.
67968         * lib/fatal-signal.c: Likewise.
67969         * lib/findprog.c: Likewise.
67970         * lib/fwriteerror.c: Likewise.
67971         * lib/gl_array_list.c: Likewise.
67972         * lib/gl_array_oset.c: Likewise.
67973         * lib/gl_avltree_list.c: Likewise.
67974         * lib/gl_avltree_oset.c: Likewise.
67975         * lib/gl_avltreehash_list.c: Likewise.
67976         * lib/gl_carray_list.c: Likewise.
67977         * lib/gl_linked_list.c: Likewise.
67978         * lib/gl_linkedhash_list.c: Likewise.
67979         * lib/gl_list.c: Likewise.
67980         * lib/gl_oset.c: Likewise.
67981         * lib/gl_rbtree_list.c: Likewise.
67982         * lib/gl_rbtree_oset.c: Likewise.
67983         * lib/gl_rbtreehash_list.c: Likewise.
67984         * lib/imaxabs.c: Likewise.
67985         * lib/imaxdiv.c: Likewise.
67986         * lib/javacomp.c: Likewise.
67987         * lib/javaexec.c: Likewise.
67988         * lib/javaversion.c: Likewise.
67989         * lib/linebreak.c: Likewise.
67990         * lib/localcharset.c: Likewise.
67991         * lib/lock.c: Likewise.
67992         * lib/mbchar.c: Likewise.
67993         * lib/mbswidth.c: Likewise.
67994         * lib/mkdtemp.c: Likewise.
67995         * lib/pipe.c: Likewise.
67996         * lib/printf-args.c: Likewise.
67997         * lib/printf-parse.c: Likewise.
67998         * lib/progname.c: Likewise.
67999         * lib/progreloc.c: Likewise.
68000         * lib/readlink.c: Likewise.
68001         * lib/sh-quote.c: Likewise.
68002         * lib/stpcpy.c: Likewise.
68003         * lib/stpncpy.c: Likewise.
68004         * lib/strcasecmp.c: Likewise.
68005         * lib/strcasestr.c: Likewise.
68006         * lib/strcspn.c: Likewise.
68007         * lib/striconv.c: Likewise.
68008         * lib/strncasecmp.c: Likewise.
68009         * lib/strnlen1.c: Likewise.
68010         * lib/strstr.c: Likewise.
68011         * lib/strtok_r.c: Likewise.
68012         * lib/tls.c: Likewise.
68013         * lib/tmpdir.c: Likewise.
68014         * lib/unicodeio.c: Likewise.
68015         * lib/unsetenv.c: Likewise.
68016         * lib/vasnprintf.c: Likewise.
68017         * lib/vasprintf.c: Likewise.
68018         * lib/wait-process.c: Likewise.
68019         * lib/xallocsa.c: Likewise.
68020         * lib/xsetenv.c: Likewise.
68021         * lib/xstriconv.c: Likewise.
68022
68023 2006-09-13  Simon Josefsson  <jas@extundo.com>
68024
68025         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
68026         that internally, suggested by Ralf Wildenhues
68027         <Ralf.Wildenhues@gmx.de>.
68028
68029 2006-09-13  Simon Josefsson  <jas@extundo.com>
68030
68031         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
68032         @LIBOBJS@.
68033         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
68034
68035 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
68036
68037         * lib/_fpending.c: Include <config.h> unconditionally, since we no
68038         longer worry about uses that don't define HAVE_CONFIG_H.
68039         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
68040         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
68041         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
68042         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
68043         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
68044         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
68045         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
68046         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
68047         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
68048         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
68049         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
68050         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
68051         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
68052         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
68053         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
68054         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
68055         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
68056         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
68057         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
68058         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
68059         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
68060         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
68061         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
68062         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
68063         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
68064         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
68065         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
68066         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
68067         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
68068         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
68069         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
68070         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
68071         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
68072         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
68073         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
68074         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
68075         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
68076         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
68077         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
68078         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
68079         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
68080         Likewise.
68081
68082 2006-09-13  Eric Blake  <ebb9@byu.net>
68083
68084         * lib/getopt.c: Fix typo in last commit.
68085
68086 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
68087
68088         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
68089         dgettext.
68090
68091 2006-09-12  Jim Meyering  <jim@meyering.net>
68092
68093         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
68094         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
68095         Reported by Nelson H. F. Beebe.
68096
68097 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
68098
68099         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
68100         program_invocation_name and program_invocation_short_name are
68101         initialized.
68102         * lib/argp-namefrob.h: Move declarations of program_invocation_name
68103         and program_invocation_short_name to argp.h, so they are visible
68104         to user programs.
68105         * lib/argp.h: Likewise
68106
68107 2006-09-10  Bruno Haible  <bruno@clisp.org>
68108
68109         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
68110         m4/inttypes_h.m4, m4/uintmax_t.m4.
68111
68112 2006-09-10  Bruno Haible  <bruno@clisp.org>
68113
68114         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
68115         gl_AC_TYPE_UINTMAX_T.
68116
68117 2006-09-10  Bruno Haible  <bruno@clisp.org>
68118
68119         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
68120
68121 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
68122
68123         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
68124         convention.  Text proposed by Bruno Haible.
68125         (struct argp_option): Document the use of N_() wrappers.
68126
68127         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
68128         '\v', and translate the two parts separately, instead of feeding
68129         the whole string to gettext.  This allows to exclude
68130         '\v' from the strings visible to the translator by writing doc
68131         strings as N_("..") "\v" N_("..").
68132
68133 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
68134
68135         * config/srclist.txt: Undo latest change; the bug was fixed.
68136
68137 2006-09-09  Bruno Haible  <bruno@clisp.org>
68138
68139         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
68140         assignments if building a library without libtool.
68141         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
68142         in func_emit_lib_Makefile_am.
68143         (func_import): When building a static library libfoo.a, arrange to
68144         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
68145         (func_create_testdir): Likewise.
68146         * modules/gc (configure.ac, Makefile.am): If building statically,
68147         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
68148         * modules/iconvme (configure.ac, Makefile.am): Likewise.
68149         * modules/striconv (configure.ac, Makefile.am): Likewise.
68150         Based on a suggestion by Ralf Wildenhues.
68151
68152 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
68153
68154         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
68155         Check for unistd.h too, since Autoconf doesn't assume POSIX.
68156         Also:
68157
68158         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
68159         Add year_2050_test to catch glibc bug 2821
68160         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
68161
68162         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
68163         Prefer #ifdef to #if.
68164
68165         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
68166         Return from 'main' instead of calling 'exit'.
68167
68168 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
68169
68170         * lib/mktime.c (guess_time_tm): Fix bug where mktime
68171         returned the maximum time_t value rather than (time_t) -1.
68172         Problem originally reported by William Bardwell
68173         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
68174
68175         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
68176         Moved to here ...
68177         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
68178         ... from here.
68179
68180 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
68181
68182         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
68183         2821 is fixed.
68184
68185 2006-09-08  Jim Meyering  <jim@meyering.net>
68186
68187         Don't make generated files read-only.  That would bother too many
68188         people.  However, do retain the ability to work when targets are
68189         read-only: remove the destination and temporary files before writing
68190         them (when generated via sed or echo), or by using the -f option for
68191         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
68192         * modules/alloca-opt, modules/argz, modules/arpa_inet:
68193         * modules/byteswap, modules/configmake, modules/fcntl:
68194         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
68195         * modules/localcharset, modules/netinet_in, modules/poll:
68196         * modules/stdbool, modules/stdint, modules/sys_select:
68197         * modules/sys_socket, modules/sys_stat, modules/sysexits:
68198
68199 2006-09-08  Jim Meyering  <jim@meyering.net>
68200
68201         Avoid new build failure on FreeBSD 6.0.
68202         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
68203         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
68204         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
68205
68206 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68207
68208         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
68209
68210 2006-09-07  Jim Meyering  <jim@meyering.net>
68211
68212         Fix global typo in last change: use chmod u-w, not chmod u-x.
68213         Spotted by Paul Eggert and Bruce Korb.
68214         * modules/alloca-opt, modules/argz, modules/arpa_inet:
68215         * modules/byteswap, modules/configmake, modules/fcntl:
68216         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
68217         * modules/localcharset, modules/netinet_in, modules/poll:
68218         * modules/stdbool, modules/stdint, modules/sys_select:
68219         * modules/sys_socket, modules/sys_stat, modules/sysexits:
68220
68221 2006-09-06  Jim Meyering  <jim@meyering.net>
68222
68223         Make generated files be read-only.
68224         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
68225         Ensure that each generated file is now read-only.
68226         * modules/argz: Likewise.
68227         * modules/arpa_inet: Likewise.
68228         * modules/byteswap: Likewise.
68229         * modules/configmake: Likewise.
68230         * modules/fcntl: Likewise.
68231         * modules/fnmatch: Likewise.
68232         * modules/getopt: Likewise.
68233         * modules/glob: Likewise.
68234         * modules/inttypes: Likewise.
68235         * modules/netinet_in: Likewise.
68236         * modules/poll: Likewise.
68237         * modules/stdbool: Likewise.
68238         * modules/stdint: Likewise.
68239         * modules/sys_select: Likewise.
68240         * modules/sys_socket: Likewise.
68241         * modules/sys_stat: Likewise.
68242         * modules/sysexits: Likewise.
68243         * modules/localcharset: Same as above, but continue using temporary
68244         file named "t-$@" (why different?) rather than the "$@-t" used
68245         everywhere else.
68246
68247         * modules/sysexits (Makefile.am): Replace literal occurrences
68248         of "sysexit.h" more readable, and more consistent, "$@".
68249
68250 2006-09-06  Bruno Haible  <bruno@clisp.org>
68251
68252         * modules/striconv: New file.
68253         * modules/xstriconv: New file.
68254         * MODULES.html.sh (Internationalization functions): Add striconv,
68255         xstriconv.
68256
68257 2006-09-06  Bruno Haible  <bruno@clisp.org>
68258
68259         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
68260         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
68261         not using libtool correctly.
68262
68263 2006-09-06  Bruno Haible  <bruno@clisp.org>
68264
68265         * lib/striconv.h: New file.
68266         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
68267         iconvstring.c.
68268         * lib/xstriconv.h: New file.
68269         * lib/xstriconv.c: New file.
68270
68271 2006-09-06  Bruno Haible  <bruno@clisp.org>
68272
68273         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
68274         lib_..._LDFLAGS.
68275
68276 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68277
68278         * lib/argz_.h: Sync from Libtool.
68279
68280         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
68281                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
68282
68283         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
68284
68285 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
68286
68287         * modules/trim: New file.
68288
68289 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
68290
68291         * lib/trim.h: New file.
68292         * lib/trim.c: New file.
68293
68294 2006-09-05  Bruno Haible  <bruno@clisp.org>
68295
68296         * MODULES.html.sh (String handling): Add trim.
68297
68298 2006-09-04  Karl Berry  <karl@gnu.org>
68299
68300         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
68301         until next release.
68302
68303 2006-09-03  Bruno Haible  <bruno@clisp.org>
68304
68305         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
68306         correctly.
68307
68308 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
68309
68310         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
68311         not gl_GETLOADAVG.  Omit unneeded semicolons.
68312         Problems reported by Ralf Wildenhues in
68313         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
68314         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
68315         at the end, which is the usual gnulib style.
68316
68317         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
68318         of doing all the work ourselves.
68319         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
68320         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
68321
68322 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
68323
68324         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
68325         Problem reported by Ralf Wildenhues in
68326         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
68327
68328         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
68329         HAVE_STRUCT_STATFS_F_FSTYPENAME.
68330
68331 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
68332
68333         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
68334         yesterday's patch by changing test -n to test -z.
68335
68336 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
68337
68338         * modules/getloadavg (Files): Add m4/getloadavg.m4.
68339         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
68340         the former is now obsolescent.
68341
68342         * modules/chdir-long (Depends-on): Add fcntl.
68343
68344 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
68345
68346         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
68347         obsolescent, and programs should use gnulib instead.
68348         * m4/getloadavg.m4: New file, with contents taken from Autoconf
68349         but with prefixes changed.
68350
68351 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
68352
68353         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
68354         or stdbool.h, because they might not exist while configuring.
68355
68356         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
68357         Don't include unistd.h or limits.h; not needed, since chdir-long.h
68358         does that for us.
68359         (O_DIRECTORY): Remove.
68360
68361 2006-08-31  Eric Blake  <ebb9@byu.net>
68362
68363         * gnulib-tool: Don't let emacs change spaces to TAB.
68364
68365 2006-08-31  Bruno Haible  <bruno@clisp.org>
68366
68367         * gnulib-tool: When calling func_import more than once, do it in a
68368         subshell.
68369         Reported by Eric Blake <ebb9@byu.net>.
68370
68371 2006-08-31  Bruno Haible  <bruno@clisp.org>
68372
68373         * gnulib-tool (nl): Remove variable.
68374         (sed_transform_lib_file): Use more robust test for config-h module.
68375         (func_import): Fix typo in 2006-08-25 patch.
68376
68377 2006-08-31  Bruno Haible  <bruno@clisp.org>
68378
68379         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
68380         specified, augment Makefile.am variables instead of assigning them.
68381
68382 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
68383
68384         Work around a bug in both the Linux and SunOS 64-bit kernels:
68385         nanosleep mishandles sleeps for longer than 2**31 seconds.
68386         Problem reported by Frank v Waveren in
68387         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
68388         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
68389         Check for nanosleep bug.
68390         (LIB_NANOSLEEP): Append clock_gettime library if needed.
68391
68392 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
68393
68394         Work around a bug in both the Linux and SunOS 64-bit kernels:
68395         nanosleep mishandles sleeps for longer than 2**31 seconds.
68396         Problem reported by Frank v Waveren in
68397         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
68398         * lib/nanosleep.c (BILLION): New constant.
68399         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
68400         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
68401         implementation.
68402
68403 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
68404
68405         * modules/nanosleep (Depends-on): Add gettime.
68406
68407 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
68408         and Simon Josefsson  <jas@extundo.com>
68409         and Oskar Liljeblad  <oskar@osk.mine.nu>
68410
68411         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
68412         * gnulib-tool (func_import): New license type 'unmodifiable license
68413         text'.
68414         * modules/fdl: Use it.  Longer description.
68415         * module/gpl, module/lgpl: New files.
68416
68417 2006-08-30  Jim Meyering  <jim@meyering.net>
68418
68419         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
68420         shadowing the parameter.
68421
68422 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68423
68424         Sync from Libtool:
68425
68426         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68427
68428         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
68429         sharing with gnulib.  Report by Eric Blake.
68430
68431 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
68432
68433         * modules/isapipe: New file.
68434         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
68435
68436 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
68437
68438         * modules/configmake (Makefile.am): Add a comment, and omit
68439         the CONFIGMAKE_ prefix from generated macro names.  Suggested
68440         by Bruno Haible.
68441
68442 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
68443
68444         * m4/isapipe.m4: New file.
68445
68446 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
68447
68448         * lib/isapipe.c, lib/isapipe.h: New files.
68449
68450 2006-08-29  Jim Meyering  <jim@meyering.net>
68451
68452         * modules/configmake (Makefile.am): Make configmake.h depend on
68453         Makefile.  Otherwise, a stale configmake.h could hang around.
68454
68455 2006-08-29  Eric Blake  <ebb9@byu.net>
68456
68457         * lib/error.c (error_at_line, print_errno_message): Match libc, after
68458         resolution of upstream bug 3044.
68459
68460 2006-08-29  Bruno Haible  <bruno@clisp.org>
68461
68462         * modules/localcharset (Depends-on): Add configmake.
68463         (Makefile.am): Remove setting of LIBDIR through DEFS.
68464
68465 2006-08-29  Bruno Haible  <bruno@clisp.org>
68466
68467         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
68468         defined.
68469
68470 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
68471
68472         * modules/fcntl: New file.
68473         * modules/chdir-safer (Depends-on): Add fcntl.
68474         * modules/fts: Likewise.
68475         * modules/mkdir-p: Likewise.
68476
68477         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
68478         This undoes the most recent change, since we're now addressing the
68479         problem in a different way.
68480
68481         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
68482         into output, since the output might be called Makefile.am even
68483         if $makefile_name is something different.
68484         (func_import): Use $makefile_am rather than
68485         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
68486         empty.
68487
68488         * modules/inttypes (Files): Add m4/inttypes-h.m4.
68489
68490 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
68491
68492         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
68493         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
68494         recent change to stdint.m4, since we're now addressing the problem in a
68495         different way.
68496
68497 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
68498
68499         * m4/fcntl_h.m4: New file.
68500
68501 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
68502
68503         * lib/fcntl_.h: New file.
68504         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
68505         the fcntl module.
68506         * lib/dirchownmod.c: Likewise.
68507         * lib/fts.c: Likewise.
68508
68509         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
68510         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
68511         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
68512         just before including <inttypes.h>, to avoid circular inclusion.
68513
68514 2006-08-28  Jim Meyering  <jim@meyering.net>
68515
68516         * doc/visibility.texi: Actually read and correct the grammar of the
68517         sentence affected by yesterday's change.
68518
68519 2006-08-28  Eric Blake  <ebb9@byu.net>
68520
68521         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
68522         needs wrapper.
68523
68524 2006-08-28  Eric Blake  <ebb9@byu.net>
68525
68526         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
68527
68528 2006-08-28  Eric Blake  <ebb9@byu.net>
68529
68530         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
68531
68532 2006-08-28  Bruno Haible  <bruno@clisp.org>
68533
68534         * modules/c-strstr: New file, from GNU gettext.
68535         * MODULES.html.sh (String handling): Add c-strstr.
68536
68537 2006-08-28  Bruno Haible  <bruno@clisp.org>
68538
68539         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
68540         macros.
68541         Reported by Eric Blake.
68542
68543 2006-08-28  Bruno Haible  <bruno@clisp.org>
68544
68545         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
68546         (VASNPRINTF): Return a string of length > INT_MAX without failing.
68547         * lib/vasprintf.c: Include errno.h, limits.h.
68548         (EOVERFLOW): New fallback definition.
68549         (vasprintf): Test here whether the string length is > INT_MAX.
68550         * lib/vsnprintf.c: Include errno.h, limits.h.
68551         (EOVERFLOW): New fallback definition.
68552         (vsnprintf): Fix bug when generated string was too long for the buffer.
68553         Test here whether the string length is > INT_MAX.
68554
68555 2006-08-28  Bruno Haible  <bruno@clisp.org>
68556
68557         * lib/inttypes_.h (SCNX*): Remove definitions.
68558         Reported by Eric Blake.
68559
68560 2006-08-28  Bruno Haible  <bruno@clisp.org>
68561
68562         * lib/c-strstr.h: New file, from GNU gettext.
68563         * lib/c-strstr.c: New file, from GNU gettext.
68564
68565 2006-08-28  Bruno Haible  <bruno@clisp.org>
68566
68567         * gnulib-tool: Reorder some statements.
68568
68569 2006-08-28  Bruno Haible  <bruno@clisp.org>
68570
68571         * gnulib-tool: New option --makefile-name.
68572         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
68573         $makefile_name.
68574         (func_import): Write $makefile_name to the cache file, and read it from
68575         there unless explicitly specified. Use $makefile_name as file name
68576         instead of Makefile.am. Adjust the recommendations accordingly.
68577
68578 2006-08-28  Bruno Haible  <bruno@clisp.org>
68579
68580         * gnulib-tool (func_verify_module): Check against misapplying patch.
68581
68582 2006-08-28  Bruno Haible  <bruno@clisp.org>
68583
68584         * gnulib-tool (func_relativize, func_relconcat): New functions.
68585         Give an error if --local-dir is given with --update.
68586         Remove trailing slashes from $local_gnulib_dir.
68587         (func_import): Store the relativized $local_gnulib_dir in
68588         gnulib-cache.m4, and read it from there if not specified explicitly.
68589
68590 2006-08-28  Bruno Haible  <bruno@clisp.org>
68591
68592         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
68593         is the current directory. Respect also $local_gnulib_dir.
68594
68595 2006-08-28  Bruno Haible  <bruno@clisp.org>
68596             Simon Josefsson  <jas@extundo.com>
68597
68598         BeOS portability.
68599         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
68600
68601 2006-08-27  Jim Meyering  <jim@meyering.net>
68602
68603         * doc/visibility.texi: Remove duplicate word: "pointer".
68604
68605 2006-08-26  Bruno Haible  <bruno@clisp.org>
68606
68607         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
68608         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
68609         (Makefile.am): Create inttypes.h from inttypes_.h.
68610         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
68611
68612         * modules/imaxabs: New file.
68613
68614         * modules/imaxdiv: New file.
68615
68616 2006-08-26  Bruno Haible  <bruno@clisp.org>
68617
68618         * m4/inttypes.m4: New file.
68619         * m4/_inttypes_h.m4: Remove file.
68620         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
68621         PRI_MACROS_BROKEN.
68622         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
68623
68624         * m4/imaxabs.m4: New file.
68625
68626         * m4/imaxdiv.m4: New file.
68627
68628 2006-08-26  Bruno Haible  <bruno@clisp.org>
68629
68630         * lib/inttypes_.h: New file.
68631         * lib/inttypes.h: Remove file.
68632         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
68633
68634         * lib/imaxabs.c: New file.
68635
68636         * lib/imaxdiv.c: New file.
68637
68638 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
68639
68640         New config-h module, so that "make" output needn't be cluttered
68641         by -DHAVE_CONFIG_H.
68642         * MODULES.html.sh (Support for building libraries and executables):
68643         Add config-h.
68644         * modules/config-h: New file.
68645         * gnulib-tool (nl, sed_transform_lib_file): New vars.
68646         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
68647         the config-h module is used.
68648
68649         New configmake module, so that "make" output needn't be cluttered
68650         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
68651         * MODULES.html.sh (Support for building libraries and executables):
68652         Add configmake.
68653         * modules/configmake: New file.
68654
68655 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
68656
68657         * m4/config-h.m4: New file.
68658
68659 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
68660
68661         * config/srclist.txt: Add elisp-comp.
68662
68663 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
68664
68665         * MODULES.html.sh (Support for building libraries and executables):
68666         Add elisp-comp.
68667         * build-aux/elisp-comp: New file.
68668         * modules/elisp-comp: New file.
68669
68670 2006-08-24  Bruno Haible  <bruno@clisp.org>
68671
68672         * gnulib-tool (func_create_testdir): Use non-default values of
68673         sourcebase and m4base.
68674
68675 2006-08-24  Bruno Haible  <bruno@clisp.org>
68676
68677         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
68678         HTML structure.
68679
68680 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
68681
68682         * modules/openat (Depends-on): Add lchown.
68683
68684 2006-08-23  Bruno Haible  <bruno@clisp.org>
68685
68686         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
68687         of gl_LOCK_EARLY instead of gl_LOCK.
68688
68689 2006-08-23  Bruno Haible  <bruno@clisp.org>
68690
68691         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
68692         on OSF/1 to no.
68693         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
68694
68695 2006-08-23  Bruno Haible  <bruno@clisp.org>
68696
68697         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
68698         as unusable.
68699
68700         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
68701         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
68702         (gl_LOCK): New macro.
68703
68704 2006-08-22  Simon Josefsson  <jas@extundo.com>
68705
68706         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
68707         to md5 module.
68708
68709 2006-08-22  Simon Josefsson  <jas@extundo.com>
68710
68711         * MODULES.html.sh: Add "Support for maintaining and release
68712         projects".
68713
68714         * build-aux/gnupload: New file, from coreutils.
68715
68716 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
68717
68718         Avoid the need for AC_LIBSOURCES in m4 macros.
68719         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
68720         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
68721         * modules/check-version (EXTRA_DIST): Add check-version.h.
68722         * modules/crc (EXTRA_DIST): Add crc.h.
68723         * modules/des (EXTRA_DIST): Add des.h.
68724         * modules/gc (EXTRA_DIST): Add gc.h.
68725         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
68726         * modules/getline (EXTRA_DIST): Add getline.h.
68727         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
68728         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
68729         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
68730         * modules/md2 (EXTRA_DIST): Add md2.h.
68731         * modules/md4 (EXTRA_DIST): Add md4.h.
68732         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
68733         * modules/read-file (EXTRA_DIST): Add read-file.h.
68734         * modules/readline (EXTRA_DIST): Add readline.h.
68735         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
68736         rijndael-api-fst.h.
68737
68738 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
68739
68740         * m4/rijndael.m4 (gl_ARCFOUR):
68741         * m4/arctwo.m4 (gl_ARCTWO):
68742         * m4/check-version.m4 (gl_CHECK_VERSION):
68743         * m4/crc.m4 (gl_CRC):
68744         * m4/des.m4 (gl_DES):
68745         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
68746         * m4/gc.m4 (gl_GC):
68747         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
68748         * m4/getline.m4 (gl_FUNC_GETLINE):
68749         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
68750         * m4/hmac-md5.m4 (gl_HMAC_MD5):
68751         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
68752         * m4/md2.m4 (gl_MD2):
68753         * m4/md4.m4 (gl_MD4):
68754         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
68755         * m4/read-file.m4 (gl_FUNC_READ_FILE):
68756         * m4/readline.m4 (gl_FUNC_READLINE):
68757         * m4/rijndael.m4 (gl_RIJNDAEL):
68758         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
68759         to get the necessary .h files and whatnot.
68760
68761 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
68762
68763         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
68764         gnulib rather than the other way around.
68765         * config/srclistvars.sh (COREUTILS): Remove.
68766
68767 2006-08-22  Jim Meyering  <jim@meyering.net>
68768
68769         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
68770
68771         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
68772
68773 2006-08-22  Eric Blake  <ebb9@byu.net>
68774
68775         * modules/regexprops-generic: New file.
68776         * MODULES.html.sh (Support for building documentation): List it.
68777
68778 2006-08-22  Eric Blake  <ebb9@byu.net>
68779
68780         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
68781         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
68782         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
68783         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
68784
68785 2006-08-22  Bruno Haible  <bruno@clisp.org>
68786
68787         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
68788         and lib_LTLIBRARIES like the other lib_* variables.
68789
68790 2006-08-22  Bruno Haible  <bruno@clisp.org>
68791
68792         * build-aux/x-to-1.in: New file, from GNU gettext.
68793
68794 2006-08-22  Bruno Haible  <bruno@clisp.org>
68795
68796         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
68797         <utmpx.h> exists.
68798
68799 2006-08-22  Bruno Haible  <bruno@clisp.org>
68800
68801         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
68802         <utmpx.h> exists.
68803
68804 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
68805
68806         BeOS portability.
68807         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
68808         exist.
68809         Problem reported by Bruno Haible.
68810
68811 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
68812
68813         Avoid the need for AC_LIBSOURCES in m4 macros.
68814         * modules/acl (EXTRA_DIST): Add acl.h.
68815         * modules/argmatch (Files): Add m4/argmatch.m4.
68816         (configure.ac): Add gl_ARGMATCH.
68817         (EXTRA_DIST): Renamed from lib_SOURCES, for
68818         consistency with the other modules.  Remove argmatch.c.
68819         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
68820         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
68821         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
68822         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
68823         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
68824         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
68825         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
68826         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
68827         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
68828         * modules/closeout (EXTRA_DIST): Add closeout.h.
68829         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
68830         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
68831         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
68832         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
68833         dirname.h; remove basename.c and stripslash.c.
68834         * modules/exclude (EXTRA_DIST): Add exclude.h.
68835         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
68836         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
68837         * modules/file-type (EXTRA_DIST): Add file-type.h.
68838         * modules/filemode (EXTRA_DIST): Add filemode.h.
68839         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
68840         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
68841         * modules/fpending (EXTRA_DIST): Add __fpending.h.
68842         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
68843         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
68844         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
68845         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
68846         * modules/getdate (EXTRA_DIST): Add getdate.c.
68847         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
68848         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
68849         * modules/getpass (EXTRA_DIST): Add getpass.h.
68850         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
68851         * modules/group-member (EXTRA_DIST): Add group-member.h.
68852         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
68853         * modules/hash (EXTRA_DIST): Add hash.h.
68854         * modules/human (EXTRA_DIST): Add human.h.
68855         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
68856         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
68857         * modules/lchown (EXTRA_DIST): Add lchown.h.
68858         * modules/long-options (EXTRA_DIST): Add long-options.h.
68859         * modules/lstat (EXTRA_DIST): Add lstat.h.
68860         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
68861         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
68862         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
68863         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
68864         * modules/memxor (EXTRA_DIST): Add memxor.h.
68865         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
68866         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
68867         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
68868         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
68869         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
68870         * modules/physmem (EXTRA_DIST): Add physmem.h.
68871         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
68872         * modules/posixver (EXTRA_DIST): Add posixver.h.
68873         * modules/quote (EXTRA_DIST): Add quote.h.
68874         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
68875         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
68876         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
68877         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
68878         regex_internal.h regexec.c.
68879         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
68880         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
68881         * modules/same (EXTRA_DIST): Add same.h.
68882         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
68883         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
68884         * modules/savedir (EXTRA_DIST): Add savedir.h.
68885         * modules/sha1 (EXTRA_DIST): Add sha1.h.
68886         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
68887         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
68888         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
68889         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
68890         * modules/strdup (EXTRA_DIST): Add strdup.h.
68891         * modules/strftime (EXTRA_DIST): Add strftime.h.
68892         * modules/strndup (EXTRA_DIST): Add strndup.h.
68893         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
68894         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
68895         * modules/time_r (EXTRA_DIST): Add time_r.h.
68896         * modules/timespec (EXTRA_DIST): Add timespec.h.
68897         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
68898         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
68899         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
68900         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
68901         * modules/userspec (EXTRA_DIST): Add userspec.h.
68902         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
68903         * modules/utimens (EXTRA_DIST): Add utimens.h.
68904         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
68905         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
68906         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
68907         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
68908         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
68909         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
68910         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
68911         * modules/yesno (EXTRA_DIST): Add yesno.h.
68912
68913 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
68914
68915         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
68916
68917         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
68918         * m4/dev-ino.m4, same-inode.m4: Remove.
68919
68920         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
68921         * m4/acl.m4 (AC_FUNC_ACL):
68922         * m4/backupfile.m4 (gl_BACKUPFILE):
68923         * m4/c-strtod.m4 (gl_C99_STRTOLD):
68924         * m4/canon-host.m4 (gl_CANON_HOST):
68925         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
68926         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
68927         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
68928         * m4/cloexec.m4 (gl_CLOEXEC):
68929         * m4/close-stream.m4 (gl_CLOSE_STREAM):
68930         * m4/closeout.m4 (gl_CLOSEOUT):
68931         * m4/dirfd.m4 (gl_FUNC_DIRFD):
68932         * m4/dirname.m4 (gl_DIRNAME):
68933         * m4/exclude.m4 (gl_EXCLUDE):
68934         * m4/exitfail.m4 (gl_EXITFAIL):
68935         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
68936         * m4/file-type.m4 (gl_FILE_TYPE):
68937         * m4/filemode.m4 (gl_FILEMODE):
68938         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
68939         * m4/fpending.m4 (gl_FUNC_FPENDING):
68940         * m4/fprintftime.m4 (gl_FPRINTFTIME):
68941         * m4/fts.m4 (gl_FUNC_FTS):
68942         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
68943         * m4/getdate.m4 (gl_GETDATE):
68944         * m4/gethrxtime.m4 (gl_GETHRXTIME):
68945         * m4/getpagesize.m4 (gl_GETPAGESIZE):
68946         * m4/getpass.m4 (gl_FUNC_GETPASS):
68947         * m4/gettime.m4 (gl_GETTIME):
68948         * m4/getugroups.m4 (gl_GETUGROUPS):
68949         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
68950         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
68951         * m4/hard-locale.m4 (gl_HARD_LOCALE):
68952         * m4/hash.m4 (gl_HASH):
68953         * m4/idcache.m4 (gl_IDCACHE):
68954         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
68955         * m4/lchown.m4 (gl_FUNC_LCHOWN):
68956         * m4/long-options.m4 (gl_LONG_OPTIONS):
68957         * m4/lstat.m4 (gl_FUNC_LSTAT):
68958         * m4/md5.m4 (gl_MD5):
68959         * m4/memcasecmp.m4 (gl_MEMCASECMP):
68960         * m4/memcoll.m4 (gl_MEMCOLL):
68961         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
68962         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
68963         * m4/memxor.m4 (gl_MEMXOR):
68964         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
68965         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
68966         * m4/modechange.m4 (gl_MODECHANGE):
68967         * m4/mountlist.m4 (gl_MOUNTLIST):
68968         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
68969         * m4/openat.m4 (gl_FUNC_OPENAT):
68970         * m4/pathmax.m4 (gl_PATHMAX):
68971         * m4/physmem.m4 (gl_PHYSMEM):
68972         * m4/posixtm.m4 (gl_POSIXTM):
68973         * m4/posixver.m4 (gl_POSIXVER):
68974         * m4/quote.m4 (gl_QUOTE):
68975         * m4/quotearg.m4 (gl_QUOTEARG):
68976         * m4/readtokens.m4 (gl_READTOKENS):
68977         * m4/readutmp.m4 (gl_READUTMP):
68978         * m4/regex.m4 (gl_REGEX):
68979         * m4/safe-read.m4 (gl_SAFE_READ):
68980         * m4/safe-write.m4 (gl_SAFE_WRITE):
68981         * m4/same.m4 (gl_SAME):
68982         * m4/save-cwd.m4 (gl_SAVE_CWD):
68983         * m4/savedir.m4 (gl_SAVEDIR):
68984         * m4/settime.m4 (gl_SETTIME):
68985         * m4/sha1.m4 (gl_SHA1):
68986         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
68987         * m4/stat-macros.m4 (gl_STAT_MACROS):
68988         * m4/stat-time.m4 (gl_STAT_TIME):
68989         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
68990         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
68991         * m4/strdup.m4 (gl_FUNC_STRDUP):
68992         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
68993         * m4/strndup.m4 (gl_FUNC_STRNDUP):
68994         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
68995         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
68996         * m4/time_r.m4 (gl_TIME_R):
68997         * m4/timespec.m4 (gl_TIMESPEC):
68998         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
68999         * m4/unlinkdir.m4 (gl_UNLINKDIR):
69000         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
69001         * m4/userspec.m4 (gl_USERSPEC):
69002         * m4/utimecmp.m4 (gl_UTIMECMP):
69003         * m4/utimens.m4 (gl_UTIMENS):
69004         * m4/xalloc.m4 (gl_XALLOC):
69005         * m4/xgetcwd.m4 (gl_XGETCWD):
69006         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
69007         * m4/xreadlink.m4 (gl_XREADLINK):
69008         * m4/xstrtod.m4 (gl_XSTRTOD):
69009         * m4/yesno.m4 (gl_YESNO):
69010         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
69011         to get the necessary .h files and whatnot.
69012
69013 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
69014             Bruno Haible  <bruno@clisp.org>
69015
69016         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
69017         /bin/sh understanding of '!' conditional negation.
69018
69019 2006-08-21  Jim Meyering  <jim@meyering.net>
69020
69021         * modules/openat (Depends-on): Really alphabetize.
69022
69023         * modules/acl (Depends-on): Add error and quote.
69024
69025         * check-module (find_included_lib_files): Add at-func.c to the
69026         ok-to-include-more-than-once white list.
69027
69028         * modules/openat (Depends-on): Add lstat.  Alphabetize.
69029
69030 2006-08-21  Bruno Haible  <bruno@clisp.org>
69031
69032         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
69033         Emit a pkgdata_DATA variable only if some snippets add contents to it.
69034         Reported by Martin Lambers <marlam@marlam.de>.
69035
69036 2006-08-21  Bruno Haible  <bruno@clisp.org>
69037
69038         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
69039         specify an installation location, don't emit a noinst_LIBRARIES or
69040         noinst_LTLIBRARIES assignment.
69041
69042 2006-08-21  Bruno Haible  <bruno@clisp.org>
69043
69044         BeOS portability.
69045         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
69046         BeOS has mbrtowc() but no <wctype.h>.
69047
69048 2006-08-21  Bruno Haible  <bruno@clisp.org>
69049
69050         BeOS portability.
69051         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
69052         exist.
69053
69054 2006-08-21  Bruno Haible  <bruno@clisp.org>
69055
69056         BeOS portability.
69057         * lib/mbchar.h: Include <wctype.h> only if it exists.
69058
69059 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
69060
69061         Remove files that are no longer needed by their respective modules.
69062         * m4/obstack.m4: Remove.
69063         * m4/strerror_r.m4: Remove.
69064         * m4/uint32_t.m4: Remove.
69065         * m4/uintptr_t.m4: Remove.
69066         * m4/ullong_max.m4: Remove.
69067         * m4/xstrtoimax.m4: Remove.
69068         * m4/xstrtoumax.m4: Remove.
69069
69070         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
69071         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
69072         dependencies now capture this.
69073
69074         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
69075         Do not use AC_LIBSOURCES, since gnulib modules now do this.
69076         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
69077         * m4/human.m4 (gl_HUMAN): Likewise.
69078         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
69079         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
69080
69081         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
69082
69083         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
69084         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
69085         stdint.
69086         * m4/human.m4 (gl_HUMAN): Likewise.
69087         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
69088         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
69089         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
69090         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
69091         * m4/xstrtol (gl_XSTRTOL): Likewise.
69092
69093         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
69094         AC_TYPE_LONG_LONG_INT.
69095         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
69096         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
69097         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
69098         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
69099
69100         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
69101         on stdbool.
69102
69103         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
69104         (gl_PREREQ_XSTRTOUL): Remove.
69105
69106         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
69107
69108         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
69109         mode.
69110
69111 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
69112
69113         Add and change modules to make it easier for coreutils to use
69114         gnulib-tool.
69115         * modules/backupfile (Files): Remove m4/d-ino.m4.
69116         (Depends-on): Add d-ino.
69117         * modules/cycle-check (Depends-on): Add stdint.
69118         (lib_SOURCES): Add cycle-check.h.
69119         * modules/d-ino: New module.
69120         * modules/d-type: New module.
69121         * modules/error (Files): Remove m4/strerror_r.m4.
69122         * modules/filemode (Files): Add m4/st_dm_mode.m4.
69123         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
69124         m4/inttypes_h.m4, m4/uintmax_t.m4.
69125         (Depends-on): Add stdint.
69126         (lib_SOURCES): Add fsusage.h.
69127         * modules/getcwd (Files): Remove d-ino.m4.
69128         (Depends-on): Add d-ino.
69129         * modules/getndelim2 (Depends-on): Add stdint.
69130         * modules/glob (Files): Remove m4/d-type.m4.
69131         (Depends-on): Add d-type.
69132         * modules/host-os: New module.
69133         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
69134         m4/inttypes_h.m4, m4/uintmax_t.m4.
69135         * Depends-on: Add stdint.
69136         (lib_SOURCES): Add human.h.
69137         * modules/inttostr (Files): Remove m4/intmax_t.m4,
69138         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
69139         m4/uintmax_t.m4, m4/ulonglong.m4.
69140         (Depends-on): Add stdint.
69141         (EXTRA_DIST): Add inttostr.h.
69142         * modules/lchmod: New module.
69143         * modules/link-follow: New module.
69144         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
69145         (Depends-on): Add lchmod.
69146         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
69147         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
69148         (Depends-on): Add stdint.
69149         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
69150         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
69151         (Depends-on): Add stdint.
69152         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
69153         * modules/perl: New module.
69154         * modules/regex (Depends-on): Add stdint.
69155         * modules/rmdir-errno: New module.
69156         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
69157         m4/intmax_t.m4.
69158         (Depends-on): Add stdint.
69159         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
69160         m4/uintmax_t.m4.
69161         (Depends-on): Add stdint.
69162         * modules/unlink-busy: New module.
69163         * modules/utimecmp (Depends-on): Add stdint.
69164         * modules/uptime: New module.
69165         * modules/winsz-ioctl: New module.
69166         * modules/winsz-termios: New module.
69167         * modules/xnanosleep (Depends-on): Add nanosleep.
69168         * modules/ullong_max: Remove.
69169         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
69170         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
69171         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
69172         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
69173         (Depends-on): Add inttypes.
69174         (lib_SOURCES): Add xstrtol.h.
69175         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
69176         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
69177         * MODULES.html.sh: Move 'assert' into the assert section.
69178         Move 'dummy' into the linking section.
69179         Remove ullong_max.
69180         Add section for compatibility checks for POSIX:2001 functions,
69181         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
69182         winsz-ioctl, and winsz-termios into it.
69183         Add lchmod.
69184         Add top-level Misc section and put host-os, perl, and uptime
69185         into it.
69186
69187 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
69188
69189         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
69190         now assume the stdint module.  Do not include inttypes.h.
69191         * lib/fsusage.h: Likewise.
69192         * lib/getndelim2.c: Likewise.
69193         * lib/human.h: Likewise.
69194         * lib/inttostr.h: Likewise.
69195         * lib/obstack.c: Likewise.
69196         * lib/regex_internal.h: Likewise.
69197         * lib/tempname.c: Likewise.
69198         * lib/utimecmp.c: Likewise.
69199         * lib/xstrtol.h: Likewise.
69200
69201         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
69202
69203         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
69204         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
69205         * lib/xtime.h: Likewise.
69206
69207 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
69208
69209         * modules/openat (Files): Add lib/fchmodat.c.
69210         Fixes problem reported by Jay Youngman.
69211
69212 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
69213
69214         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
69215         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
69216
69217 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
69218             Bruno Haible  <bruno@clisp.org>
69219
69220         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
69221         and is a script that invokes bison. Tighten the code. Add comments.
69222
69223 2006-08-18  Jim Meyering  <jim@meyering.net>
69224
69225         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
69226         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
69227         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
69228         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
69229
69230 2006-08-18  Bruno Haible  <bruno@clisp.org>
69231
69232         * modules/bison-i18n: New file.
69233         * MODULES.html.sh (Internationalization functions): Add it.
69234
69235 2006-08-18  Bruno Haible  <bruno@clisp.org>
69236
69237         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
69238         sys/statvfs.h. When getmntinfo was found, check its declaration and
69239         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
69240
69241 2006-08-18  Bruno Haible  <bruno@clisp.org>
69242
69243         * m4/bison-i18n.m4: New file, from bison.
69244
69245 2006-08-18  Bruno Haible  <bruno@clisp.org>
69246
69247         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
69248         (ME_DUMMY): Treat "kernfs" as a dummy.
69249         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
69250
69251 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
69252
69253         Update from coreutils.
69254
69255         2006-08-15  Jim Meyering  <jim@meyering.net>
69256
69257         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
69258
69259         2006-01-17  Jim Meyering  <jim@meyering.net>
69260
69261         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
69262
69263         2006-01-11  Jim Meyering  <jim@meyering.net>
69264
69265         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
69266         Check for the lchmod function.
69267
69268 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
69269
69270         Update from coreutils.
69271
69272         * lib/__fpending.h: Add copyright notice.
69273         * lib/fprintftime.h: Likewise.
69274         * lib/savedir.c: Use (C) in copyright notice.
69275         * lib/savedir.h: Likewise.
69276
69277         2006-08-15  Jim Meyering  <jim@meyering.net>
69278
69279         * lib/at-func.c: New file, with the logic of all emulated at-functions.
69280         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
69281         in support of the EXPECTED_ERRNO macro.
69282         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
69283         definitions.  Instead, define the appropriate symbols and include
69284         "at-func.c".
69285         * lib/mkdirat.c (mkdirat): Likewise.
69286         * lib/fchmodat.c (fchmodat): Likewise.
69287         (ENOSYS): Remove definition.
69288         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
69289         it.  Don't include "unistd--.h" -- it wasn't ever used.
69290
69291         2006-01-17  Jim Meyering  <jim@meyering.net>
69292
69293         Rewrite fts.c not to change the current working directory,
69294         by using openat, fstatat, fdopendir, etc..
69295
69296         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
69297         (HAVE_OPENAT_SUPPORT): Define.
69298         [_LIBC] (fchdir): Don't undef or define; no longer used.
69299         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
69300         Now, this `function' always succeeds, and consumes its file descriptor
69301         parameter -- so callers must not close such FDs.  Update callers.
69302         (diropen_fd, opendirat, cwd_advance_fd): New functions.
69303         (diropen): Add parameter, SP.  Adjust all callers.
69304         Implement using diropen_fd, rather than open.
69305         (fts_open): Initialize new member, fts_cwd_fd.
69306         Remove fts_rft-setting code.
69307         (fts_close): Close fts_cwd_fd, if necessary.
69308         (__opendir2): Define in terms of opendir or opendirat,
69309         depending on whether the FST_NOCHDIR flag is set.
69310         (fts_build): Since fts_safe_changedir consumes its FD, and since
69311         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
69312         and close the dup'd file descriptor upon failure.
69313         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
69314         (fts_safe_changedir): Tweak semantics to reflect that this function
69315         now calls cwd_advance_fd and hence consumes its FD argument.
69316         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
69317         [struct FTS] (fts_rft): Remove now-unused member.
69318         [struct FTS] (fts_cycle.state): Improve comment.
69319
69320         * lib/openat.c (openat_needs_fchdir): New function.
69321         * lib/openat.h (openat_needs_fchdir): Declare it.
69322
69323 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
69324
69325         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
69326         Problem and fix reported by Pádraig Brady in
69327         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
69328
69329 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
69330
69331         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
69332
69333 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
69334
69335         * lib/memcoll.c (memcoll): Optimize for the common case where the
69336         arguments are bytewise equal.
69337
69338 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
69339
69340         * doc/regexprops-generic.texi: Add a copyright notice.
69341
69342 2006-08-15  Bruno Haible  <bruno@clisp.org>
69343
69344         * modules/tmpdir (License): Change to LGPL.
69345
69346 2006-08-15  Bruno Haible  <bruno@clisp.org>
69347
69348         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
69349         module.
69350
69351 2006-08-14  Simon Josefsson  <jas@extundo.com>
69352
69353         * config/srclist.txt: Add gnupload.
69354
69355 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
69356
69357         Change copyright notice from LGPL 2 to GPL 2, since that's the
69358         standard form used in the gnulib repository.
69359         * tests/test-lock.c: Likewise.
69360         * tests/test-stdint.c: Likewise.
69361         * tests/test-tls.c: Likewise.
69362
69363         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
69364         prelude-manager.  User shorter URLs for GNU projects, without '?'.
69365         Add copyright notice.
69366
69367         * check-module: Add copyright notice.  Output a copyright
69368         notice if "--version" is specified.
69369         * modules/COPYING: New file.
69370         * tests/test-getaddrinfo.c: Add copyright notice.
69371         * tests/test-verify.c: Likewise.
69372
69373 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
69374
69375         Change copyright notice from LGPL 2 to GPL 2, since that's the
69376         standard form used in the gnulib repository.
69377         * lib/lock.c: LGPL -> GPL.
69378         * lib/lock.h: Likewise.
69379         * lib/strnlen1.c: Likewise.
69380         * lib/strnlen1.h: Likewise.
69381         * lib/tls.c: Likewise.
69382         * lib/tls.h: Likewise.
69383         * lib/tmpdir.c: Likewise.
69384
69385         * lib/TODO: Remove; this belongs only in coreutils.
69386
69387 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
69388
69389         Add copyright notices to long-enough files that lack them, since
69390         otherwise the files aren't clearly free.  Use the same notice that
69391         getdate.texi already uses.
69392         * doc/alloca-opt.texi: Add copyright notice.
69393         * doc/alloca.texi: Likewise.
69394         * doc/ctime.texi: Likewise.
69395         * doc/functions.texi: Likewise.
69396         * doc/gcd.texi: Likewise.
69397         * doc/gnulib-tool.texi: Likewise.
69398         * doc/inet_ntoa.texi: Likewise.
69399         * doc/visibility.texi: Likewise.
69400
69401         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
69402         * doc/quote.texi: Add copyright notice.
69403
69404         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
69405         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
69406         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
69407         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
69408         is now obsolete, and give a pointer to the Sun list.
69409         Add copyright notice.
69410
69411 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
69412
69413         * config/srclistvars.sh: Add copyright notice.
69414
69415 2006-08-14  Eric Blake  <ebb9@byu.net>
69416
69417         Import the following change from libc:
69418
69419         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
69420
69421         Upstream bug 2997.
69422         * lib/misc/error.c: Add space between program name and message if file
69423         name is missing.
69424
69425 2006-08-12  Karl Berry  <karl@gnu.org>
69426
69427         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
69428         remove, these originate in gnulib now.
69429
69430 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69431
69432         * doc/Makefile (standards.info standards.html standards.dvi):
69433         Also depend on make-stds.texi.
69434
69435 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
69436
69437         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
69438         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
69439
69440         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
69441         in wchar_t.  Problem reported by Eric Blake.
69442
69443         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
69444         LEN is smaller than SIZE.  Suggested by Bruno Haible.
69445         Also, help the compiler to keep LEN in a register.
69446
69447 2006-08-11  Eric Blake  <ebb9@byu.net>
69448
69449         * users.txt: Sort.  Add tar.
69450
69451 2006-08-11  Bruno Haible  <bruno@clisp.org>
69452
69453         * users.txt: New file.
69454
69455 2006-08-11  Bruno Haible  <bruno@clisp.org>
69456
69457         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
69458         before <wchar.h>. Needed for OSF/1 and BSD/OS.
69459
69460 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
69461
69462         * modules/snprintf (Depends-on): Remove minmax.
69463         (Maintainer): Add self and Bruno.
69464
69465 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
69466
69467         * lib/.cppi-disable: Add snprintf.h, socket_.h.
69468         * lib/snprintf.c: Include <errno.h> and <limits.h>.
69469         (EOVERFLOW): Define if the system does not.
69470         Do not include "minmax.h"; it wasn't used.
69471         (snprintf): Don't assume size_t promotes to an unsigned type.
69472         Fix bug when generated string was too long for the buffer: the
69473         buffer's contents are supposed to be the initial prefix of the
69474         output.  Don't assume vasnprintf returns EOVERFLOW if the size
69475         exceeds INT_MAX; do the check ourselves.
69476
69477         Import the following changes from libc:
69478
69479         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
69480
69481         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
69482         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
69483         set wc to the byte which couldn't be converted.
69484         (re_string_reconstruct): Don't clear valid_raw_len before calling
69485         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
69486         tip_context using re_string_context_at.
69487
69488         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
69489
69490         * lib/posix/regex.h: g++ still cannot handled [restrict].
69491
69492         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
69493
69494         * lib/posix/regex.h: Remove special handling for VMS.
69495
69496 2006-08-10  Jim Meyering  <jim@meyering.net>
69497
69498         * modules/same-inode: New module.
69499         * modules/dev-ino: New module.
69500         * modules/cycle-check: Depend on these modules, rather than simply
69501         including their .h files.
69502         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
69503         required via m4/cycle-check.m4.
69504         * modules/same: Depend on new same-inode module, rather than
69505         including same-inode.h.
69506         * modules/chdir-safer: New file.
69507
69508         * modules/chown (Depends-on): Add stat-macros.
69509
69510 2006-08-10  Jim Meyering  <jim@meyering.net>
69511
69512         * m4/cycle-check.m4: New file.
69513         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
69514         * m4/dev-ino.m4, m4/same-inode.m4: New files.
69515
69516 2006-08-10  Eric Blake  <ebb9@byu.net>
69517
69518         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
69519         in from original proposal.
69520
69521 2006-08-10  Eric Blake  <ebb9@byu.net>
69522         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
69523
69524         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
69525         namespace.
69526
69527 2006-08-10  Bruno Haible  <bruno@clisp.org>
69528
69529         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
69530         as well.
69531
69532 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
69533
69534         Sync from coreutils.
69535
69536         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
69537
69538         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
69539         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
69540
69541 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
69542
69543         * modules/restrict: Remove; no longer needed now that we assume
69544         Autoconf 2.59 or later.
69545         * MODULES.html.sh: Remove 'restrict'.
69546         * modules/argp (Depends-on): Remove 'restrict'.
69547         * modules/base64 (Depends-on): Likewise.
69548         * modules/gc (Depends-on): Likewise.
69549         * modules/getaddrinfo (Depends-on): Likewise.
69550         * modules/glob (Depends-on): Likewise.
69551         * modules/inet_ntop (Depends-on): Likewise.
69552         * modules/inet_pton (Depends-on): Likewise.
69553         * modules/memxor (Depends-on): Likewise.
69554         * modules/regex (Depends-on): Likewise.
69555         * modules/strtok_r (Depends-on): Likewise.
69556         * modules/time_r (Depends-on): Likewise.
69557
69558 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
69559
69560         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
69561         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
69562         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
69563         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
69564         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
69565         * m4/memxor.m4 (gl_MEMXOR): Likewise.
69566         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
69567         gl_C_RESTRICT replaced by AC_C_RESTRICT.
69568
69569         Merge from coreutils.
69570         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
69571         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
69572         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
69573         * m4/time_r.m4 (gl_TIME_R): Likewise.
69574
69575 2006-08-09  Karl Berry  <karl@gnu.org>
69576
69577         * config/srclist.txt: no more gettext-tools, per Bruno.
69578
69579 2006-08-08  Eric Blake  <ebb9@byu.net>
69580
69581         * modules/verror: New module.
69582         * MODULES.html.sh: Document it.
69583
69584 2006-08-08  Eric Blake  <ebb9@byu.net>
69585
69586         * lib/verror.h, lib/verror.c: New files.
69587
69588 2006-08-08  Eric Blake  <ebb9@byu.net>
69589
69590         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
69591         verror_at_line output complies with GNU Coding Standards even when
69592         file is NULL.
69593
69594 2006-08-07  Bruno Haible  <bruno@clisp.org>
69595
69596         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
69597         versions of AIX.
69598         Reported by Ralf Wildenhues.
69599
69600 2006-08-07  Bruno Haible  <bruno@clisp.org>
69601
69602         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
69603         in an AC_DEFUN. Needed so that the autoconf snippets can use
69604         AC_REQUIRE.
69605
69606 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69607
69608         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
69609         Initialize pkgdata_DATA.
69610         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
69611         overriding it.
69612
69613 2006-08-06  Eric Blake  <ebb9@byu.net>
69614
69615         * lib/error.h: Fold in some upstream changes from glibc.
69616         * lib/error.c: Likewise.
69617
69618 2006-08-04  Bruno Haible  <bruno@clisp.org>
69619
69620         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
69621         Make the mostlyclean-local rule depend on mostlyclean-generic.
69622         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
69623
69624 2006-07-31  Bruno Haible  <bruno@clisp.org>
69625
69626         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
69627         <stdlib.h>, <string.h>.
69628
69629 2006-07-30  Bruno Haible  <bruno@clisp.org>
69630
69631         * modules/readlink (License): Change to LGPL.
69632
69633 2006-07-30  Bruno Haible  <bruno@clisp.org>
69634
69635         * modules/javaversion (Makefile.am): Distribute javaversion.java and
69636         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
69637         set PKGDATADIR to point to it.
69638
69639 2006-07-30  Bruno Haible  <bruno@clisp.org>
69640
69641         * modules/csharpexec (configure.ac): Comment out macro invocation.
69642         * modules/javaexec (configure.ac): Likewise.
69643         * modules/javacomp-script (configure.ac): Likewise.
69644
69645         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
69646
69647 2006-07-30  Bruno Haible  <bruno@clisp.org>
69648
69649         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
69650         linked-list.
69651
69652 2006-07-30  Bruno Haible  <bruno@clisp.org>
69653
69654         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
69655
69656 2006-07-30  Bruno Haible  <bruno@clisp.org>
69657
69658         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
69659         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
69660         get removed.
69661
69662 2006-07-29  Bruno Haible  <bruno@clisp.org>
69663
69664         Make it possible for gnulib-tool to work with locally modified or
69665         augmented gnulib repositories.
69666         * gnulib-tool (func_usage): Document --local-dir option.
69667         (local_gnulib_dir): New variable.
69668         Handle --local-dir option.
69669         (func_lookup_file): New function.
69670         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
69671         (func_get_description, func_get_filelist, func_get_description,
69672         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
69673         func_get_automake_snippet, func_get_include_directive,
69674         func_get_license, func_get_maintainer): Use func_lookup_file.
69675         (func_import, func_create_testdir): Use func_lookup_file.
69676
69677 2006-07-29  Bruno Haible  <bruno@clisp.org>
69678
69679         * modules/setenv (Depends-on): Add unistd.
69680
69681 2006-07-29  Bruno Haible  <bruno@clisp.org>
69682
69683         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
69684
69685 2006-07-29  Bruno Haible  <bruno@clisp.org>
69686
69687         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
69688
69689 2006-07-29  Bruno Haible  <bruno@clisp.org>
69690
69691         * gnulib-tool (import, update): If there is no Makefile.am, look at
69692         aclocal.m4, instead of bailing out.
69693
69694 2006-07-29  Bruno Haible  <bruno@clisp.org>
69695
69696         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
69697         Categorize the options by when they are useful.
69698
69699 2006-07-29  Bruno Haible  <bruno@clisp.org>
69700
69701         * gnulib-tool (func_usage): Document option --no-libtool.
69702         Handle option --no-libtool.
69703         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
69704         for changed semantics of $libtool variable.
69705         (func_import): Likewise. If libtool is not used, show this through
69706         an option --no-libtool.
69707         (func_create_testdir): Update.
69708
69709 2006-07-29  Bruno Haible  <bruno@clisp.org>
69710
69711         * gnulib-tool (func_import): Extend error message about missing
69712         --doc-base.
69713
69714 2006-07-29  Bruno Haible  <bruno@clisp.org>
69715
69716         * gnulib-tool (func_import): Don't create the $docbase directory if
69717         there is no file to store there.
69718
69719 2006-07-29  Bruno Haible  <bruno@clisp.org>
69720
69721         * gnulib-tool (autoconf_minversion): If a --dir option is given and
69722         relevant, look for configure.ac there, not in the current directory.
69723         Also use a simple search for AC_PREREQ, not "autoconf --trace".
69724
69725 2006-07-29  Bruno Haible  <bruno@clisp.org>
69726
69727         * gnulib-tool (SORT): New variable.
69728         (func_usage): Undocument --assume-autoconf option.
69729         Remove --assume-autoconf option handling.
69730         (autoconf_minversion): Determine from the contents of configure.ac.
69731         (func_import): Remove autoconf_minversion handling.
69732         Suggested by Eric Blake.
69733
69734 2006-07-29  Bruno Haible  <bruno@clisp.org>
69735
69736         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
69737
69738 2006-07-29  Bruno Haible  <bruno@clisp.org>
69739
69740         * config/srclist.txt (*setenv.[ch]): Remove rules.
69741
69742 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69743
69744         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
69745
69746 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69747
69748         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
69749         arpa/inet.h.
69750
69751 2006-07-28  Simon Josefsson  <jas@extundo.com>
69752
69753         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
69754         * modules/inet_pton (Depends-on): Likewise.
69755
69756 2006-07-28  Simon Josefsson  <jas@extundo.com>
69757
69758         * m4/netinet_in_h.m4: New file.
69759
69760 2006-07-28  Simon Josefsson  <jas@extundo.com>
69761
69762         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
69763         #include's.
69764
69765 2006-07-28  Simon Josefsson  <jas@extundo.com>
69766
69767         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
69768         #include's.
69769
69770 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
69771
69772         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
69773         setgid on directories only if they set these bits.
69774         * lib/modechange.h: Remove obsolete comment about masks.
69775
69776 2006-07-28  Eric Blake  <ebb9@byu.net>
69777
69778         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
69779         macro expansion.
69780
69781 2006-07-28  Bruno Haible  <bruno@clisp.org>
69782
69783         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
69784
69785 2006-07-28  Bruno Haible  <bruno@clisp.org>
69786
69787         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
69788
69789 2006-07-28  Bruno Haible  <bruno@clisp.org>
69790
69791         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
69792         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
69793         Define fallbacks.
69794         Avoids link error on FreeBSD 4.x.
69795         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
69796
69797         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
69798         encoding.
69799         * lib/mbswidth.c (iswcntrl): Likewise.
69800
69801 2006-07-27  Bruno Haible  <bruno@clisp.org>
69802
69803         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
69804         test.
69805
69806 2006-07-27  Bruno Haible  <bruno@clisp.org>
69807
69808         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
69809         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
69810         defined.
69811
69812 2006-07-26  Eric Blake  <ebb9@byu.net>
69813
69814         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
69815
69816 2006-07-26  Eric Blake  <ebb9@byu.net>
69817
69818         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
69819         like mingw that lack mkstemp.
69820         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
69821         avoid compilation warning on mingw.
69822
69823 2006-07-26  Bruno Haible  <bruno@clisp.org>
69824
69825         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
69826         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
69827         INT_FAST*_MIN, INTPTR_MIN.
69828
69829 2006-07-25  Bruno Haible  <bruno@clisp.org>
69830
69831         * modules/version-etc (Depends-on): Add stdarg.
69832
69833 2006-07-25  Bruno Haible  <bruno@clisp.org>
69834
69835         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
69836         complex commands.
69837
69838 2006-07-25  Bruno Haible  <bruno@clisp.org>
69839
69840         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
69841         defined in <stdarg.h> or config.h.
69842
69843 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
69844
69845         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
69846         (gl_STDIO_SAFER): Remove.
69847
69848 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
69849
69850         * MODULES.html.sh (File stream based Input/Output):
69851         Add fopen-safer, tmpfile-safer; remove stdio-safer.
69852         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
69853         * modules/fopen-safer, modules/tmpfile-safer: New files.
69854         * modules/stdio-safer: Remove.
69855
69856 2006-07-24  Bruno Haible  <bruno@clisp.org>
69857
69858         * modules/tmpdir: New file.
69859         * MODULES.html.sh (File system functions): Add it.
69860
69861 2006-07-24  Bruno Haible  <bruno@clisp.org>
69862
69863         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
69864         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
69865
69866 2006-07-24  Bruno Haible  <bruno@clisp.org>
69867
69868         * modules/clean-temp: New file.
69869
69870 2006-07-24  Bruno Haible  <bruno@clisp.org>
69871
69872         * m4/tmpdir.m4: New file, from GNU gettext.
69873
69874 2006-07-24  Bruno Haible  <bruno@clisp.org>
69875
69876         * lib/tmpdir.h: New file, from GNU gettext.
69877         * lib/tmpdir.c: New file, from GNU gettext.
69878
69879 2006-07-24  Bruno Haible  <bruno@clisp.org>
69880
69881         * lib/clean-temp.h: New file, from GNU gettext.
69882         * lib/clean-temp.c: New file, from GNU gettext.
69883
69884 2006-07-23  Eric Blake  <ebb9@byu.net>
69885
69886         * modules/stdio-safer (Files): Add tmpfile-safer.c.
69887         (Depends-on): Add binary-io.
69888
69889 2006-07-23  Eric Blake  <ebb9@byu.net>
69890
69891         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
69892
69893 2006-07-23  Eric Blake  <ebb9@byu.net>
69894
69895         * lib/tmpfile-safer.c: New file.
69896         * lib/stdio-safer.h (fopen_safer): Add prototype.
69897         * lib/stdio--.h (tmpfile): Make safer.
69898
69899 2006-07-23  Bruno Haible  <bruno@clisp.org>
69900
69901         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
69902         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
69903         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
69904         gl_linked_remove_at): Use it.
69905
69906 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69907         and Simon Josefsson <jas@extundo.com>
69908
69909         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
69910
69911         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
69912
69913 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
69914
69915         * modules/close-stream: New file.
69916         * modules/closeout (Description): Make it clear that it exits
69917         with a diagnostic on error.
69918         (Depends-on): Add close-stream.  Remove fpending, stdbool.
69919         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
69920
69921 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
69922
69923         * m4/close-stream.m4: New file.
69924
69925 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
69926
69927         * lib/close-stream.c, lib/close-stream.h: New files.
69928
69929 2006-07-22  Bruno Haible  <bruno@clisp.org>
69930
69931         Merge from GNU gettext 0.15.
69932
69933         2006-05-01  Bruno Haible  <bruno@clisp.org>
69934
69935                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
69936
69937         2006-07-22  Bruno Haible  <bruno@clisp.org>
69938
69939                 * modules/javaversion: New file.
69940                 * MODULES.html.sh (Java): Add javaversion.
69941
69942         2006-03-12  Bruno Haible  <bruno@clisp.org>
69943
69944                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
69945
69946         2005-12-04  Bruno Haible  <bruno@clisp.org>
69947
69948                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
69949                 (untested).
69950
69951         2006-06-21  Bruno Haible  <bruno@clisp.org>
69952
69953                 Avoid warnings from recent versions of mcs.
69954                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
69955                 -o, -L, -r any more. Use options documented since mcs-1.0
69956                 instead. Similarly for -g.
69957
69958         2005-12-04  Bruno Haible  <bruno@clisp.org>
69959
69960                 * build-aux/csharpcomp.sh.in: Suffix for resources is
69961                 .resources, not .resource.
69962
69963         2005-07-09  Bruno Haible  <bruno@clisp.org>
69964
69965                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
69966                 add a .dll suffix.
69967                 Reported by Mark Junker <mjscod@gmx.de>.
69968
69969         2006-07-22  Bruno Haible  <bruno@clisp.org>
69970
69971                 * modules/gettext: Upgrade to gettext-0.15.
69972                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
69973                 m4/visibility.m4.
69974                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
69975
69976 2006-07-22  Bruno Haible  <bruno@clisp.org>
69977
69978         Merge from GNU gettext 0.15.
69979
69980         2006-03-25  Bruno Haible  <bruno@clisp.org>
69981
69982                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
69983
69984         2006-07-21  Bruno Haible  <bruno@clisp.org>
69985
69986                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
69987                 "1.1".
69988
69989         2006-05-09  Bruno Haible  <bruno@clisp.org>
69990
69991                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
69992                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
69993                 for the conftestver execution.
69994
69995         2006-05-01  Bruno Haible  <bruno@clisp.org>
69996
69997                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
69998                 optional target-version argument. Verify that the compiler
69999                 groks source of the specified source-version, or add -source
70000                 option as necessary. Verify that the compiler produces
70001                 bytecode in the specified target-version, or add -target and
70002                 -source options as necessary. Make the result of the test
70003                 available as variable CONF_JAVAC. Also log error output in
70004                 config.log.
70005
70006         2006-03-11  Bruno Haible  <bruno@clisp.org>
70007
70008                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
70009
70010         2006-05-09  Bruno Haible  <bruno@clisp.org>
70011
70012                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
70013                 CLASSPATH_SEPARATOR to a semicolon.
70014
70015         2006-03-12  Bruno Haible  <bruno@clisp.org>
70016
70017                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
70018                 available as variable CONF_JAVA, for subsequent autoconf
70019                 tests. Also log error output in config.log.
70020
70021         2006-07-19  Bruno Haible  <bruno@clisp.org>
70022
70023                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
70024                 that getline works on glibc2 systems. Needed to avoid trouble
70025                 in relocatable.c.
70026                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
70027
70028         2005-12-04  Bruno Haible  <bruno@clisp.org>
70029
70030                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
70031                 launcher (untested).
70032
70033         2005-12-04  Bruno Haible  <bruno@clisp.org>
70034
70035                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
70036
70037         2006-07-22  Bruno Haible  <bruno@clisp.org>
70038
70039                 * gettext.m4: Update from GNU gettext-0.15.
70040                 * nls.m4: Likewise.
70041                 * po.m4: Likewise.
70042                 * inttypes-pri.m4: Likewise.
70043                 * inttypes-h.m4: Renamed from inttypes.m4.
70044                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
70045
70046 2006-07-22  Bruno Haible  <bruno@clisp.org>
70047
70048         Merge from GNU gettext 0.15.
70049
70050         2005-07-05  Bruno Haible  <bruno@clisp.org>
70051
70052                 * printf-args.c (printf_fetchargs): Work around broken
70053                 definition of wint_t on mingw.
70054
70055         2005-02-12  Bruno Haible  <bruno@clisp.org>
70056
70057                 * xallocsa.h: Add extern "C" for C++.
70058
70059         2006-05-17  Bruno Haible  <bruno@clisp.org>
70060
70061                 Cygwin portability.
70062                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
70063
70064         2006-04-30  Bruno Haible  <bruno@clisp.org>
70065
70066                 * progreloc.c: Include <mach-o/dyld.h> if available.
70067                 (find_executable): Use _NSGetExecutablePath when possible.
70068
70069         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
70070
70071                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
70072                 function.
70073
70074         2005-12-29  Bruno Haible  <bruno@clisp.org>
70075
70076                 * progreloc.c (set_program_name_and_installdir): Fix
70077                 compilation error.
70078
70079         2005-12-04  Bruno Haible  <bruno@clisp.org>
70080
70081                 Cygwin portability.
70082                 * progreloc.c: Include <windows.h> also on Cygwin.
70083                 (find_executable): Add support for Cygwin.
70084                 (set_program_name_and_installdir): Handle also platforms with
70085                 nonempty EXEEXT.
70086
70087         2006-07-11  Bruno Haible  <bruno@clisp.org>
70088
70089                 * javacomp.c: Fix a comment.
70090                 Reported by Jim Meyering.
70091
70092         2006-04-30  Bruno Haible  <bruno@clisp.org>
70093
70094                 * javacomp.h (compile_java_class): Add source_version,
70095                 target_version arguments.
70096                 * javacomp.c: Rewritten to choose only a compiler that
70097                 respects the specified source_version and target_version.
70098
70099         2006-06-27  Bruno Haible  <bruno@clisp.org>
70100
70101                 Assume correct S_ISDIR macro.
70102                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
70103
70104         2006-07-22  Bruno Haible  <bruno@clisp.org>
70105
70106                 * javaversion.h: New file, from GNU gettext.
70107                 * javaversion.c: New file, from GNU gettext.
70108                 * javaversion.java: New file, from GNU gettext.
70109                 * javaversion.class: New file, from GNU gettext.
70110
70111         2006-05-17  Bruno Haible  <bruno@clisp.org>
70112
70113                 Cygwin portability.
70114                 * javaexec.c (execute_java_class): Test for jview program
70115                 also on Cygwin.
70116
70117         2006-04-09  Bruno Haible  <bruno@clisp.org>
70118
70119                 * fatal-signal.c: Don't include string.h.
70120                 (at_fatal_signal): Use a copying loop instead of memcpy.
70121
70122         2005-12-04  Bruno Haible  <bruno@clisp.org>
70123
70124                 * csharpexec.c: Add support for 'clix' launcher (untested).
70125                 (execute_csharp_using_sscli): New function.
70126                 (execute_csharp_program): Call it.
70127
70128         2006-06-21  Bruno Haible  <bruno@clisp.org>
70129
70130                 Avoid warnings from recent versions of mcs.
70131                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
70132                 -o, -L, -r any more. Use options documented since mcs-1.0
70133                 instead. Similarly for -g.
70134
70135         2005-07-09  Bruno Haible  <bruno@clisp.org>
70136
70137                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
70138                 add a .dll suffix.
70139                 Reported by Mark Junker <mjscod@gmx.de>.
70140
70141         2006-06-17  Bruno Haible  <bruno@clisp.org>
70142
70143                 * config.charset: Update for NetBSD 3.0.
70144
70145         2006-05-17  Bruno Haible  <bruno@clisp.org>
70146
70147                 Cygwin portability.
70148                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
70149
70150         2006-05-16  Bruno Haible  <bruno@clisp.org>
70151
70152                 * localcharset.c [CYGWIN]: Include <windows.h>.
70153                 (get_charset_aliases): For Cygwin, return the same CPxxx
70154                 aliases list as under WIN32.
70155                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
70156                 the environment variables. Fall back to GetACP().
70157
70158         2006-04-05  Bruno Haible  <bruno@clisp.org>
70159
70160                 * config.charset: Update Juan Manuel Guerrero's address.
70161
70162         2005-02-12  Bruno Haible  <bruno@clisp.org>
70163
70164                 * allocsa.h: Add extern "C" for C++.
70165
70166         2005-02-10  Bruno Haible  <bruno@clisp.org>
70167
70168                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
70169                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
70170
70171         2006-07-22  Bruno Haible  <bruno@clisp.org>
70172
70173                 * gettext.h: Update to GNU gettext-0.15.
70174
70175 2006-07-22  Bruno Haible  <bruno@clisp.org>
70176
70177         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
70178         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
70179         lib-prefix.m4, longdouble.m4, ssize_t.m4.
70180
70181 2006-07-21  Eric Blake  <ebb9@byu.net>
70182
70183         * modules/stdlib-safer: New file.
70184         * MODULES.html.sh (File stream based Input/Output): Add
70185         stdlib-safer.
70186
70187 2006-07-21  Eric Blake  <ebb9@byu.net>
70188
70189         * lib/stdlib-safer.h: New file from coreutils, required by
70190         stdlib--.h.
70191
70192 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
70193
70194         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
70195
70196 2006-07-20  Bruno Haible  <bruno@clisp.org>
70197
70198         * gnulib-tool: Recognize new option --assume-autoconf.
70199         (autoconf_minversion): New variable.
70200         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
70201
70202 2006-07-20  Bruno Haible  <bruno@clisp.org>
70203
70204         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
70205
70206 2006-07-19  Derek R. Price  <derek@ximbiot.com>
70207
70208         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
70209         Reindent and repaginate.
70210
70211 2006-07-19  Derek Price  <derek@ximbiot.com>
70212
70213         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
70214         Correct grammar.
70215
70216 2006-07-17  Bruno Haible  <bruno@clisp.org>
70217
70218         * modules/list: New file.
70219         * modules/array-list: New file.
70220         * modules/carray-list, modules/carray-list-tests: New files.
70221         * modules/linked-list, modules/linked-list-tests: New files.
70222         * modules/avltree-list, modules/avltree-list-tests: New files.
70223         * modules/rbtree-list, modules/rbtree-list-tests: New files.
70224         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
70225         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
70226         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
70227         * modules/oset: New file.
70228         * modules/array-oset: New file.
70229         * modules/avltree-oset, modules/avltree-oset-tests: New files.
70230         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
70231         * tests/test-carray_list.c: New file.
70232         * tests/test-linked_list.c: New file.
70233         * tests/test-avltree_list.c: New file.
70234         * tests/test-rbtree_list.c: New file.
70235         * tests/test-linkedhash_list.c: New file.
70236         * tests/test-avltreehash_list.c: New file.
70237         * tests/test-rbtreehash_list.c: New file.
70238         * tests/test-avltree_oset.c: New file.
70239         * tests/test-rbtree_oset.c: New file.
70240         * MODULES.html.sh (Container data structures): New section.
70241
70242 2006-07-17  Bruno Haible  <bruno@clisp.org>
70243
70244         * m4/gl_list.m4: New file.
70245
70246 2006-07-17  Bruno Haible  <bruno@clisp.org>
70247
70248         * lib/gl_list.h: New file.
70249         * lib/gl_list.c: New file.
70250         * lib/gl_array_list.h: New file.
70251         * lib/gl_array_list.c: New file.
70252         * lib/gl_carray_list.h: New file.
70253         * lib/gl_carray_list.c: New file.
70254         * lib/gl_linked_list.h: New file.
70255         * lib/gl_linked_list.c: New file.
70256         * lib/gl_anylinked_list1.h: New file.
70257         * lib/gl_anylinked_list2.h: New file.
70258         * lib/gl_avltree_list.h: New file.
70259         * lib/gl_avltree_list.c: New file.
70260         * lib/gl_anyavltree_list1.h: New file.
70261         * lib/gl_anyavltree_list2.h: New file.
70262         * lib/gl_rbtree_list.h: New file.
70263         * lib/gl_rbtree_list.c: New file.
70264         * lib/gl_anyrbtree_list1.h: New file.
70265         * lib/gl_anyrbtree_list2.h: New file.
70266         * lib/gl_anytree_list1.h: New file.
70267         * lib/gl_anytree_list2.h: New file.
70268         * lib/gl_linkedhash_list.h: New file.
70269         * lib/gl_linkedhash_list.c: New file.
70270         * lib/gl_anyhash_list1.h: New file.
70271         * lib/gl_anyhash_list2.h: New file.
70272         * lib/gl_avltreehash_list.h: New file.
70273         * lib/gl_avltreehash_list.c: New file.
70274         * lib/gl_rbtreehash_list.h: New file.
70275         * lib/gl_rbtreehash_list.c: New file.
70276         * lib/gl_anytreehash_list1.h: New file.
70277         * lib/gl_anytreehash_list2.h: New file.
70278
70279         * lib/gl_oset.h: New file.
70280         * lib/gl_oset.c: New file.
70281         * lib/gl_array_oset.h: New file.
70282         * lib/gl_array_oset.c: New file.
70283         * lib/gl_avltree_oset.h: New file.
70284         * lib/gl_avltree_oset.c: New file.
70285         * lib/gl_rbtree_oset.h: New file.
70286         * lib/gl_rbtree_oset.c: New file.
70287         * lib/gl_anytree_oset.h: New file.
70288
70289 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
70290
70291         * m4/mkancesdirs.m4: New file.
70292         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
70293         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
70294         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
70295         it.
70296
70297 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
70298
70299         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
70300         * lib/mkancesdirs.h: New files.
70301         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
70302         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
70303         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
70304         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
70305         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
70306         callers changed.  Revamp internals significantly, by not
70307         attempting to create directories that are temporarily more
70308         permissive than the final results.  Do not attempt to use
70309         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
70310         This removes some race conditions, fixes some bugs, and simplifies
70311         things.  Use new dirchownmod function to do owner and mode changes.
70312         * lib/mkdir-p.h: Likewise.
70313         * lib/modechange.c (octal_to_mode): New function.
70314         (struct mode_change): New member mentioned.
70315         (make_node_op_equals): New arg mentioned.  All callers changed.
70316         (mode_compile): Keep track of which mode bits the user has explicitly
70317         mentioned.
70318         (mode_adjust): New arg DIR, so that we implement the X op correctly.
70319         New arg PMODE_BITS, to keep track of which mode bits the user
70320         mentioned; it treats S_ISUID and S_ISGID speciall.
70321         All callers changed.
70322         * lib/modechange.h: Likewise.
70323
70324 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
70325
70326         * MODULES.html.sh: Add mkancestors.
70327         * modules/mkancesdirs: New module.
70328         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
70329         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
70330         The chdir-safer and afs files are now orphans; I'll remove them
70331         unless someone speaks up.
70332         Add lib/dirchownmod.c, lib/dirchownmod.h.
70333         (Depends-on): Remove alloca, chown, save-cwd, dirname.
70334         Add lchown, mkancesdirs.
70335         (Maintainer): Add self.
70336
70337 2006-07-15  Karl Berry  <karl@gnu.org>
70338
70339         * gnulib-tool: help message wording/arrangement.
70340
70341 2006-07-14  Simon Josefsson  <jas@extundo.com>
70342
70343         * doc/gnulib.texi (Libtool and Windows): New section.
70344
70345 2006-07-12  Simon Josefsson  <jas@extundo.com>
70346
70347         * modules/gendocs (License): Fix license, approved by Karl.
70348
70349 2006-07-12  Eric Blake  <ebb9@byu.net>
70350
70351         * MODULES.html.sh: Add gendocs.
70352
70353 2006-07-11  Eric Blake  <ebb9@byu.net>
70354
70355         * modules/fdl: New module, to install doc/fdl.texi.
70356         * MODULES.html.sh: Add new section for documentation modules.
70357         * gnulib-tool: Avoid space-tab.
70358         (--doc-base): New option, to manage files from doc.
70359
70360 2006-07-11  Eric Blake  <ebb9@byu.net>
70361
70362         * m4/absolute-header.m4: Fix comments to match recent change.
70363
70364 2006-07-11  Eric Blake  <ebb9@byu.net>
70365
70366         * gnulib-tool: List --doc-base before --tests-base.
70367
70368 2006-07-11  Derek R. Price  <derek@ximbiot.com>
70369
70370         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
70371
70372 2006-07-11  Bruno Haible  <bruno@clisp.org>
70373
70374         * README: Mention where to put documentation.
70375
70376 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70377
70378         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
70379
70380 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
70381
70382         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
70383         to stdint.m4.
70384
70385 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
70386
70387         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
70388         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
70389         "no/such/file/stdint.h" when there is no such file, so that
70390         the resulting C code can be parsed by dodgy compilers.
70391         Problems reported by Bob Proulx.
70392
70393 2006-07-10  Derek R. Price  <derek@ximbiot.com>
70394
70395         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
70396         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
70397         macros into the GNU _D_EXACT_NAMLEN.
70398         * lib/savedir.c:  Likewise.
70399         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
70400
70401 2006-07-10  Derek R. Price  <derek@ximbiot.com>
70402         and Paul Eggert  <eggert@cs.ucla.edu>
70403
70404         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
70405         * m4/savedir.m4:
70406         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
70407         macros into the GNU _D_EXACT_NAMLEN.
70408
70409 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
70410
70411         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
70412         around the absolute name, to work around a problem with the HP-UX
70413         11.23 native C compiler, reported by Bob Proulx.
70414
70415 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
70416
70417         * doc/maintain.texi, make-stds.texi: Sync from
70418         <http://savannah.gnu.org/projects/gnustandards>.
70419
70420 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
70421
70422         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
70423
70424 2006-07-09  Jim Meyering  <jim@meyering.net>
70425
70426         * m4/glob.m4: Remove a doubled word in a comment.
70427
70428 2006-07-09  Jim Meyering  <jim@meyering.net>
70429
70430         * lib/argp-pv.c: Remove a doubled word in a comment.
70431         * lib/check-version.c (check_version): Likewise.
70432         * lib/javacomp.c (compile_java_class): Likewise.
70433
70434 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
70435
70436         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
70437         for the benefit of people using Autoconf 2.60.  If you want to
70438         support older Autoconf versions you can copy m4/onceonly_2_57.m4
70439         (or m4/onceonly.m4, if pre-2.57) manually.
70440
70441 2006-07-08  Jim Meyering  <jim@meyering.net>
70442
70443         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
70444         comment.
70445         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
70446         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
70447         comment.
70448
70449 2006-07-08  Jim Meyering  <jim@meyering.net>
70450
70451         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
70452
70453 2006-07-07  Simon Josefsson  <jas@extundo.com>
70454
70455         * tests/test-crc.c: Change expected crc value, the test vector
70456         were probably computed using the old broken crc.c?
70457
70458 2006-07-06  Simon Josefsson  <jas@extundo.com>
70459
70460         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
70461         now the canonical place for the M4 file).
70462
70463         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
70464         from the sys_socket dependency now.
70465
70466         * modules/inet_pton (Files): Ditto.
70467
70468         * modules/inet_ntop (Files): Ditto.
70469
70470 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
70471
70472         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
70473         not gl_PREREQ_GETUSERSHELL.
70474
70475 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70476
70477         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
70478         with only one argument, for Autoconf 2.60.
70479         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
70480         expand to nothing, so add a shell command to avoid syntax error.
70481         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
70482
70483 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70484
70485         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
70486
70487 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
70488
70489         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
70490         no longer needed.  Check for isblank decl.
70491         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
70492         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
70493         of existence.
70494
70495 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
70496
70497         * lib/getloadavg.c: Use __VMS, not VMS.
70498         * lib/getopt.c: Likewise.
70499         * lib/getpagesize.h: Likewise.
70500         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
70501         and probably does not work.
70502
70503 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
70504
70505         * lib/.cppi-disable: Add wcwidth.
70506         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
70507         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
70508         (ISGRAPH): Remove.  All uses changed to isgraph.
70509         (FOLD) [!defined _LIBC]: Remove special case.
70510         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
70511         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
70512         HAVE_ISBLANK.
70513         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
70514         case.
70515
70516 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
70517
70518         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
70519         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
70520         brackets.  Other minor changes to suppress some compiler
70521         warnings.
70522
70523 2006-07-06  Derek R. Price  <derek@ximbiot.com>
70524         and Paul Eggert  <eggert@cs.ucla.edu>
70525
70526         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
70527         of invoking obsolescent AC_HEADER_DIRENT macro.
70528         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
70529         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
70530         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
70531         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
70532         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
70533         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
70534         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
70535         * m4/readdir.m4: Remove; no longer needed.
70536
70537 2006-07-06  Derek R. Price  <derek@ximbiot.com>
70538         and Paul Eggert  <eggert@cs.ucla.edu>
70539
70540         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
70541         Don't worry about this obsolete case any more.
70542         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
70543         directories.
70544         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
70545         worry about this obsolete case any more.
70546         * lib/fts.c: Likewise.
70547         * lib/getcwd.c: Likewise.
70548         * lib/glob.h: Likewise.
70549         * lib/savedir.c: Likewise.
70550
70551 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
70552
70553         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
70554         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
70555         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
70556         needed.
70557         All uses removed.
70558         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
70559         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
70560         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
70561         needed.
70562         * m4/getdate.m4 (gl_GETDATE): Likewise.
70563         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
70564         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
70565         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
70566         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
70567         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
70568         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
70569         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
70570         needed.
70571
70572 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
70573
70574         * lib/memcasecmp.c: Include <limits.h>.
70575         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
70576         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
70577         Don't assume isdigit succeeds only on '0' through '9'.
70578
70579 2006-07-05  Eric Blake  <ebb9@byu.net>
70580
70581         * modules/getaddrinfo (Depends-on): Add snprintf.
70582
70583 2006-07-05  Eric Blake  <ebb9@byu.net>
70584
70585         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
70586         to avoid 'header present but could not be compiled' on cygwin.
70587
70588 2006-07-05  Eric Blake  <ebb9@byu.net>
70589
70590         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
70591         missing from netdb.h.
70592         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
70593
70594 2006-07-05  Derek R. Price  <derek@ximbiot.com>
70595
70596         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
70597         no longer needed.
70598         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
70599         * m4/getdate.m4 (gl_GETDATE): Likewise.
70600         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
70601         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
70602         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
70603         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
70604         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
70605
70606 2006-07-05  Derek R. Price  <derek@ximbiot.com>
70607
70608         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
70609         All uses of is_space replaced by isspace.
70610         * lib/exit.h: Don't talk about STDC_HEADERS.
70611         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
70612         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
70613         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
70614         replaced by isprint etc.
70615         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
70616         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
70617         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
70618         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
70619         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
70620         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
70621
70622 2006-07-05  Bruno Haible  <bruno@clisp.org>
70623
70624         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
70625         the function exists, before testing against AIX.
70626         Reported by Martin Lambers <marlam@marlam.de>.
70627
70628 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
70629
70630         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
70631         From Mark D. Baushke.
70632
70633 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
70634
70635         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
70636         to the absolute name, not just one, to bypass Sun C 5.8's
70637         "warning: #include of /usr/include/... may be non-portable".
70638
70639 2006-07-04  Eric Blake  <ebb9@byu.net>
70640
70641         * modules/dirname-tests: New test module.
70642         * tests/test-dirname.c: New file, replacing dirname.c
70643         TEST_DIRNAME section that was recently deleted.
70644
70645 2006-07-04  Bruno Haible  <bruno@clisp.org>
70646
70647         Assume ANSI C header files and <ctype.h> functions.
70648         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
70649         (mbsnwidth): Use isprint, iscntrl instead.
70650
70651 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
70652
70653         Merge from coreutils.
70654         * MODULES.html.sh: Add xstrtold.
70655         * modules/xstrtold: New file.
70656         * modules/cycle-check (Files): Add lib/same-inode.h.
70657         * modules/dirname (Files): Add m4/double-slash-root.m4.
70658         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
70659         * modules/mkdir-p (Files): Add lib/same-inode.h.
70660         * modules/same (Files): Add lib/same-inode.h.
70661
70662 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
70663
70664         * m4/absolute-header.m4: Renamed from full-header-path.m4.
70665         This is to keep the terminology clean; POSIX talks about
70666         "absolute pathnames", not "full pathnames", but the GNU
70667         Coding Standards say to use "path" for something else;
70668         so use "absolute" to keep both sides happy.
70669         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
70670         Set gl_absolute_header, not gl_full_header_path.
70671         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
70672         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
70673         All uses changed.
70674
70675         Merge from coreutils.
70676
70677         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
70678
70679         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
70680         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
70681         want to require the building of c-strtod.o.
70682         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
70683         needs -lm directly.
70684         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
70685
70686         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
70687
70688         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
70689         --as-needed option if available.  Problem reported by Albert Chin in
70690         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
70691         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
70692         cc merely issues a bunch of annoying warnings for --as-needed
70693         (this problem was reported by Bob Proulx).  Also, try linking with
70694         -lm to detect a bug in binutils 2.16 (this problem was reported
70695         by Ralf Wildenhues).
70696
70697         2006-06-18  Jim Meyering  <jim@meyering.net>
70698
70699         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
70700         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
70701         macro.
70702         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
70703         also check for glibc-2.4's abort-inducing bug.
70704
70705         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
70706         Low-probability clean-up should be to use rmdir to get rid of
70707         the just-created directory, not unlink.
70708
70709         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
70710         configure fail, and request a bug report to inform us about it.
70711         Add a comment that, barring reports to the contrary, in 2007 we'll
70712         assume ftruncate is universally available.
70713
70714         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
70715
70716         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
70717
70718         2006-03-12  Jim Meyering  <jim@meyering.net>
70719
70720         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
70721         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
70722         * m4/same.m4 (gl_SAME): Likewise.
70723         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
70724
70725         2006-03-11  Eric Blake  <ebb9@byu.net>
70726
70727         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
70728         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
70729         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
70730         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
70731
70732 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
70733
70734         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
70735         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
70736         reported by Mark D. Baushke, one in
70737         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
70738
70739         Merge from coreutils.
70740
70741         * lib/.cppi-disable: Add stdint_.h.
70742         * lib/.cvsignore: Add stdint.h.
70743
70744         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
70745
70746         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
70747         both double and long double versions.
70748         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
70749         * lib/xstrtold.c: New file.
70750         * lib/xstrtod.h (xstrtold): New decl.
70751
70752         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
70753
70754         * lib/filemode.c (setst): Remove.
70755         (strmode): Rewrite to avoid setst.  This makes the code shorter,
70756         (arguably) clearer, and the generated code is a bit smaller on my
70757         Debian GNU/Linux stable x86 host.
70758
70759         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
70760
70761         * lib/filemode.c: Include "filemode.h" first, to test the interface.
70762         Assume that filemode.h includes sys/types.h and sys/stat.h.
70763         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
70764         (ftypelet): Reorder to put common cases first, for efficiency.
70765         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
70766         to do 'M'.
70767         (strmode): Renamed from mode_string, and now stores 12 bytes instead
70768         of 10, for compatibility with FreeBSD.  All callers changed.
70769         (filemodestring): Now stores 12 bytes instead of 10, and sets file
70770         types that can't be deduced solely from st_mode.  First arg is now a
70771         const pointer.
70772         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
70773         (strmode): Renamed from mode_string.
70774         (filemodestring): New decl.
70775         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
70776         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
70777         needed.
70778         (S_ISPORT, S_ISWHT): New macros, if not already defined.
70779
70780         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
70781
70782         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
70783         fsusage.h now does that.  Include fsusage.h first, to test interface.
70784         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
70785         at most one method (the old code could have generated decls that
70786         didn't conform to C89, not that this was ever exercised).
70787         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
70788
70789         2006-03-19  Jim Meyering  <jim@meyering.net>
70790
70791         Work even in a chroot where d_ino values for entries in "/"
70792         don't match the stat.st_ino values for the same names.
70793         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
70794         number, iterate through all entries again, using lstat instead.
70795         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
70796         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
70797
70798         * lib/getcwd.c (__getcwd): Clarify a comment.
70799         Use memcpy in place of a call to strcpy.
70800
70801         2006-03-12  Jim Meyering  <jim@meyering.net>
70802
70803         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
70804         matches that of the current directory (which we're about to chdir ".."
70805         out of), then save the dev-ino of the parent, instead.
70806
70807         * lib/same-inode.h (SAME_INODE): New file/macro.
70808         * lib/chdir-safer.c (SAME_INODE): Remove definition.
70809         Include "same-inode.h", instead.
70810         * lib/same.c: Likewise.
70811         * lib/cycle-check.h: Include "same-inode.h".
70812         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
70813         * lib/cycle-check.c (SAME_INODE): Remove definition.
70814         * lib/root-dev-ino.h: Include "same-inode.h".
70815
70816         2006-03-11  Eric Blake  <ebb9@byu.net>
70817
70818         * lib/same.c (same_name): s/base_name/last_component/
70819         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
70820         * lib/filenamecat.c (file_name_concat): Likewise.
70821
70822         2006-03-11  Eric Blake  <ebb9@byu.net>,
70823                     Paul Eggert  <eggert@cs.ucla.edu>
70824
70825         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
70826         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
70827         drive prefix.
70828         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
70829         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
70830         (last_component): New method.
70831         * lib/dirname.c (dir_len): Determine when drive letters need a
70832         subsequent slash.  Preserve // when it is special.
70833         (dir_name): Don't append dot when drive letter is absolute.
70834         [TEST_DIRNAME]: Move into a full-blown gnulib test.
70835         * lib/basename.c (base_name): New semantics - malloc the result.
70836         Preserve // when it is special.  Preserve relative files that look
70837         like drive letters.
70838         (base_len): Preserve // when it is special.
70839         (last_component): New method, similar to old base_name semantics.
70840         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
70841         base_name.  Strip redundant slashes from ///.
70842
70843 2006-07-03  Jim Meyering  <jim@meyering.net>
70844
70845         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
70846         macro is used before the first cycle_check call.
70847
70848 2006-07-03  Eric Blake  <ebb9@byu.net>
70849
70850         * modules/dirname (Depends-on): Add xstrndup.
70851
70852 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
70853
70854         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
70855         test cases, so that config.log is a bit easier to follow.
70856
70857 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
70858
70859         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
70860         both are 64 bits, since this seems to be the tradition, and this
70861         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
70862         we ever run into a host that prefers long long to long in this
70863         case, we'll need another configure-time test.  Problem reported by
70864         Jim Meyering.
70865
70866 2006-07-02  Eric Blake  <ebb9@byu.net>
70867
70868         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
70869
70870 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
70871
70872         * modules/inttypes (Depends-on): No longer depends on stdint.
70873         * modules/stdint (Description): Say more about assumptions.
70874         Say that the fast types might differ.  Say macros are used.
70875         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
70876         (Makefile.am): Revise list of substituted symbols to match
70877         new stdint.m4.
70878         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
70879         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
70880         * tests/test-stdint.c (verify_same_types)
70881         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
70882         the code conforms to C99/C89.
70883         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
70884         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
70885
70886 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
70887
70888         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
70889         but fix a bug, by requiring at least 64 bits.
70890         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
70891         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
70892         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
70893         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
70894
70895         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
70896         changes.  Make 2.59 a prerequisite.  Check and substitute for
70897         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
70898         inttypes.h.  Do not use special include files; just use the
70899         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
70900         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
70901         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
70902         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
70903         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
70904         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
70905         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
70906         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
70907         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
70908         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
70909         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
70910         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
70911         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
70912         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
70913         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
70914         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
70915         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
70916         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
70917         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
70918         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
70919         WINT_MAX.  Check for C99 conformance more strictly, by detecting
70920         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
70921         not check for things that C99 does not require, e.g., int8_t.  If
70922         a test isn't needed unless <stdint.h> isn't working, and is
70923         unlikely to be needed for any other reason, then don't do it
70924         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
70925         size_t, since we assume C89 freestanding at least.  Do not check
70926         for sig_atomic_t, wchar_t, or wint_t, since the code now does
70927         the right thing even if the types are not defined.  Instead use:
70928         (gl_STDINT_TYPE_PROPERTIES): New macro.
70929         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
70930         testing whether <sys/types.h> clashes, as Autoconf does this for
70931         us now.  All uses removed.
70932         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
70933         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
70934         (gl_CHECK_TYPE_SAME):
70935         Remove; no longer needed.
70936         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
70937         exists, since we'll return 0 anyway in that case.
70938         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
70939
70940 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
70941
70942         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
70943         possible collision with system files.
70944         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
70945         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
70946         WCHAR_MIN and WCHAR_MAX in this case.
70947         (<stddef.h>): Do not include; no longer needed.
70948         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
70949         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
70950         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
70951         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
70952         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
70953         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
70954         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
70955         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
70956         !defined(__c99))]: Include in this case too, since it's harmless
70957         now.
70958         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
70959         dangerous to do so.
70960         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
70961         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
70962         (_STDINT_MIN, _STDINT_MAX): New macros.
70963         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
70964         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
70965         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
70966         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
70967         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
70968         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
70969         macros, not typedefs; this simplifies things quite a bit.
70970         Use long int for all types narrower than int64_t.
70971         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
70972         Define in terms of long long int or int64_t or long int,
70973         not int64_t or int32_t.  This saves some compile-time testing.
70974         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
70975         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
70976         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
70977         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
70978         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
70979         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
70980         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
70981         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
70982         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
70983         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
70984         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
70985         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
70986         undef any previous version and define our own version, for
70987         simplicity and consistency with the new macros for types.
70988         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
70989         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
70990         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
70991         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
70992         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
70993         @WINT_T_SUFFIX@ to keep things simple here.
70994         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
70995         Simplify by assuming typical 8/16/32/64 host, since we're
70996         already doing that elsewhere anyway.
70997         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
70998         and assume long long int is 64 bits if available.  This
70999         speeds up 'configure'.
71000
71001 2006-07-01  Eric Blake  <ebb9@byu.net>
71002
71003         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
71004         Reported by Andreas Buening.
71005
71006 2006-07-01  Eric Blake  <ebb9@byu.net>
71007
71008         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
71009
71010 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
71011
71012         * lib/getaddrinfo.c: fixed typo
71013
71014 2006-06-29  Jim Meyering  <jim@meyering.net>
71015
71016         * modules/strftime (Maintainer): Add my name, since with the
71017         FPRINTFTIME changes strftime.c has forked from glibc.
71018
71019 2006-06-29  Eric Blake  <ebb9@byu.net>
71020
71021         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
71022
71023 2006-06-29  Eric Blake  <ebb9@byu.net>
71024
71025         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
71026
71027 2006-06-29  Eric Blake  <ebb9@byu.net>
71028
71029         * lib/stat_.h: New file.
71030
71031 2006-06-29  Eric Blake  <ebb9@byu.net>
71032
71033         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
71034         unused static function.
71035
71036 2006-06-29  Eric Blake  <ebb9@byu.net>
71037
71038         * doc/functions.texi (Function Portability): Document missing lstat
71039         on mingw.
71040
71041 2006-06-29  Eric Blake  <ebb9@byu.net>
71042
71043         * MODULES.html.sh: Add sys_stat.
71044         * modules/sys_stat: New module.
71045         * modules/mkstemp (Depends-on): Add sys_stat.
71046
71047 2006-06-29  Derek R. Price  <derek@ximbiot.com>
71048
71049         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
71050
71051 2006-06-29  Derek R. Price  <derek@ximbiot.com>
71052
71053         * m4/c-bs-a.m4: Removed.
71054
71055 2006-06-29  Derek R. Price  <derek@ximbiot.com>
71056
71057         * lib/strftime.c: Assume strftime() exists.
71058
71059 2006-06-29  Derek Price  <derek@ximbiot.com>
71060
71061         * modules/c-bs-a: Removed - \a is C89.
71062         * MODULES.html.sh: Remove c-bs-a.
71063
71064 2006-06-29  Bruno Haible  <bruno@clisp.org>
71065
71066         * modules/wcwidth (License): Change to LGPL.
71067
71068 2006-06-28  Simon Josefsson  <jas@extundo.com>
71069
71070         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
71071         on _WIN32.
71072
71073         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
71074         getnameinfo.
71075
71076 2006-06-28  Simon Josefsson  <jas@extundo.com>
71077
71078         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
71079
71080 2006-06-28  Simon Josefsson  <jas@extundo.com>
71081
71082         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
71083         functions there.  It will succeed on Windows XP, but on Windows
71084         2000 and (presumably) earlier, it will fail, and use the internal
71085         re-implementation.
71086         (use_win32_p): New function.
71087         (getaddrinfo): Use strtoul on servname, to support numeric ports.
71088         Support AI_NUMERICSERV to disable getservbyname.
71089         (getnameinfo): New function, only supports
71090         NI_NUMERICHOST|NI_NUMERICSERV for now.
71091
71092         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
71093         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
71094         getnameinfo.
71095
71096 2006-06-28  Eric Blake  <ebb9@byu.net>
71097
71098         * modules/wcwidth: New file.
71099         * modules/mbchar (Depends-on): Add wcwidth.
71100         * modules/mbswidth (Depends-on): Add wcwidth.
71101         * MODULES.html.sh: Add wcwidth.
71102
71103 2006-06-28  Eric Blake  <ebb9@byu.net>
71104
71105         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
71106         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
71107
71108 2006-06-28  Eric Blake  <ebb9@byu.net>
71109
71110         * lib/xvasprintf.h: Fix comments.
71111
71112 2006-06-28  Eric Blake  <ebb9@byu.net>
71113
71114         * lib/mbchar.h (wcwidth): Include wcwidth.h.
71115         * lib/mbswidth.c (wcwidth): Move from here...
71116         * lib/wcwidth.h: ...to this new file.
71117
71118 2006-06-28  Derek R. Price  <derek@ximbiot.com>
71119
71120         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
71121
71122         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
71123         it's obsolete.
71124         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
71125
71126 2006-06-28  Derek R. Price  <derek@ximbiot.com>
71127
71128         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
71129         Autoconf 2.60 says this stuff was obsolete.
71130
71131 2006-06-28  Bruno Haible  <bruno@clisp.org>
71132
71133         * modules/wcwidth (Files): Add m4/wchar_t.m4.
71134
71135 2006-06-28  Bruno Haible  <bruno@clisp.org>
71136
71137         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
71138         gt_TYPE_WCHAR_T.
71139
71140 2006-06-28  Bruno Haible  <bruno@clisp.org>
71141
71142         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
71143         declaration for wcwidth.
71144         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
71145
71146 2006-06-28  Bruno Haible  <bruno@clisp.org>
71147
71148         * lib/mkdtemp.c [MINGW]: Include <io.h>.
71149         (mkdir): Define using _mkdir.
71150
71151 2006-06-28  Bruno Haible  <bruno@clisp.org>
71152
71153         * lib/getaddrinfo.h: Fix POSIX URL.
71154         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
71155         _WIN32.
71156         (use_win32_p): Make static.
71157         (getaddrinfo): Reject service name if it is empty or does not consist
71158         solely of decimal digits, or if its value is > 65535.
71159         (getnameinfo): Remove useless casts.
71160
71161 2006-06-27  Simon Josefsson  <jas@extundo.com>
71162
71163         * modules/sys_select: New file, suggested by Bruno Haible, Paul
71164         Eggert and Martin Lambers.
71165
71166 2006-06-27  Simon Josefsson  <jas@extundo.com>
71167
71168         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
71169         Eggert and Martin Lambers.
71170
71171 2006-06-27  Bruno Haible  <bruno@clisp.org>
71172
71173         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
71174         result to 0, not to empty.
71175         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
71176
71177 2006-06-27  Bruno Haible  <bruno@clisp.org>
71178
71179         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
71180
71181 2006-06-26  Simon Josefsson  <jas@extundo.com>
71182
71183         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
71184         present.
71185
71186 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
71187
71188         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
71189         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
71190         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
71191
71192 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
71193
71194         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
71195
71196 2006-06-26  Bruno Haible  <bruno@clisp.org>
71197
71198         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
71199
71200 2006-06-26  Bruno Haible  <bruno@clisp.org>
71201
71202         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
71203
71204 2006-06-26  Bruno Haible  <bruno@clisp.org>
71205
71206         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
71207         SGI C compiler in pre-C99 mode.
71208         Suggested by Mark D. Baushke and Larry Jones.
71209
71210 2006-06-26  Bruno Haible  <bruno@clisp.org>
71211
71212         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
71213         WCHAR_MAX.
71214         Reported by Mark D. Baushke and Larry Jones.
71215
71216 2006-06-26  Bruno Haible  <bruno@clisp.org>
71217
71218         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
71219         in pre-C99 mode.
71220         Suggested by Mark D. Baushke and Larry Jones.
71221
71222 2006-06-23  Simon Josefsson  <jas@extundo.com>
71223             Bruno Haible  <bruno@clisp.org>
71224
71225         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
71226         Emit mostlyclean-local rule.
71227         (func_emit_tests_Makefile_am): Likewise.
71228         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
71229
71230 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
71231
71232         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
71233
71234 2006-06-23  Bruno Haible  <bruno@clisp.org>
71235
71236         * tests/test-stdint.c: Update to match ISO C 99 Technical
71237         Corrigendum 1.
71238
71239 2006-06-23  Bruno Haible  <bruno@clisp.org>
71240
71241         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
71242
71243 2006-06-23  Bruno Haible  <bruno@clisp.org>
71244
71245         * lib/stdint_.h: Treat IRIX like OpenBSD.
71246
71247 2006-06-23  Bruno Haible  <bruno@clisp.org>
71248
71249         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
71250         ISO C 99 Technical Corrigendum 1.
71251
71252 2006-06-22  Simon Josefsson  <jas@extundo.com>
71253
71254         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
71255         MinGW.
71256
71257 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
71258
71259         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
71260         needed.  Some compiler complained about some of them.  Problem reported
71261         by Larry Jones in
71262         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
71263
71264 2006-06-21  Simon Josefsson  <jas@extundo.com>
71265
71266         * tests/test-getaddrinfo.c: New file.
71267
71268         * modules/getaddrinfo-tests: New file.
71269
71270         * MODULES.html.sh: Add inet_pton.
71271
71272         * modules/inet_pton: New file.
71273
71274 2006-06-21  Simon Josefsson  <jas@extundo.com>
71275
71276         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
71277         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
71278         of using the (limited) gnulib implementation on Windows XP.
71279
71280         * m4/inet_pton.m4: New file.
71281
71282 2006-06-21  Simon Josefsson  <jas@extundo.com>
71283
71284         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
71285         variable.
71286
71287         * lib/socket_.h: Don't define WINVER.
71288
71289         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
71290         slightly modified to work in gnulib.
71291
71292 2006-06-21  Simon Josefsson  <jas@extundo.com>
71293
71294         * doc/gnulib.texi (Windows sockets): Add.
71295
71296 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
71297
71298         * lib/read-file.c (fread_file): Start with buffer allocation of
71299         0 bytes rather than 1 byte; this simplifies the code.
71300         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
71301         code to free buffer and save/restore errno.
71302         (internal_read_file): Remove unused local.
71303
71304 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
71305
71306         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
71307         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
71308         Problem reported by Denis Excoffier in
71309         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
71310
71311 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
71312
71313         * modules/sys_socket, modules/socklen: Include sys/types since
71314         FreeBSD 4.x's sys/socket.h needs it.
71315
71316 2006-06-19  Simon Josefsson  <jas@extundo.com>
71317
71318         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
71319
71320 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
71321
71322         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
71323
71324 2006-06-19  Bruno Haible  <bruno@clisp.org>
71325
71326         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
71327         and FULL_PATH_INTTYPES_H in angle brackets.
71328         Reported by Mark D. Baushke <mdb@gnu.org>.
71329
71330 2006-06-17  Eric Blake  <ebb9@byu.net>
71331
71332         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
71333         errno.
71334
71335 2006-06-17  Bruno Haible  <bruno@clisp.org>
71336
71337         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
71338         <sys/inttypes.h>.
71339
71340 2006-06-17  Bruno Haible  <bruno@clisp.org>
71341
71342         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
71343         whether errno is declared. Assume <errno.h> declares errno.
71344
71345 2006-06-17  Bruno Haible  <bruno@clisp.org>
71346
71347         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
71348
71349 2006-06-17  Bruno Haible  <bruno@clisp.org>
71350
71351         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
71352         problem on Solaris 2.5.1.
71353
71354 2006-06-16  Eric Blake  <ebb9@byu.net>
71355
71356         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
71357         * lib/unicodeio.c [!defined errno]: Likewise.
71358         * lib/strtol.c [!defined errno]: Likewise.
71359         * lib/strtod.c [!defined errno]: Likewise.
71360
71361 2006-06-15  Eric Blake  <ebb9@byu.net>
71362
71363         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
71364
71365 2006-06-15  Eric Blake  <ebb9@byu.net>
71366
71367         * config/srclist.txt (ssize_t.m4): Lose sync.
71368
71369 2006-06-15  Bruno Haible  <bruno@clisp.org>
71370
71371         * modules/stdint (Files): Include m4/full-header-path.m4,
71372         m4/size_max.m4, m4/wchar_t.m4.
71373         (Makefile.am): Many more substitutions.
71374         * modules/stdint-tests: New file.
71375         * tests/test-stdint.c: New file.
71376
71377 2006-06-15  Bruno Haible  <bruno@clisp.org>
71378
71379         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
71380         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
71381         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
71382         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
71383         gl_CHECK_TYPE_SAME): New macros.
71384
71385 2006-06-15  Bruno Haible  <bruno@clisp.org>
71386
71387         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
71388
71389 2006-06-15  Bruno Haible  <bruno@clisp.org>
71390
71391         * lib/stdint_.h: Rewritten to be fully auto-configured.
71392         Fixes bug on HP-UX/IA64.
71393
71394 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
71395
71396         * lib/getdate.y (__attribute__): Don't define if already defined.
71397         Problem reported by Larry Jones.
71398         * lib/utimens.c (__attribute__): Likewise.
71399
71400 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
71401
71402         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
71403         reported by Andreas Schwab.
71404
71405 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71406             Bruno Haible  <bruno@clisp.org>
71407
71408         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
71409         check for the declaration of strnlen and a run test that exposes the
71410         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
71411         rpl_strndup.
71412
71413 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71414             Bruno Haible  <bruno@clisp.org>
71415
71416         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
71417
71418 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71419
71420         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
71421         compile test, for Tru64 4.0D.
71422
71423 2006-05-28  Karl Berry  <karl@gnu.org>
71424
71425         * config/srclist.txt (printf-args.c): lose sync.
71426
71427 2006-05-26  Martin Lambers  <marlam@marlam.de>
71428
71429         * lib/getpass.c: Updates the test for the native W32 API, and adds
71430         missing includes, thus fixing compilation warnings.
71431
71432 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
71433
71434         * lib/exclude.c (exclude_fnmatch): New function.
71435         (excluded_file_name): Call exclude_fnmatch.
71436         * lib/exclude.h (excluded_file_name): New prototype
71437
71438 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
71439
71440         * lib/tempname.c (small_open, large_open): New macros.
71441         (__open, __open64) [!_LIBC]: Remove.
71442         (__gen_tempname): Use small_open and large_open instead of __open
71443         and __open64.  This fixes a portability bug on HP-UX 11.11i
71444         reported by Simon Wing-Tang in
71445         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
71446
71447 2006-05-24  Bruno Haible  <bruno@clisp.org>
71448
71449         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
71450         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
71451         Reported by Thorsten Maerz <torte@netztorte.de> via
71452         Aaron Stone <aaron@serendipity.cx>.
71453
71454 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
71455
71456         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
71457         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
71458         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
71459         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
71460         not really conditional on the cache.
71461         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
71462
71463 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
71464
71465         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
71466         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
71467         (my_usleep): Don't mishandle maximum value.
71468
71469 2006-05-19  Jim Meyering  <jim@meyering.net>
71470
71471         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
71472
71473 2006-05-17  Bruno Haible  <bruno@clisp.org>
71474
71475         Cygwin portability.
71476         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
71477
71478 2006-05-17  Bruno Haible  <bruno@clisp.org>
71479
71480         * lib/stdint_.h: Fix recognition of Cygwin.
71481
71482 2006-05-15  Bruno Haible  <bruno@clisp.org>
71483
71484         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
71485         on libtool patch by Ralf Wildenhues.
71486
71487 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
71488
71489         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
71490         test for C99 conformance; (bool) 0.5 is an integer constant
71491         expression, but (bool) -0.5 is not.  Problem reported by Fedor
71492         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
71493
71494 2006-05-11  Simon Josefsson  <jas@extundo.com>
71495
71496         * m4/xvasprintf.m4: Fix obvious typo.
71497
71498 2006-05-11  Jim Meyering  <jim@meyering.net>
71499
71500         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
71501         James Lemley.
71502
71503 2006-05-10  Simon Josefsson  <jas@extundo.com>
71504
71505         * lib/md4.c: Typo fix, update copyright years.
71506         (K1, K2): Don't use L because it turn computations into 64-bit on
71507         64-bit platforms.
71508
71509 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
71510
71511         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
71512         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
71513         unwanted sign propagation, e.g., on hosts with 64-bit int.
71514         There still are some problems with reeelly weird theoretical hosts
71515         (e.g., 33-bit int) but it's not worth worrying about now.
71516         * lib/sha1.c (rol): Likewise.
71517         (K1, K2, K3, K4): Remove unnecessary L suffix.
71518
71519 2006-05-10  Bruno Haible  <bruno@clisp.org>
71520
71521         * lib/des.c: Cast to avoid warnings.
71522
71523 2006-05-09  Bruno Haible  <bruno@clisp.org>
71524
71525         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
71526         (Depends-on): Depend also on xsize, stdarg.
71527         (configure.ac): Add gl_XVASPRINTF.
71528
71529 2006-05-09  Bruno Haible  <bruno@clisp.org>
71530
71531         * m4/xvasprintf.m4: New file.
71532
71533 2006-05-09  Bruno Haible  <bruno@clisp.org>
71534
71535         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
71536         (EOVERFLOW): Define fallback value.
71537         (xstrcat): New function.
71538         (xvasprintf): Recognize the special case of a string concatenation.
71539
71540 2006-05-08  Eric Blake  <ebb9@byu.net>
71541
71542         * gnulib-tool (func_version): Base copyright year on CVS date.
71543         (func_emit_copyright_notice): New function.
71544         (func_emit_lib_Makefile_am): Use it.
71545         (func_emit_tests_Makefile_am): Likewise.
71546         (func_import): Likewise.
71547
71548 2006-05-08  Bruno Haible  <bruno@clisp.org>
71549
71550         * modules/stdarg: New file.
71551         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
71552
71553 2006-05-08  Bruno Haible  <bruno@clisp.org>
71554
71555         * m4/stdarg.m4: New file, from GNU gettext.
71556
71557 2006-05-08  Bruno Haible  <bruno@clisp.org>
71558
71559         * config/srclist.txt (build-aux/config.rpath): different from latest
71560         release.
71561
71562 2006-05-08  Bruno Haible  <bruno@clisp.org>
71563
71564         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
71565
71566 2006-05-05  Jim Meyering  <jim@meyering.net>
71567
71568         * m4/warning.m4: New file, derived from bison's file by the same name.
71569
71570 2006-05-03  Bruno Haible  <bruno@clisp.org>
71571
71572         * lib/stdint_.h: Shorter URL.
71573         * lib/inttypes.h: Likewise.
71574
71575 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
71576
71577         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
71578
71579 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
71580
71581         * lib/verify.h: Document the internals better.  Most of this change
71582         was written by Bruno Haible.
71583
71584 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
71585
71586         * doc/verify.texi: New file, partly based on a proposal by
71587         Bruno Haible.
71588
71589 2006-05-02  Bruno Haible  <bruno@clisp.org>
71590
71591         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
71592         test from here...
71593         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
71594
71595 2006-04-29  Bruno Haible  <bruno@clisp.org>
71596
71597         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
71598         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
71599
71600 2006-04-29  Bruno Haible  <bruno@clisp.org>
71601
71602         * gnulib-tool: Make --update option actually work.
71603
71604 2006-04-29  Bruno Haible  <bruno@clisp.org>
71605
71606         * doc/gcd.texi: New file.
71607         * doc/gnulib.texi: Include it.
71608
71609 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
71610
71611         * lib/getdate.y (get_date): When adding relative date, start with the
71612         initial time, not with the result of the first mktime call.
71613
71614 2006-04-25  Bruno Haible  <bruno@clisp.org>
71615
71616         * gnulib-tool (func_import): Output the include directives in three
71617         blocks, sorted separately.
71618         Reported by Ben Pfaff <blp@cs.stanford.edu>.
71619
71620 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
71621
71622         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
71623         to define main with arguments, for C++.  Reported by Eric Blake.
71624         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
71625         Prefer 'int main ()' to 'int main (void)', for C++.
71626         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
71627         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
71628         for 'main', for C99 and C++.
71629
71630 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
71631
71632         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
71633         Don't assume that exit status -1 is valid.
71634         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
71635         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
71636         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
71637         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
71638         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
71639         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
71640         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
71641         functions can be used without declaring them, or that you can
71642         exit with status -1.
71643         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
71644
71645 2006-04-24  Karl Berry  <karl@gnu.org>
71646
71647         * config/srclist.txt (longdouble.m4): sync lost.
71648
71649 2006-04-24  Eric Blake  <ebb9@byu.net>
71650
71651         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
71652
71653 2006-04-24  Bruno Haible  <bruno@clisp.org>
71654
71655         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
71656         poll() implementation in AIX.
71657         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
71658
71659 2006-04-24  Bruno Haible  <bruno@clisp.org>
71660
71661         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
71662         assigned exactly once.
71663
71664 2006-04-23  Claudio Fontana  <claudio@gnu.org>
71665             Bruno Haible  <bruno@clisp.org>
71666
71667         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
71668         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
71669         for AM_CPPFLAGS.
71670
71671 2006-04-23  Bruno Haible  <bruno@clisp.org>
71672
71673         * modules/copy-file: Depend on unistd.
71674         * modules/execute: Likewise.
71675         * modules/fatal-signal: Likewise.
71676         * modules/findprog: Likewise.
71677         * modules/mkdtemp : Likewise.
71678         * modules/pipe: Likewise.
71679         * modules/wait-process: Likewise.
71680
71681 2006-04-23  Bruno Haible  <bruno@clisp.org>
71682
71683         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
71684         condition was already detected.
71685         Reported by Ben Pfaff <blp@cs.stanford.edu>.
71686
71687 2006-04-23  Bruno Haible  <bruno@clisp.org>
71688
71689         * lib/copy-file.c: Include <unistd.h> unconditionally.
71690         * lib/execute.c: Likewise.
71691         * lib/fatal-signal.c: Likewise.
71692         * lib/findprog.c: Likewise.
71693         * lib/mkdtemp.c: Likewise.
71694         * lib/pipe.h: Likewise.
71695         * lib/pipe.c: Likewise.
71696         * lib/wait-process.h: Likewise.
71697
71698 2006-04-23  Bruno Haible  <bruno@clisp.org>
71699
71700         * gnulib-tool (func_usage): Fix --import description. Document
71701         --update.
71702         (func_import): Create temporary file in a temporary directory, if
71703         --dry-run is specified. Silence errors from 'grep' when there are no
71704         m4 files in $m4dir.
71705         (func_create_testdir): Silence errors from 'grep' when there are no
71706         m4 files in $m4dir.
71707         Reported by Karl Berry <karl@freefriends.org>.
71708
71709 2006-04-20  Bruno Haible  <bruno@clisp.org>
71710
71711         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
71712         one argument, so that the code will be portable to Autoconf 2.60.
71713         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
71714         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
71715         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
71716
71717 2006-04-19  Derek Price  <derek@ximbiot.com>
71718             Eric Blake  <ebb9@byu.net>
71719
71720         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
71721         rather than "/full/path.h".  Update comment to match.  Shorten &
71722         generalize m4_translit call via AS_TR_CPP.
71723
71724 2006-04-19  Derek Price  <derek@ximbiot.com>
71725             Eric Blake  <ebb9@byu.net>
71726
71727         * lib/inttypes.h: Correct grammar in comment.
71728
71729 2006-04-18  Derek Price  <derek@ximbiot.com>
71730             Paul Eggert  <eggert@cs.ucla.edu>
71731
71732         * modules/inttypes: New file.
71733         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
71734
71735 2006-04-18  Derek Price  <derek@ximbiot.com>
71736             Paul Eggert  <eggert@cs.ucla.edu>
71737
71738         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
71739         New files.
71740
71741 2006-04-18  Derek Price  <derek@ximbiot.com>
71742             Paul Eggert  <eggert@cs.ucla.edu>
71743
71744         * lib/inttypes.h: New file.
71745         * lib/strtoimax.c: Assume <inttypes.h>.
71746
71747 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
71748
71749         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
71750         isn't mounted.  Problem reported by Kir Kolyshkin.
71751
71752 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
71753
71754         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
71755         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
71756         Derek R. Price.
71757         * lib/regex.h (RE_DUP_MAX): Update comment to match current
71758         implementation.
71759
71760 2006-04-12  Eric Blake  <ebb9@byu.net>
71761
71762         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
71763         is now done automatically by the corresponding Autoconf macro.
71764
71765 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
71766
71767         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
71768         time_r.h.
71769
71770 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
71771
71772         Merge regex changes from libc, removing some of our
71773         POSIX-conformance changes that were rejected and redoing them in a
71774         less-intrusive way.
71775
71776         * lib/regcomp.c (re_compile_internal, init_dfa):
71777         Length arg is now size_t, not Idx.  All uses changed.
71778         (peek_token): Forward decl now says internal_function.
71779         (__re_error_msgid, __re_error_msgid_idx):
71780         Now static rather than extern with attribute_hidden.
71781         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
71782         For some reason libc prefers K&R style defns for external functions.
71783         (regerror) [!defined _LIBC]: Likewise.
71784         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
71785         (seek_collating_symbol_entry, lookup_collation_sequence_value):
71786         (build_range_exp, build_collating_symbol):
71787         Use K&R-style defn.
71788         (re_compile_fastmap): Use '\0' to memset, not 0.
71789         (utf8_sb_map): Make the calculations more obvious.
71790         (init_dfa, parse_bracket_exp, build_charclass_op):
71791         Call calloc and cast result, as glibc does.
71792         (init_word_char, fetch_token, peek_token, peek_token_bracket):
71793         (build_range_exp, build_collating_symbol):
71794         Now internal functions.
71795
71796         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
71797
71798         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
71799         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
71800         Don't depend on VMS; depend on __VMS instead, for POSIX
71801         namespace cleanness.
71802         (regoff_t): Define to ssize_t, not long int.
71803
71804         Remove the REG_ macros named below.  Instead, make the old names
71805         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
71806         __USE_GNU_REGEX.
71807         (REG_BACKSLASH_ESCAPE_IN_LISTS):
71808         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
71809         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
71810         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
71811         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
71812         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
71813         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
71814         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
71815         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
71816         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
71817         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
71818         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
71819         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
71820         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
71821         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
71822         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
71823         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
71824         (REG_NREGS):
71825         Remove.  All uses replaced by the old RE_* names.
71826         (RE_BACKSLASH_ESCAPE_IN_LISTS):
71827         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
71828         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
71829         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
71830         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
71831         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
71832         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
71833         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
71834         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
71835         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
71836         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
71837         Don't bother having these macros be independent of each others'
71838         values, since they no longer exist in the POSIX name space.
71839
71840         Rename the following member names back to their old names,
71841         unless !__USE_GNU_REGEX.  All uses changed back.
71842         (buffer): Renamed from re_buffer.
71843         (allocated): Renamed from re_allocated.
71844         (used): Renamed from re_used.
71845         (syntax): Renamed from re_syntax.
71846         (fastmap): Renamed from re_fastmap.
71847         (translate): Renamed from re_translate.
71848         (can_be_null): Renamed from re_can_be_null.
71849         (regs_allocated): Renamed from re_regs_allocated.
71850         (fastmap_accurate): Renamed from re_fastmap_accurate.
71851         (no_sub): Renamed from re_no_sub.
71852         (not_bol): Renamed from re_not_bol.
71853         (not_eol): Renamed from re_not_eol.
71854         (newline_anchor): Renamed from re_newline_anchor.
71855         (num_regs): Renamed from rm_num_regs.
71856         (start): Renamed from rm_start.
71857         (end): Renamed from rm_end.
71858
71859         (free_state): Move up a bit.
71860
71861         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
71862         #define to be empty.
71863         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
71864         when that is what is intended.
71865         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
71866         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
71867         (MAX): New macro.
71868         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
71869         All uses changed back to re_malloc, etc.  It's now the caller's
71870         responsibility to check for overflow; all callers changed.
71871         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
71872         (re_x2nrealloc): Remove.
71873         (free_state): Remove decl.
71874
71875         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
71876         (re_set_registers, re_exec):
71877         Use K&R-style defn.
71878
71879         2006-01-31  Roland McGrath  <roland@redhat.com>
71880
71881         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
71882         Reported by Mike Frysinger <vapier@gentoo.org>.
71883
71884         2006-01-15  Andreas Jaeger  <aj@suse.de>
71885
71886         [BZ #1950]
71887         * lib/regex_internal.c (re_string_reconstruct): Adjust for
71888         build_wcs_upper_buffer change.
71889         (build_wcs_upper_buffer): Change return type.
71890
71891         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
71892
71893         * lib/regex_internal.h: Include <stdint.h> if available.
71894
71895         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
71896
71897         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
71898
71899         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
71900
71901         * lib/regcomp.c: Adjust for changed secondary hash function.
71902
71903         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
71904
71905         * lib/regex.h: Pretty printing.
71906         Clean up namespace a bit.
71907
71908         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
71909
71910         * lib/regexec.c (update_cur_sifted_state, check_arrival,
71911         check_arrival_add_next_nodes): Avoid using uninitialized variable.
71912
71913         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
71914                     Ulrich Drepper  <drepper@redhat.com>
71915
71916         [BZ #1302]
71917         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
71918         changed.
71919         (bitset_word_t): Renamed from bitset_word.  All uses changed.
71920
71921         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
71922
71923         [BZ #281]
71924         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
71925         * lib/regcomp.c: Remove unnecessary uses of
71926         unsigned RE_TRANSLATE_TYPE.
71927         * lib/regex_internal.h: Likewise.
71928         * lib/regex_internal.c: Likewise.
71929         * lib/regexec.c: Likewise.
71930         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
71931
71932         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
71933
71934         * lib/regexec.c (find_recover_state): Remove unnecessary
71935         initialization.
71936         (transit_state_bkref): Make DFA a const pointer.
71937         (get_subexp): Likewise.
71938         (check_arrival): Likewise.
71939         (update_cur_sifted_state): Likewise.
71940         (re_search_internal): Likewise.
71941         (prune_impossible_nodes): Likewise.
71942         (acquire_init_state_context): Likewise.
71943         (proceed_next_node): Likewise.
71944         (set_regs): Likewise.
71945         (free_fail_stack_return): Likewise.
71946         (check_arrival_expand_ecl): Mark DFA parameter as const.
71947         (check_arrival_expand_ecl_sub): Likewise.
71948         (check_subexp_limits): Likewise.
71949         (sub_epsilon_src_nodes):  Likewise.
71950         (add_epsilon_src_nodes):  Likewise.
71951         (merge_state_array): Likewise.
71952         (update_regs): Likewise.
71953         (build_trtable): Likewise.
71954         (sift_states_backward): Mark MCTX parameter as const.
71955         (build_sifted_states): Likewise.
71956         (update_cur_sifted_state): Likewise.
71957         (sift_states_mkref): Likewise.
71958         (check_arrival_expand_ecl): Mark eclosure as const.
71959         (check_dst_limits_calc_pos_1): Likewise.
71960         * lib/regex_internal.h (re_match_context_t): Make dfa a const
71961         pointer.
71962
71963         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
71964
71965         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
71966         (transit_state_sb): Likewise.
71967         (transit_state_mb): Likewise.
71968         (sift_states_iter_mb): Likewise.
71969         (check_arrival_add_next_nodes): Likewise.
71970         (check_node_accept_bytes): Change first parameter to pointer-to-const.
71971         [_LIBC] (re_search_2_stub): Use mempcpy.
71972
71973         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
71974         mbrtowc for very simple UTF-8 case.
71975
71976         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
71977         a pointer-to-const.
71978         (re_acquire_state_context): Likewise.
71979         * lib/regex_internal.h: Adjust prototypes.
71980
71981         * lib/regex.c: Prevent using C++ compilers.
71982
71983         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
71984         (re_acquire_state_context): Likewise.
71985
71986 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
71987
71988         * modules/regex (Depends-on): Add ssize_t.
71989
71990 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
71991
71992         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
71993         translation table.
71994
71995 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
71996
71997         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
71998
71999 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
72000             Bruno Haible  <bruno@clisp.org>
72001
72002         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
72003         <sys/types.h> and <inttypes.h>.
72004
72005 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72006
72007         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
72008         `__error_t_defined', so argp.h will not typedef the former.
72009
72010 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
72011
72012         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
72013         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
72014         glibc names.  Even if glibc is changed to conform to POSIX, the
72015         traditional names will be available anyway, since regex depends on
72016         the extensions module.  Also, fix a longstanding typo in the
72017         implementation of Spencer ERE test #75 from grep 2.3.  Problems
72018         reported by Emanuele Giaquinta.  Also, change sense of cached
72019         variable, so that the message makes sense.
72020
72021 2006-03-24  Simon Josefsson  <jas@extundo.com>
72022
72023         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
72024         including some doc fixes.
72025         (base64_encode_alloc): Fix +1 bug on allocation failures.
72026
72027 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72028
72029         * lib/base64.c (base64_encode): Do not read past end of array with
72030         unsanitized input on systems with CHAR_BIT > 8.
72031
72032 2006-03-24  Eric Blake  <ebb9@byu.net>
72033
72034         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
72035
72036 2006-03-22  Karl Berry  <karl@gnu.org>
72037
72038         * config/srclist.txt (*setenv.[ch]): get from coreutils.
72039         * config/srclistvars.sh (COREUTILS): new var.
72040
72041 2006-03-17  Jim Meyering  <jim@meyering.net>
72042
72043         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
72044         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
72045
72046 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
72047
72048         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
72049         no longer needs it.  Instead, check that regoff_t is as least
72050         as wide as ptrdiff_t.
72051
72052         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
72053         so that our regex.h stays compatible with the installed regex.
72054         This is helpful for installers who configure --without-included-regex.
72055         Problem reported by Emanuele Giaquinta.
72056
72057 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
72058
72059         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
72060         Typedef to long int, not to off_, as POSIX will likely change
72061         in that direction.
72062
72063 2006-03-15  Eric Blake  <ebb9@byu.net>
72064
72065         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
72066
72067 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
72068
72069         * lib/argp-help.c (validate_uparams): Fix typo
72070         * lib/argp-parse.c (argp_default_options): Consistently begin help
72071         messages with a lowercase letter.
72072
72073 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
72074
72075         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
72076         overrun buffers and shouldn't be used (much as gets shouldn't be
72077         used).
72078         * lib/time_r.c (asctime_r, ctime_r): Likewise.
72079
72080 2006-03-08  Simon Josefsson  <jas@extundo.com>
72081
72082         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
72083         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72084
72085 2006-03-08  Simon Josefsson  <jas@extundo.com>
72086
72087         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
72088         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72089
72090 2006-03-08  Simon Josefsson  <jas@extundo.com>
72091
72092         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
72093         signal that configure disabled the device.
72094
72095 2006-03-08  Simon Josefsson  <jas@extundo.com>
72096
72097         * build-aux/maint.mk: Fix refresh-po, to handle no translated
72098         languages.
72099
72100 2006-03-07  Simon Josefsson  <jas@extundo.com>
72101
72102         * modules/getopt (Depends-on): Add unistd.
72103
72104         * modules/unistd: New file.
72105
72106 2006-03-07  Simon Josefsson  <jas@extundo.com>
72107
72108         * modules/gc-random: New file.
72109
72110 2006-03-07  Simon Josefsson  <jas@extundo.com>
72111
72112         * m4/unistd_h.m4: New file.
72113
72114 2006-03-07  Simon Josefsson  <jas@extundo.com>
72115
72116         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
72117         test to be side-effect free by storing the result in the cache
72118         variable gl_cv_lib_readline, and moving the assignment of
72119         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
72120         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72121
72122 2006-03-07  Simon Josefsson  <jas@extundo.com>
72123
72124         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
72125         error on missing devices (the functions will return an error).
72126
72127         * m4/gc.m4: Move random stuff to gc-random.m4
72128
72129 2006-03-07  Simon Josefsson  <jas@extundo.com>
72130
72131         * lib/unistd_.h: New file.
72132
72133 2006-03-07  Simon Josefsson  <jas@extundo.com>
72134
72135         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
72136
72137 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
72138
72139         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
72140         Problem reported by Juan Manuel Guerrero.
72141
72142 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
72143
72144         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
72145         the unistd module.
72146         * lib/getlogin_r.c: Likewise.
72147         * lib/getlogin_r.h: Likewise.
72148         * lib/glob.c: Likewise.
72149         * lib/pagealign_alloc.c: Likewise.
72150         * lib/unistd_.h: Remove; no longer needed.
72151
72152 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
72153
72154         * MODULES.html.sh (Support for systems lacking POSIX:2001):
72155         Add unistd.
72156         * modules/c-stack (Depends-on): Add unistd.
72157         * modules/getlogin_r: Likewise.
72158         * modules/glob: Likewise.
72159         * modules/pagealign_alloc: Likewise.
72160         * modules/unistd (Files): Remove lib/unistd_.h.
72161         (EXTRA_DIST): Remove.
72162         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
72163         need unistd_.h.
72164         (MOSTLYCLEANFILES): Remove unistd.h-t.
72165
72166 2006-03-03  Simon Josefsson  <jas@extundo.com>
72167
72168         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
72169
72170 2006-03-03  Simon Josefsson  <jas@extundo.com>
72171
72172         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
72173         libidn and bison.
72174
72175 2006-03-03  Simon Josefsson  <jas@extundo.com>
72176
72177         * build-aux/maint.mk: Add indent target.
72178
72179 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
72180
72181         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
72182         our replacement poll.h in any case, to avoid a differing
72183         declaration from a system header.  Seen on AIX.
72184
72185 2006-03-01  Simon Josefsson  <jas@extundo.com>
72186
72187         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
72188         <kasal@ucw.cz>.
72189
72190 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
72191
72192         * modules/gettime (Depends-on): Add extensions module.
72193         * modules/nanosleep (Depends-on): Likewise.
72194         * modules/settime (Depends-on): Likewise.
72195
72196 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
72197
72198         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
72199         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
72200         pedantically.
72201         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
72202         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
72203
72204         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
72205         not "==".  Reported by Ralf Wildenhues.
72206
72207 2006-03-01  Karl Berry  <karl@gnu.org>
72208
72209         * doc/Copyright/request-*: new files, synced from gnuorg.
72210
72211 2006-03-01  Karl Berry  <karl@gnu.org>
72212
72213         * config/srclist.txt (Copyright/*): new entries.
72214
72215 2006-02-28  Simon Josefsson  <jas@extundo.com>
72216
72217         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
72218
72219 2006-02-27  Simon Josefsson  <jas@extundo.com>
72220
72221         * lib/base64.h: Indent #define's.  From Jim Meyering
72222         <jim@meyering.net>.
72223
72224 2006-02-27  Jim Meyering  <jim@meyering.net>
72225
72226         Revert the change of 2006-02-24, so these files can continue
72227         to be sync'd from gettext.
72228         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
72229         of `config.h'.
72230
72231 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
72232
72233         * modules/intprops: New file.
72234         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
72235         Add intprops.
72236         * modules/getloadavg (Files): Remove lib/intprops.h.
72237         (Depends-on): Add intprops.
72238         * modules/human: Likewise.
72239         * modules/inttostr: Likewise.
72240         * modules/openat: Likewise.
72241         * modules/sig2str: Likewise.
72242         * modules/userspec: Likewise.
72243         * modules/utimecmp: Likewise.
72244         * modules/xnanosleep: Likewise.
72245         * modules/xstrtol: Likewise.
72246
72247 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
72248
72249         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
72250         * modules/lock-tests (TESTS): Use $(EXEEXT).
72251         * modules/tls-tests: Likewise.
72252         * modules/argp-tests: Likewise.
72253         (check_PROGRAMS): New var, replacing...
72254         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
72255
72256 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72257
72258         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
72259         `config.h'.
72260
72261 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
72262
72263         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
72264
72265 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72266
72267         Sync from coreutils.
72268         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
72269         gl_CHDIR_SAFER.
72270
72271 2006-02-22  Jim Meyering  <jim@meyering.net>
72272
72273         Sync from coreutils.
72274         * m4/chdir-safer.m4: New file.
72275
72276 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
72277
72278         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
72279         AT_FDCWD exceeds INT_MAX.
72280         * lib/openat.h (AT_FDCWD): Likewise.
72281
72282 2006-02-17  Eric Blake  <address@hidden>
72283
72284         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
72285
72286 2006-02-16  Simon Josefsson  <jas@extundo.com>
72287
72288         * modules/getaddrinfo (Depends-on): Add sys_socket.
72289
72290 2006-02-15  Simon Josefsson  <jas@extundo.com>
72291
72292         * build-aux/maint.mk: Add dsyntax-check rule.
72293
72294 2006-02-15  Eric Blake  <ebb9@byu.net>
72295
72296         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
72297         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
72298         'present but cannot compile' warnings on cygwin.
72299         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
72300         use ws2tcpip.h if sys/socket.h works.
72301         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
72302         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
72303
72304 2006-02-14  Simon Josefsson  <jas@extundo.com>
72305
72306         * modules/maintainer-makefile (Files): Rename.
72307
72308         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
72309         and (the local) Makefile.cfg to maint-cfg.mk.
72310
72311         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
72312         to the latter.
72313
72314         * modules/maintainer-makefile: New module.
72315
72316         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
72317         severaly stripped to make it possible to build it up from scratch
72318         with reliable tests.
72319
72320         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
72321         fixes to permit overriding the default actions when configure and
72322         makefile are not available.
72323
72324 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
72325
72326         Sync from coreutils.
72327         * modules/lstat (Depends-on): Don't depend on xalloc.
72328         (License): Change from GPL to LGPL, since this is now simply a
72329         replacement for a libc function.
72330
72331 2006-02-14  Jim Meyering  <jim@meyering.net>
72332
72333         Sync from coreutils.
72334
72335         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
72336         failure on deficient systems, and simplify gnulib lgpl dependencies.
72337         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
72338         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
72339
72340         * lib/xalloc-die.c: Remove unused definition of N_.
72341
72342 2006-02-14  Jim Meyering  <jim@meyering.net>
72343
72344         Sync from coreutils.
72345         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
72346         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
72347         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
72348         double-quote uses of that variable, to accommodate the rare case in
72349         which getmntent is available in none of the libraries checked.  This
72350         happens at least on FreeBSD 5.0.
72351
72352 2006-02-13  Simon Josefsson  <jas@extundo.com>
72353
72354         * gnulib-tool (Usage): Fix --import, from
72355         karl@freefriends.org (Karl Berry).
72356
72357 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
72358
72359         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
72360
72361 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
72362
72363         * lib/argp-namefrob.h: Restore changes accidentally lost during the
72364         "autoupdate" on 2005-12-12.
72365
72366 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
72367
72368         * modules/closeout (Depends-on): Remove atexit.
72369
72370 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
72371
72372         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
72373         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
72374
72375 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
72376
72377         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
72378         __EXTENSIONS__ if this causes compilation to fail.  Problem
72379         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
72380         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
72381
72382 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
72383
72384         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
72385         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
72386         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
72387         All uses changed.
72388
72389 2006-01-26  Simon Josefsson  <jas@extundo.com>
72390
72391         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
72392         prototype is visible on mingw32.
72393
72394         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
72395         for mingw32.
72396
72397         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
72398         mingw32).
72399
72400 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
72401
72402         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
72403         attempt to open for write; this always fails, at least on POSIX
72404         hosts.  This reinstates the 2006-01-09 change, which was
72405         inadvertently removed.
72406
72407 2006-01-26  Bruno Haible  <bruno@clisp.org>
72408
72409         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
72410         Reported by Paul Eggert.
72411
72412 2006-01-26  Bruno Haible  <bruno@clisp.org>
72413             Paul Eggert  <eggert@cs.ucla.edu>
72414
72415         * lib/stdbool_.h (_Bool)
72416         [(! (defined __cplusplus || defined __BEOS__)
72417           && !defined __GNUC__
72418           && !(defined __HP_cc || defined __xlc__
72419                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
72420                || defined __sgi))]:
72421         #define to signed char in these cases too; this simplifies
72422         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
72423         etc., separately) and makes it more conservative.
72424
72425 2006-01-25  Simon Josefsson  <jas@extundo.com>
72426
72427         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
72428         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
72429         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
72430
72431 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
72432
72433         * lib/argp-namefrob.h: Bugfix. Remove stray #
72434
72435 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
72436
72437         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
72438         so that we test the test.
72439         Check for yet another HP-UX cc bug involving *bool |= bool.
72440
72441 2006-01-25  Karl Berry  <karl@gnu.org>
72442
72443         * config/srclist.txt (vasnprintf.c): sync lost.
72444
72445 2006-01-25  Jim Meyering  <jim@meyering.net>
72446
72447         Sync from the stable (b5) branch of coreutils:
72448
72449         * lib/fts.c (fts_children): Don't let close() clobber errno from
72450         failed fchdir().
72451
72452         * lib/fts.c (fts_stat): When following a symlink-to-directory,
72453         don't necessarily interpret stat-fails+lstat-succeeds as indicating
72454         a dangling symlink.  That can also happen at least for ELOOP.
72455         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
72456         FYI, this bug predates the inclusion of fts.c in coreutils.
72457
72458         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
72459         in their own block, so pre-c99 compilers don't object.
72460
72461         Avoid the double-free (first in fts_read, second in fts_close) that
72462         would occur when an `active' directory is made inaccessible (e.g.,
72463         via chmod a-x) during a traversal.
72464         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
72465         before returning.  Reproduce this failure by
72466         mkdir -p a/b; cd a; chmod a-x . b
72467         Reported by Stavros Passas.
72468
72469 2006-01-25  Jim Meyering  <jim@meyering.net>
72470
72471         * lib/fileblocks.c: Remove more useless parentheses.
72472         * lib/readutmp.h: Likewise.
72473
72474 2006-01-25  Bruno Haible  <bruno@clisp.org>
72475
72476         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
72477         warnings.
72478         Reported by Paul Eggert.
72479
72480 2006-01-25  Bruno Haible  <bruno@clisp.org>
72481
72482         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
72483         rid of a trap command. For Solaris sh.
72484         Reported by Mark D. Baushke <mdb@gnu.org>.
72485
72486 2006-01-24  Simon Josefsson  <jas@extundo.com>
72487
72488         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
72489         Bruno.
72490
72491 2006-01-24  Karl Berry  <karl@gnu.org>
72492
72493         * config/srclist.txt (argp-namefrob.h): sync lost.
72494
72495 2006-01-24  Jim Meyering  <jim@meyering.net>
72496
72497         * modules/openat (Files): Add lib/intprops.h.
72498         From Mark D. Baushke.
72499
72500 2006-01-24  Jim Meyering  <jim@meyering.net>
72501
72502         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
72503         Reported by Mark D. Baushke.
72504
72505 2006-01-24  Jim Meyering  <jim@meyering.net>
72506
72507         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
72508
72509 2006-01-24  Bruno Haible  <bruno@clisp.org>
72510
72511         * modules/strnlen (Maintainer): Change from glibc to all.
72512
72513 2006-01-24  Bruno Haible  <bruno@clisp.org>
72514
72515         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
72516         Patch by Paul Eggert.
72517
72518 2006-01-24  Bruno Haible  <bruno@clisp.org>
72519
72520         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
72521         already has it.
72522         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
72523         2005-11-26.
72524
72525         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
72526         'signed char' to avoid problems with the built-in _Bool type.
72527         Reported by Paul Eggert on 2005-11-26.
72528
72529 2006-01-24  Bruno Haible  <bruno@clisp.org>
72530
72531         * gnulib-tool (func_import): Avoid constructing complicated sed
72532         expressions inside backquote.
72533         Report and solution by Mark D. Baushke <mdb@gnu.org>.
72534
72535 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
72536
72537         These changes imported from libc.
72538         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
72539         test and two separate function calls.
72540         * lib/strndup.c (__strndup): Add libc_hidden_def.
72541
72542 2006-01-23  Simon Josefsson  <jas@extundo.com>
72543
72544         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
72545         Remove the test_*_SOURCES variable: automake infers it by default.
72546         * modules/tls-tests: Likewise.
72547
72548 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
72549
72550         Work around porting bugs reported by Dieter in
72551         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
72552         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
72553         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
72554         Include "getopt.h" first, to check interface.
72555         (getenv): Declare only if defined HAVE_DECL_GETENV &&
72556         !HAVE_DECL_GETENV.
72557         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
72558         (__strndup): Revert to K&R-style function dfns, the glibc style.
72559         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
72560         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
72561         Include strnlen.h first, to get prototype properly.
72562         (strnlen): Renamed from __strnlen.
72563         Remove weak alias.
72564
72565 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
72566
72567         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
72568
72569 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
72570
72571         * config/srclist.txt: Adjust to reflect glibc reorganization.
72572         This affects only comments.
72573
72574 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
72575
72576          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
72577          Reported by Bruce Korb <bkorb@gnu.org>.
72578
72579 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
72580
72581         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
72582         to pacify gcc -Wswitch-default.
72583
72584 2006-01-22  Bruno Haible  <bruno@clisp.org>
72585
72586         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
72587         temporary buffer for sprintf, take into account the precision also
72588         for 'd', 'i', 'u', 'o', 'x', 'X'.
72589
72590 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
72591
72592         * modules/argp-tests: New module
72593         * tests/test-argp.c: New file
72594         * tests/test-argp-2.sh: New file
72595
72596 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
72597
72598         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
72599         (__argp_base_name): Removed
72600         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
72601         typo.
72602         (__argp_base_name): Provide macro definition or extern declaration
72603         depending on the configuration
72604
72605 2006-01-20  Simon Josefsson  <jas@extundo.com>
72606
72607         * modules/inet_ntop (Depends-on): Depend on sys_socket.
72608
72609 2006-01-20  Simon Josefsson  <jas@extundo.com>
72610
72611         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
72612
72613 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
72614
72615         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
72616         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
72617         Suggested by Bruno Haible.
72618
72619 2006-01-20  Karl Berry  <karl@gnu.org>
72620
72621         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
72622         until changes propagate, I guess.
72623
72624 2006-01-19  Simon Josefsson  <jas@extundo.com>
72625
72626         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
72627
72628 2006-01-19  Simon Josefsson  <jas@extundo.com>
72629
72630         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
72631
72632 2006-01-19  Simon Josefsson  <jas@extundo.com>
72633
72634         * gnulib-tool: Set check_PROGRAMS.
72635
72636         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
72637         modules/des-tests, modules/gc-arcfour-tests,
72638         modules/gc-arctwo-tests, modules/gc-des-tests,
72639         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
72640         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
72641         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
72642         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
72643         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
72644         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
72645         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
72646         test_*_SOURCES.
72647
72648 2006-01-18  Simon Josefsson  <jas@extundo.com>
72649
72650         * modules/socklen (Depends-on): Depend on sys_socket.
72651
72652 2006-01-18  Simon Josefsson  <jas@extundo.com>
72653
72654         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
72655         modules/des-tests, modules/gc-arcfour-tests,
72656         modules/gc-arctwo-tests, modules/gc-des-tests,
72657         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
72658         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
72659         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
72660         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
72661         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
72662         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
72663         $(EXEEXT) to automake TESTS variable, for mingw32.
72664
72665 2006-01-17  Simon Josefsson  <jas@extundo.com>
72666
72667         * modules/socklen (Include): Need sys/socket.h.
72668
72669 2006-01-17  Bruno Haible  <bruno@clisp.org>
72670
72671         * modules/ssize_t (Include): Add <sys/types.h>.
72672
72673 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
72674
72675         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
72676         it's not portable and it doesn't work with cross-compiles.
72677         Problem reported by Bruno Haible.  Fix missing-$ typo in
72678         'test "gl_cv_ignore_unused_libraries" ...' that prevented
72679         -zignore from being used with Sun's C compiler.
72680
72681 2006-01-12  Simon Josefsson  <jas@extundo.com>
72682
72683         * lib/base64.c: Fix warning, reported by Bruno Haible
72684         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
72685
72686 2006-01-12  Bruno Haible  <bruno@clisp.org>
72687
72688         * modules/ldd: New file.
72689         * build-aux/ldd.sh.in: New file.
72690         * MODULES.html.sh (Support for building libraries and executables): Add
72691         ldd.
72692
72693 2006-01-12  Bruno Haible  <bruno@clisp.org>
72694
72695         * m4/ldd.m4: New file.
72696
72697 2006-01-12  Bruno Haible  <bruno@clisp.org>
72698
72699         * gnulib-tool (func_import, func_create_testdir): Don't go into an
72700         endless loop while replacing $auxdir with build-aux.
72701
72702 2006-01-11  Simon Josefsson  <jas@extundo.com>
72703
72704         * lib/stdint_.h (SIZE_MAX): Add missing (.
72705
72706 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
72707
72708         Sync from coreutils.
72709         * lib/md5.c: Fix commentary typos.
72710         (alignof, UNALIGNED_P): No need for a GCC-specific version.
72711         * lib/md5.h (__attribute__): Remove; unused.
72712         * lib/sha1.c: Fix commentary to match md5 better.
72713         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
72714         so that we don't need to worry about alignment.  All uses changed.
72715         This merges the 2005-10-28 md5 change into sha1.
72716
72717 2006-01-11  Jim Meyering  <jim@meyering.net>
72718
72719         Sync from coreutils.
72720         * lib/md5.c (OP): Fix spacing.
72721
72722 2006-01-11  Bruno Haible  <bruno@clisp.org>
72723
72724         Ensure automatic ordering between gl_LOCK and gl_ARGP.
72725         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
72726         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
72727
72728 2006-01-11  Bruno Haible  <bruno@clisp.org>
72729
72730         Ensure automatic ordering between gl_LOCK and gl_ARGP.
72731         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
72732         the "early" section as well.
72733
72734 2006-01-11  Bruno Haible  <bruno@clisp.org>
72735
72736         Avoid "ar: no archive members specified" error on MacOS X.
72737         * gnulib-tool (func_modules_add_dummy): New function.
72738         (func_import, func_create_testdir): Invoke it.
72739
72740 2006-01-11  Bruno Haible  <bruno@clisp.org>
72741
72742         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
72743         with $auxdir in AC_CONFIG_FILES statements.
72744
72745 2006-01-11  Bruno Haible  <bruno@clisp.org>
72746
72747         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
72748         Initialize also noinst_HEADERS to empty.
72749
72750 2006-01-11  Bruno Haible  <bruno@clisp.org>
72751
72752         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
72753         variables.
72754         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
72755         autoreconf.
72756
72757 2006-01-11  Bruno Haible  <bruno@clisp.org>
72758
72759         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
72760         overridable by the user.
72761         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72762
72763 2006-01-10  Simon Josefsson  <jas@extundo.com>
72764
72765         * modules/sys_socket: New file.
72766
72767 2006-01-10  Simon Josefsson  <jas@extundo.com>
72768
72769         * m4/sys_socket_h.m4: New file.
72770
72771 2006-01-10  Simon Josefsson  <jas@extundo.com>
72772
72773         * lib/socket_.h: New file.
72774
72775 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
72776
72777         * modules/readutmp (Maintainer): Add myself.
72778
72779 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
72780
72781         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
72782         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
72783         People who are still concerned with buggy memcmp implementations
72784         can invoke gl_FUNC_MEMCMP themselves.
72785
72786 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
72787
72788         * lib/regex_internal.h (BITSET_WORD_BITS):
72789         Work around a bug in 64-bit PGC (before version 6.1-2), where the
72790         preprocessor mishandles large unsigned values as if they were signed.
72791         Problem reported by Claudio Fontana in
72792         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
72793
72794 2006-01-10  Jim Meyering  <jim@meyering.net>
72795
72796         Avoid the double-free (first in fts_read, second in fts_close) that
72797         would occur when an `active' directory is made inaccessible (e.g.,
72798         via chmod a-x) during a traversal.
72799         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
72800         before returning.  Reproduce this failure by
72801         mkdir -p a/b; cd a; chmod a-x . b
72802         Reported by Stavros Passas.
72803
72804         Sync from coreutils.
72805         * lib/sha1.c: Tweak grammar in a comment.
72806
72807 2006-01-10  Jim Meyering  <jim@meyering.net>
72808
72809         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
72810         Patch by Joerg Sonnenberger.
72811
72812 2006-01-10  Bruno Haible  <bruno@clisp.org>
72813
72814         * modules/readutmp: Depend on module free.
72815         * modules/strtok_r: Depend on module restrict.
72816
72817 2006-01-10  Bruno Haible  <bruno@clisp.org>
72818
72819         * modules/gettext (configure.ac): Add an invocation of
72820         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
72821
72822 2006-01-10  Bruno Haible  <bruno@clisp.org>
72823
72824         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
72825         Reported by Werner Lemberg <wl@gnu.org>.
72826
72827 2006-01-10  Bruno Haible  <bruno@clisp.org>
72828
72829         * lib/localcharset.c: Update from GNU gettext.
72830
72831 2006-01-10  Bruno Haible  <bruno@clisp.org>
72832
72833         * lib/argp.h (__const): Remove macro. Use const instead.
72834         * lib/argp-fmtstream.h (__const): Likewise.
72835         * lib/glob_.h (__const): Remove macro.
72836         * lib/glob-libc.h: Use const instead of __const.
72837
72838 2006-01-10  Bruno Haible  <bruno@clisp.org>
72839
72840         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
72841         variable.
72842         Needed to avoid an automake error regarding the 'gettext' module.
72843
72844 2006-01-09  Simon Josefsson  <jas@extundo.com>
72845
72846         * modules/inet_ntop (Depends-on): Add restrict.
72847
72848 2006-01-09  Simon Josefsson  <jas@extundo.com>
72849
72850         * modules/gc-rijndael-tests (License): Put under LGPL.
72851
72852         * modules/gc-des-tests (License): Likewise.
72853
72854         * modules/gc-arcfour-tests (License): Likewise.
72855
72856         * modules/gc-arctwo-tests (License): Likewise.
72857
72858         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
72859
72860         * modules/gc-hmac-sha1-tests (Files): Likewise.
72861
72862         * modules/gc-hmac-md5-tests (License): Likewise.
72863
72864         * modules/gc-sha1-tests (License): Likewise.
72865
72866         * modules/gc-md5-tests (License): Likewise.
72867
72868         * modules/gc-md4-tests (License): Likewise.
72869
72870         * modules/gc-md2-tests (License): Likewise.
72871
72872         * modules/gc-tests (License): Likewise.
72873
72874         * modules/des-tests (License): Likewise.
72875
72876         * modules/md4-tests (License): Likewise.
72877
72878         * modules/md2-tests (License): Likewise.
72879
72880 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
72881
72882         Sync from coreutils:
72883
72884         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
72885         * modules/lib-ignore: New file.
72886         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
72887         chdir-safer.m4, lchmod.m4.
72888         * modules/openat: Add mkdirat.c, openat-priv.h.
72889
72890 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
72891
72892         Sync from coreutils.
72893         * m4/lib-ignore.m4: New file.
72894         * m4/lchmod.m4: New file.
72895
72896 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
72897
72898         Sync from coreutils.
72899         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
72900         for write access: POSIX says that must fail.
72901         * lib/fts.c (diropen): Likewise.
72902         * lib/save-cwd.c (save_cwd): Likewise.
72903         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
72904         well, for minor improvements on hosts that lack O_DIRECTORY.
72905         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
72906         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
72907         Fall back on chown if open failed with EACCES.
72908
72909         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
72910         Report an error at compile-time if only a 1-second nominal clock
72911         resolution is found.
72912
72913         * lib/lchmod.h: New file.
72914         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
72915         (make_dir_parents): Use lchown rather than chown, and
72916         lchmod rather than chmod.
72917
72918         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
72919         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
72920         "proc" reported by n0dalus.
72921
72922         * lib/mountlist.c: Include <limits.h>.
72923         (dev_from_mount_options)
72924         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
72925         New function.  It no longer assumes "dev=" has the System V meaning
72926         on Linux (since it doesn't).  It also parses "dev=" more carefully.
72927         (read_file_system_list)
72928         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
72929         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
72930         dev= in that case.
72931
72932         * lib/posixtm.h (PDS_PRE_2000): New macro.
72933         * lib/posixtm.c (year): Arg is now syntax_bits rather than
72934         allow_century.  All usages changed.  Reject dates outside the range
72935         1969-1999 if PDS_PRE_2000 is used.
72936
72937 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
72938
72939         Sync from coreutils.
72940         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
72941         (Time of day items): Mention the possibility of leap seconds.
72942         Problem reported by Dr. David Alan Gilbert.
72943
72944 2006-01-09  Jim Meyering  <jim@meyering.net>
72945
72946         Sync from coreutils.
72947
72948         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
72949
72950         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
72951
72952         * lib/modechange.c (mode_compile): Reject an invalid mode string
72953         that starts with an octal digit.  From Andreas Gruenbacher.
72954
72955         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
72956         and dup to open_safer and dup_safer, respectively.
72957         (openat_permissive): Fix typo in comment.
72958
72959         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
72960         "gettext.h"; either no longer needed or are guaranteed by openat.h.
72961         (_): Remove; no longer needed.
72962         (openat): Renamed from rpl_openat; no need for rpl_openat
72963         since openat.h renames openat for us.
72964         Replace most of the body with a call to openat_permissive,
72965         to avoid duplicate code.
72966         Port to (probably hypothetical) environments were mode_t is
72967         wider than int.
72968         (openat_permissive): Require mode arg, so that we can check
72969         types better.  Put it just after flags.  Change cwd failure
72970         indicator from pointer-to-bool to pointer-to-errno-value.
72971         All callers changed.
72972         Invoke openat_save_fail and/or openat_restore_fail if
72973         cwd_errno is null, so that openat can call us.
72974         (openat_permissive, fdopendir, fstatat, unlinkat):
72975         Simplify errno handling to avoid some duplicate code,
72976         as it's OK to set errno on success.
72977         * lib/openat.h: Revamp code so that function macros depend on
72978         __OPENAT_PREFIX only, not also on AT_FDCWD.
72979         (openat_ro): Remove.  Caller changed to use openat_permissive.
72980         (openat_permissive): Now a macro, if not a function.
72981         (openat_restore_fail, openat_save_fail): Now always functions,
72982         since mkdirat needs them even if __OPENAT_PREFIX is defined.
72983
72984         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
72985         and openat.c.
72986         * lib/mkdirat.c: Include openat-priv.h.
72987         Remove definitions of macros defined therein.
72988         * lib/openat.c: Likewise.
72989
72990         * lib/mkdirat.c (mkdirat): New file and function.
72991         * lib/openat.h (mkdirat): Declare.
72992
72993         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
72994
72995         * lib/openat.h (openat_permissive): Declare.
72996         (openat_ro): Define.
72997
72998         * lib/openat.c (EXPECTED_ERRNO): New macro.
72999         (openat_permissive): New function -- used in remove.c rewrite.
73000         (all functions): Set errno just before returning, only if there
73001         was an actual failure.
73002         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
73003
73004         Emulate openat-family functions using Linux's procfs, if possible.
73005         Idea and some code based on Ulrich Drepper's glibc changes.
73006
73007         * lib/openat.c: (BUILD_PROC_NAME): New macro.
73008         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
73009         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
73010         before falling back on save_cwd and restore_cwd.
73011         (fdopendir, fstatat, unlinkat): Likewise.
73012
73013         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
73014         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
73015
73016         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
73017         as second argument to va_arg.  Otherwise, some versions of gcc
73018         warn that `if this code is reached, the program will abort'.
73019
73020 2006-01-09  Jim Meyering  <jim@meyering.net>
73021
73022         Sync from coreutils.
73023         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
73024         Require openat-priv.h.
73025
73026 2006-01-09  Bruno Haible  <bruno@clisp.org>
73027
73028         * modules/strnlen (Include): Use strnlen.h.
73029
73030 2006-01-09  Bruno Haible  <bruno@clisp.org>
73031
73032         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
73033
73034 2006-01-09  Bruno Haible  <bruno@clisp.org>
73035
73036         * lib/sysexit_.h (EX_OK): New macro.
73037         Suggested by Martin Lambers <marlam@marlam.de>.
73038
73039 2006-01-09  Bruno Haible  <bruno@clisp.org>
73040
73041         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
73042         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
73043
73044 2006-01-09  Bruno Haible  <bruno@clisp.org>
73045
73046         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
73047         numbers.
73048
73049 2006-01-09  Bruno Haible  <bruno@clisp.org>
73050
73051         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
73052         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
73053         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
73054         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
73055
73056 2006-01-09  Bruno Haible  <bruno@clisp.org>
73057
73058         * build-aux/javacomp.sh.in: New file, moved from lib/.
73059         * modules/javacomp-script (Files): Update.
73060         (configure.ac): Add AC_CONFIG_FILES invocation.
73061         (EXTRA_DIST): Remove variable.
73062
73063         * build-aux/javaexec.sh.in: New file, moved from lib/.
73064         * modules/javaexec (Files): Update.
73065         (configure.ac): Add AC_CONFIG_FILES invocation.
73066         (EXTRA_DIST): Remove javaexec.sh.in.
73067
73068         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
73069         * modules/csharpcomp-script (Files): Update.
73070         (configure.ac): Add AC_CONFIG_FILES invocation.
73071         (EXTRA_DIST): Remove variable.
73072
73073         * build-aux/csharpexec.sh.in: New file, moved from lib/.
73074         * modules/csharpexec (Files): Update.
73075         (configure.ac): Add AC_CONFIG_FILES invocation.
73076         (EXTRA_DIST): Remove csharpexec.sh.in.
73077
73078 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
73079
73080         Sync from coreutils.
73081
73082         Add POSIX ACL support
73083         * lib/acl.h (copy_acl, set_acl): Add declarations.
73084         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
73085         systems other than Linux.
73086         (chmod_or_fchmod): New function: use fchmod when possible,
73087         and chmod otherwise.
73088         (file_has_acl): Add a POSIX ACL implementation, with a
73089         Linux-specific subcase.
73090         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
73091         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
73092         acls are unsupported.
73093         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
73094         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
73095         are unsupported.
73096
73097 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
73098
73099         Sync from coreutils.
73100         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
73101
73102 2006-01-07  Bruno Haible  <bruno@clisp.org>
73103
73104         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
73105         gl_EARLY.
73106
73107 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
73108
73109         * lib/strftime.c (tzname): Don't declare if it is already #defined.
73110         Problem reported for Mingw by Mark Junker.
73111
73112 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
73113
73114         * README: Gnulib normally doesn't generate a tarball.
73115
73116 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
73117
73118         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
73119         long int, not int, for nanosecond counts, so that people who are
73120         used to POSIX struct timespec won't be surprised.  Reported by Jim
73121         Meyering.
73122
73123 2005-12-28  Bruno Haible  <bruno@clisp.org>
73124
73125         * build-aux/config.rpath: Update from GNU gettext.
73126
73127 2005-12-16  Jim Meyering  <jim@meyering.net>
73128
73129         * modules/fprintftime: New module.
73130         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
73131
73132 2005-12-16  Jim Meyering  <jim@meyering.net>
73133
73134         * m4/fprintftime.m4: New file.
73135
73136 2005-12-16  Jim Meyering  <jim@meyering.net>
73137
73138         * lib/fprintftime.c, lib/fprintftime.h: New files.
73139
73140 2005-12-15  Simon Josefsson  <jas@extundo.com>
73141
73142         * modules/socklen (configure.ac): Fix M4 macro name, to align with
73143         new m4/socklen.m4.
73144
73145 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
73146
73147         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
73148         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
73149
73150 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
73151
73152         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
73153         * lib/argp-help.c (fill_in_uparams): Check if the constructed
73154         struct uparams is valid. Fall back to the default values if it is
73155         not.
73156
73157 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
73158
73159         * modules/argp (Files): Add argp-pin.c
73160         (Depends-on): dirname
73161         (lib_SOURCES): Add argp-pin.c
73162
73163 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
73164
73165         * m4/argp.m4:  Check if program_invocation_name and
73166         program_invocation_short_name are declared and define appropriate
73167         macros if they are not.
73168
73169 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
73170
73171         * lib/argp-help.c (__argp_base_name): New function
73172         (__argp_short_program_name): Rewrite using __argp_base_name
73173         * lib/argp-namefrob.h: Define program_invocation_name and
73174         program_invocation_short_name if requested
73175         (__argp_base_name): Add prototype
73176         * lib/argp-parse.c (argp_def): Use gettext wrappers
73177         (argp_default_parser): Use __argp_base_name
73178         * lib/argp-pin.c: New file. Defines program_invocation_name and
73179         program_invocation_short_name on systems that lack them.
73180
73181 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
73182
73183         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
73184         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
73185         porting problem reported by Georg Schwarz in
73186         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
73187
73188 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
73189
73190         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
73191         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
73192         porting problem reported by Georg Schwarz in
73193         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
73194
73195 2005-12-05  Bruno Haible  <bruno@clisp.org>
73196
73197         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
73198         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
73199         Reported by Mark Junker <mjscod@gmx.de>.
73200
73201 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
73202
73203         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
73204         Use implementation from Albert Chin, with some
73205         comments/corrections by Stepan Kasal and myself.
73206
73207 2005-12-02  Bruno Haible  <bruno@clisp.org>
73208
73209         * gnulib-tool (func_import): Accept GPLed build tool modules when
73210         --lgpl is given.
73211         * modules/csharpcomp-script: New file.
73212         * modules/csharpcomp: Depend on it.
73213         * modules/javacomp-script: New file.
73214         * modules/javacomp: Depend on it.
73215         Suggested by Simon Josefsson.
73216
73217 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
73218
73219         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
73220         statement, to work around an HP-UX 10.20 compiler bug reported by
73221         Peter O'Gorman.
73222
73223 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
73224
73225         * modules/savedir (Depends-on): Add openat.
73226
73227 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
73228
73229         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
73230         (uintmax_t) [defined uintmax_t]: Do not declare.
73231         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
73232         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
73233         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
73234         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
73235         sake of portability to weird hosts that C allows (though we don't
73236         know of any practical examples).
73237
73238         * lib/savedir.h (fdsavedir): New decl.
73239         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
73240         contains most of the former guts of savedir.
73241         (savedir): Use savedirstream.
73242         Include "openat.h".
73243
73244 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
73245
73246         * modules/obstack (Files): Add m4/ulonglong.m4.
73247         Problem reported by Davide Angelocola.
73248
73249 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
73250
73251         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
73252         coreutils no longer futzes with rounding modes.
73253
73254 2005-11-14  Jim Meyering  <jim@meyering.net>
73255
73256         * lib/mkstemp-safer.c: Include <config.h>, required for possible
73257         replacement of mkstemp.
73258
73259 2005-11-10  Simon Josefsson  <jas@extundo.com>
73260
73261         * lib/readline.c: Remove EOL.
73262
73263 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
73264
73265         * modules/gethrxtime (Depends-on): Add gettime.
73266
73267 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
73268
73269         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
73270         or gettimeofday; no longer needed.
73271
73272 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
73273
73274         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
73275         time business.
73276         (gethrxtime) [! (HAVE_NANOUPTIME
73277         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
73278         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
73279         our own approximation.
73280
73281 2005-11-08  Eric Blake  <ebb9@byu.net>
73282
73283         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
73284
73285 2005-11-08  Eric Blake  <ebb9@byu.net>
73286
73287         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
73288
73289 2005-11-04  Bruno Haible  <bruno@clisp.org>
73290
73291         * gnulib-tool: Implement --update mode.
73292
73293 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
73294
73295         Fix porting problem reported by Theodoros V. Kalamatianos.
73296         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
73297         Don't assume that futimes failing means we must fail.
73298
73299 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
73300
73301         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
73302         variables to suggest the intended function of the PATH_MAX check.
73303
73304 2005-10-30  Kean Johnston  <jkj@sco.com>
73305
73306         Trivial changes to support SCO systems.
73307         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
73308         as PATH_MAX.
73309         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
73310         where __ptr is null when no I/O is pending.
73311
73312 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
73313
73314         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
73315         leave errno alone.  Problem reported by Dmitry V. Levin.
73316
73317 2005-10-28  Simon Josefsson  <jas@extundo.com>
73318
73319         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
73320         Test more.
73321
73322         * tests/test-gc-md2.c, tests/test-md2.c: New files.
73323
73324         * modules/md2, modules/md2-tests: New files.
73325
73326 2005-10-28  Simon Josefsson  <jas@extundo.com>
73327
73328         * m4/inet_ntop.m4: More tests.
73329
73330         * m4/gc-md2.m4, md2.m4: New file.
73331
73332 2005-10-28  Simon Josefsson  <jas@extundo.com>
73333
73334         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
73335         "restrict" keywords, as per POSIX.  Protect the function
73336         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
73337         Don't use K&R prototypes.  Check the sprintf return values.
73338         Re-define EAFNOSUPPORT if not present.  Indent.
73339
73340         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
73341         suggested by Bruno Haible <bruno@clisp.org>.
73342
73343         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
73344
73345         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
73346
73347         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
73348         libgcrypt).
73349
73350         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
73351
73352         * lib/md2.h, lib/md2.c: New files.
73353
73354 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
73355
73356         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
73357         errno alone.  Problem reported by Frederic Jolliton.
73358
73359 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
73360
73361         * modules/verify (License): Change from GPL to LGPL.  This is a
73362         tiny module and there are apparently near-equivalents that are
73363         under the BSD license.
73364
73365 2005-10-24  Simon Josefsson  <jas@extundo.com>
73366
73367         * modules/sha1: Relicense to LGPL.
73368
73369 2005-10-24  Simon Josefsson  <jas@extundo.com>
73370
73371         * lib/md4.h: Shrink buffer size, now that we changed the type.
73372
73373 2005-10-23  Simon Josefsson  <jas@extundo.com>
73374
73375         * gnulib-tool (func_import): Fix --tests-base.
73376
73377 2005-10-22  Simon Josefsson  <jas@extundo.com>
73378
73379         * modules/arcfour (Depends-on): Need stdint.
73380
73381 2005-10-22  Simon Josefsson  <jas@extundo.com>
73382
73383         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
73384         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
73385
73386 2005-10-22  Simon Josefsson  <jas@extundo.com>
73387
73388         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
73389         suggested by Bruno Haible <bruno@clisp.org>.
73390
73391 2005-10-22  Simon Josefsson  <jas@extundo.com>
73392
73393         * lib/crc.h: Include stddef.h, for size_t.
73394
73395 2005-10-22  Simon Josefsson  <jas@extundo.com>
73396
73397         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
73398         arcfour_context struct (simplify test vector testing in GNU
73399         Shishi).
73400
73401 2005-10-21  Simon Josefsson  <jas@extundo.com>
73402
73403         * modules/des, modules/des-tests: New files.
73404
73405         * modules/gc-des, modules/gc-des-tests: New files.
73406
73407         * tests/test-des.c, tests/test-gc-des.c: New file.
73408
73409 2005-10-21  Simon Josefsson  <jas@extundo.com>
73410
73411         * modules/arctwo, modules/arctwo-tests: New files.
73412
73413         * tests/test-arctwo.c: New file.
73414
73415         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
73416
73417         * tests/test-gc-arctwo.c: New file.
73418
73419 2005-10-21  Simon Josefsson  <jas@extundo.com>
73420
73421         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
73422         Bruno Haible <bruno@clisp.org>.
73423
73424         * m4/gc-des.m4: New file.
73425
73426 2005-10-21  Simon Josefsson  <jas@extundo.com>
73427
73428         * m4/arctwo.m4: New file.
73429
73430         * m4/gc-arctwo.m4: New file.
73431
73432 2005-10-21  Simon Josefsson  <jas@extundo.com>
73433
73434         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
73435         block.
73436
73437 2005-10-21  Simon Josefsson  <jas@extundo.com>
73438
73439         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
73440         <bruno@clisp.org>.
73441
73442         * lib/hmac-sha1.c (hmac_sha1): Likewise.
73443
73444         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
73445         Bruno Haible <bruno@clisp.org>.
73446
73447         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
73448         <bruno@clisp.org>.
73449
73450 2005-10-21  Simon Josefsson  <jas@extundo.com>
73451
73452         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
73453
73454 2005-10-21  Simon Josefsson  <jas@extundo.com>
73455
73456         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
73457
73458 2005-10-21  Simon Josefsson  <jas@extundo.com>
73459
73460         * lib/des.h, lib/des.c: New files.
73461
73462         * lib/gc-gnulib.c: Support DES.c
73463
73464 2005-10-21  Simon Josefsson  <jas@extundo.com>
73465
73466         * lib/arctwo.h, lib/arctwo.c: New files.
73467
73468         * lib/gc-gnulib.c: Support ARCTWO.
73469
73470 2005-10-21  Simon Josefsson  <jas@extundo.com>
73471
73472         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
73473         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73474
73475 2005-10-21  Simon Josefsson  <jas@extundo.com>
73476
73477         * gnulib-tool (func_import, func_create_testdir): Define automake
73478         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
73479         Makefile.am snippet),
73480         suggested by Bruno Haible <bruno@clisp.org>.
73481
73482         * modules/gc (Makefile.am): Use it.
73483
73484 2005-10-21  Bruno Haible  <bruno@clisp.org>
73485
73486         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
73487         patch.
73488
73489 2005-10-19  Simon Josefsson  <jas@extundo.com>
73490
73491         * tests/test-gc-rijndael.c: New file.
73492
73493         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
73494
73495 2005-10-19  Simon Josefsson  <jas@extundo.com>
73496
73497         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
73498         interface too.
73499
73500 2005-10-19  Simon Josefsson  <jas@extundo.com>
73501
73502         * tests/test-gc-arcfour.c: New file.
73503
73504         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
73505
73506 2005-10-19  Simon Josefsson  <jas@extundo.com>
73507
73508         * modules/gc-md4, modules/gc-md4-tests: New file.
73509
73510         * tests/test-gc-md4.c: New file.
73511
73512 2005-10-19  Simon Josefsson  <jas@extundo.com>
73513
73514         * m4/gc-md4.m4: New file.
73515
73516 2005-10-19  Simon Josefsson  <jas@extundo.com>
73517
73518         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
73519         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
73520         <kasal@ucw.cz>.
73521
73522 2005-10-19  Simon Josefsson  <jas@extundo.com>
73523
73524         * m4/gc-arcfour.m4: New file.
73525
73526         * m4/gc-rijndael.m4: New file.
73527
73528 2005-10-19  Simon Josefsson  <jas@extundo.com>
73529
73530         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
73531
73532 2005-10-19  Simon Josefsson  <jas@extundo.com>
73533
73534         * lib/gc-gnulib.c: Support ARCFOUR.
73535
73536 2005-10-19  Simon Josefsson  <jas@extundo.com>
73537
73538         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
73539         support.
73540
73541         * lib/gc.h: Add ECB enum type.
73542
73543         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
73544
73545 2005-10-18  Simon Josefsson  <jas@extundo.com>
73546
73547         * tests/test-md5.c: New file.
73548
73549         * modules/md5-tests: New file.
73550
73551 2005-10-18  Simon Josefsson  <jas@extundo.com>
73552
73553         * tests/test-md4.c: New file.
73554
73555         * modules/md4, modules/md4-tests: New files.
73556
73557 2005-10-18  Simon Josefsson  <jas@extundo.com>
73558
73559         * m4/md4.m4: New file.
73560
73561 2005-10-18  Simon Josefsson  <jas@extundo.com>
73562
73563         * lib/md4.h, lib/md4.c: New files, based on md5.?.
73564
73565 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
73566
73567         * gnulib-tool (func_create_testdir): Omit the second check whether
73568         BUILT_SOURCES in nonempty.
73569
73570 2005-10-17  Simon Josefsson  <jas@extundo.com>
73571
73572         * tests/test-rijndael.c: New file.
73573
73574 2005-10-17  Simon Josefsson  <jas@extundo.com>
73575
73576         * modules/sha1: Depend on stdint instead of md5.
73577
73578         * modules/md5: Depend on stdint, remove uint32_t.
73579
73580 2005-10-17  Simon Josefsson  <jas@extundo.com>
73581
73582         * modules/gc-sha1-tests: New file.
73583
73584         * tests/test-gc-sha1.c: New file.
73585
73586 2005-10-17  Simon Josefsson  <jas@extundo.com>
73587
73588         * m4/md5.m4: Remove call to uint32_t.m4.
73589
73590 2005-10-17  Simon Josefsson  <jas@extundo.com>
73591
73592         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
73593
73594         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
73595         md5.h.
73596
73597         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
73598
73599         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
73600
73601 2005-10-17  Simon Josefsson  <jas@extundo.com>
73602
73603         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
73604
73605 2005-10-17  Simon Josefsson  <jas@extundo.com>
73606
73607         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
73608
73609 2005-10-17  Simon Josefsson  <jas@extundo.com>
73610
73611         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
73612
73613         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
73614
73615 2005-10-17  Bruno Haible  <bruno@clisp.org>
73616
73617         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
73618         that it can also be used in a test.
73619
73620 2005-10-16  Bruno Haible  <bruno@clisp.org>
73621
73622         * gnulib-tool (func_emit_tests_Makefile_am): Also define
73623         TESTS_ENVIRONMENT, so that individual tests can augment it.
73624
73625         * gnulib-tool (func_create_testdir): Use an intermediate target for
73626         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
73627         macros, like $(ALLOCA_H), which cannot be passed through the command
73628         line.
73629
73630 2005-10-15  Simon Josefsson  <jas@extundo.com>
73631
73632         * modules/rijndael-tests: New file.
73633
73634         * modules/rijndael: New file.
73635
73636 2005-10-15  Simon Josefsson  <jas@extundo.com>
73637
73638         * m4/rijndael.m4: New file.
73639
73640 2005-10-15  Simon Josefsson  <jas@extundo.com>
73641
73642         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
73643
73644         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
73645
73646 2005-10-14  Simon Josefsson  <jas@extundo.com>
73647
73648         * tests/test-arcfour.c: New file.
73649
73650         * modules/arcfour, modules/arcfour-tests: New files.
73651
73652 2005-10-14  Simon Josefsson  <jas@extundo.com>
73653
73654         * m4/arcfour.m4: New file.
73655
73656 2005-10-14  Simon Josefsson  <jas@extundo.com>
73657
73658         * lib/arcfour.h, lib/arcfour.c: New files.
73659
73660 2005-10-14  Roland McGrath  <roland@redhat.com>
73661
73662         Import from libc.  [BZ #1331]
73663         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
73664         macro argument.
73665         Reported by Matej Vela <vela@debian.org>.
73666
73667 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
73668
73669         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
73670         include <wchar.h>; no longer needed.
73671
73672 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
73673
73674         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
73675
73676 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
73677         and  Ulrich Drepper  <drepper@redhat.com>
73678
73679         Import from libc.
73680         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
73681         instead of inline stream orientation test and two separate
73682         function calls.  Pay no attention to USE_IN_LIBIO.
73683
73684 2005-10-13  Simon Josefsson  <jas@extundo.com>
73685
73686         * modules/gc-hmac-md5-tests: New file.
73687
73688         * tests/test-gc-hmac-sha1.c: New file.
73689
73690         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
73691
73692         * modules/gc-hmac-md5-tests: New file.
73693
73694         * tests/test-gc-md5.c: New file.
73695
73696         * modules/gc-md5-tests: New file.
73697
73698 2005-10-13  Simon Josefsson  <jas@extundo.com>
73699
73700         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
73701         Move memory allocation outside of loop.
73702
73703 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
73704
73705         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
73706         intermediate directory is in a read-only file system.  Problem
73707         reported by Eric Blake.
73708
73709 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
73710
73711         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
73712
73713 2005-10-12  Simon Josefsson  <jas@extundo.com>
73714
73715         * tests/test-hmac-sha1.c: New file.
73716
73717         * modules/hmac-sha1-tests: New file.
73718
73719         * modules/hmac-sha1: New file.
73720
73721 2005-10-12  Simon Josefsson  <jas@extundo.com>
73722
73723         * modules/gc-sha1: New file.
73724
73725 2005-10-12  Simon Josefsson  <jas@extundo.com>
73726
73727         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
73728
73729         * tests/test-gc-pbkdf2-sha1.c: New file.
73730
73731 2005-10-12  Simon Josefsson  <jas@extundo.com>
73732
73733         * modules/gc-md5, modules/gc-hmac-md5: New files.
73734
73735         * modules/gc (Files): Remove md5, memxor and hmac files.
73736
73737 2005-10-12  Simon Josefsson  <jas@extundo.com>
73738
73739         * m4/gc-pbkdf2-sha1.m4: New file.
73740
73741         * m4/gc-hmac-sha1.m4: New file.
73742
73743         * m4/gc-sha1: New file.
73744
73745         * m4/hmac-sha1.m4: New file.
73746
73747 2005-10-12  Simon Josefsson  <jas@extundo.com>
73748
73749         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
73750
73751         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
73752
73753 2005-10-12  Simon Josefsson  <jas@extundo.com>
73754
73755         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
73756         suggested by Bruno Haible <bruno@clisp.org>.
73757
73758 2005-10-12  Simon Josefsson  <jas@extundo.com>
73759
73760         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
73761
73762 2005-10-12  Simon Josefsson  <jas@extundo.com>
73763
73764         * lib/gc-pbkdf2-sha1.c: New file.
73765
73766         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
73767
73768 2005-10-12  Simon Josefsson  <jas@extundo.com>
73769
73770         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
73771
73772         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
73773
73774 2005-10-12  Simon Josefsson  <jas@extundo.com>
73775
73776         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
73777         GC_USE_HMAC_MD5, respectively.
73778
73779         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
73780         (gc_md5): Fix typo.
73781
73782         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
73783
73784         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
73785
73786         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
73787
73788 2005-10-12  Bruno Haible  <bruno@clisp.org>
73789
73790         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
73791         Reported by Stepan Kasal <kasal@ucw.cz>.
73792
73793 2005-10-11  Simon Josefsson  <jas@extundo.com>
73794
73795         * tests/test-crc.c: New file.
73796
73797         * modules/crc, modules/crc-tests: New files.
73798
73799 2005-10-11  Simon Josefsson  <jas@extundo.com>
73800
73801         * m4/crc.m4: New file.
73802
73803 2005-10-11  Simon Josefsson  <jas@extundo.com>
73804
73805         * lib/gc.h: Add gc_hash and gc_hash_buffer.
73806
73807         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
73808
73809         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
73810
73811 2005-10-11  Simon Josefsson  <jas@extundo.com>
73812
73813         * lib/crc.h, lib/crc.c: New files.
73814
73815         * lib/gc.h (gc_hash_buffer): Add doc.
73816
73817 2005-10-11  Bruno Haible  <bruno@clisp.org>
73818
73819         * modules/c-strcasestr: New file.
73820         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
73821
73822 2005-10-11  Bruno Haible  <bruno@clisp.org>
73823
73824         * modules/c-strcase: New file.
73825         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
73826
73827 2005-10-11  Bruno Haible  <bruno@clisp.org>
73828
73829         * lib/strcasecmp.c: Include limits.h.
73830         (strcasecmp): Avoid integer overflow on exotic platforms.
73831         * lib/strncasecmp.c: Include limits.h.
73832         (strncasecmp): Avoid integer overflow on exotic platforms.
73833         Reported by Paul Eggert.
73834
73835 2005-10-11  Bruno Haible  <bruno@clisp.org>
73836
73837         * lib/c-strcasestr.h: New file, from GNU gettext.
73838         * lib/c-strcasestr.c: New file, from GNU gettext.
73839
73840 2005-10-11  Bruno Haible  <bruno@clisp.org>
73841
73842         * lib/c-strcase.h: New file, from GNU gettext.
73843         * lib/c-strcasecmp.c: New file, from GNU gettext.
73844         * lib/c-strncasecmp.c: New file, from GNU gettext.
73845
73846 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
73847
73848         * modules/mempcpy (License): GPL -> LGPL.
73849         * modules/strchrnul (License): Likewise.
73850         * modules/sysexits (License): Likewise.
73851
73852 2005-10-08  Simon Josefsson  <jas@extundo.com>
73853
73854         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
73855
73856 2005-10-07  Simon Josefsson  <jas@extundo.com>
73857
73858         * m4/memxor.m4: Remove gl_C_RESTRICT call.
73859
73860 2005-10-06  Simon Josefsson  <jas@extundo.com>
73861
73862         * tests/test-hmac-md5.c: New file.
73863
73864         * modules/hmac-md5-tests: New file.
73865
73866         * modules/hmac-md5: New file.
73867
73868 2005-10-06  Simon Josefsson  <jas@extundo.com>
73869
73870         * m4/hmac-md5.m4: New file.
73871
73872         * m4/memxor.m4: Require gl_C_RESTRICT.
73873
73874 2005-10-06  Simon Josefsson  <jas@extundo.com>
73875
73876         * lib/memxor.c (memxor): Avoid casts and warnings.
73877
73878 2005-10-06  Simon Josefsson  <jas@extundo.com>
73879
73880         * lib/hmac-md5.c: New file.
73881
73882         * lib/hmac.h: New file.
73883
73884 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
73885
73886         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
73887         promotes to int, not unsigned int, to catch the AIX 5.3
73888         compiler bug.
73889
73890 2005-10-05  Simon Josefsson  <jas@extundo.com>
73891
73892         * modules/memxor: New file.
73893
73894         * modules/iconv (Files): Move config.rpath to havelib, it is used
73895         there.
73896
73897         * modules/havelib (Files): Add config.rpath.
73898
73899 2005-10-05  Simon Josefsson  <jas@extundo.com>
73900
73901         * m4/memxor.m4: New file.
73902
73903 2005-10-05  Simon Josefsson  <jas@extundo.com>
73904
73905         * lib/memxor.c (memxor): Fix compiler error.
73906
73907         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
73908         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
73909
73910         * lib/memxor.h, lib/memxor.c: New files.
73911
73912         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
73913         we assume all systems have it, suggested by Jim Meyering
73914         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
73915         any systems lack sys/socket.h; mingw32 is known to lack it, but we
73916         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
73917         same reasons.
73918
73919 2005-10-05  Simon Josefsson  <jas@extundo.com>
73920
73921         * config/srclist.txt: Add glibc bug 1423 for md5.h.
73922
73923 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
73924
73925         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
73926         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
73927         needed, since the source code now assumes these .h files.
73928
73929 2005-10-05  Derek Price  <derek@ximbiot.com>
73930
73931         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
73932
73933 2005-10-05  Bruno Haible  <bruno@clisp.org>
73934
73935         * modules/stdint (License): Change to LGPL.
73936
73937 2005-10-04  Simon Josefsson  <jas@extundo.com>
73938
73939         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
73940         D. Baushke" <mdb@gnu.org>.
73941
73942 2005-10-04  Bruno Haible  <bruno@clisp.org>
73943
73944         * lib/verify.h (verify_true): Provide alternative definition for C++.
73945
73946 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
73947
73948         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
73949         (SSIZE_MAX): New macro, if not already defined.
73950         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
73951         than 2 GiB.
73952
73953 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
73954
73955         Sync from coreutils.
73956         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
73957         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
73958         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
73959         ULLONG_MAX doesn't work with 2.7.2.1.
73960
73961 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
73962
73963         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
73964         From Ben Pfaff.
73965
73966         * modules/exclude (Depends-on): Depend on verify.
73967         * modules/strtoimax (Depends-on): Likewise.
73968         * modules/utimecmp (Depends-on): Likewise.
73969
73970 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
73971
73972         * lib/exclude.c: Include verify.h.
73973         (verify): Remove.  All callers changed to use verify.h's version.
73974         * lib/strtoimax.c: Likewise.
73975         * lib/utimecmp.c: Likewis.e
73976
73977         Sync from coreutils.
73978         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
73979         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
73980         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
73981         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
73982         bother returning ENOSYS if settimeofday or stime fails; just let
73983         them return whatever errno they want to return.
73984         * lib/utimens.c: Include unistd.h, for dup2.
73985         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
73986         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
73987
73988 2005-10-02  Jim Meyering  <jim@meyering.net>
73989
73990         Sync from coreutils.
73991         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
73992         from glibc-2.2.5 that fails for read-only files.
73993
73994 2005-10-02  Jim Meyering  <jim@meyering.net>
73995
73996         Sync from coreutils.
73997         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
73998         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
73999         `#if HAVE_CONFIG_H'.
74000         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
74001         Remove AT_FDCWD test.
74002         Do not consume the fd unless successful.
74003         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
74004         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
74005         block, so that we don't even try to compile it if settimeofday is
74006         available.  This works around a compilation failure on OSF1 V5.1,
74007         due to stime requiring a `long int*' while tv_sec is `int'.
74008
74009 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
74010
74011         Sync from coreutils.
74012         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
74013         against `yes', rather than just testing for nonempty.
74014
74015 2005-10-01  Simon Josefsson  <jas@extundo.com>
74016
74017         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
74018         and Darwin.
74019
74020         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
74021         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
74022         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
74023         freeaddrinfo and gai_strerror are declared by the POSIX headers.
74024         Check if struct addrinfo is declared.
74025
74026 2005-10-01  Simon Josefsson  <jas@extundo.com>
74027
74028         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
74029         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
74030         AI_* and EAI_* definitions.  Protect function declarations.
74031
74032 2005-10-01  Jim Meyering  <jim@meyering.net>
74033
74034         Sync from coreutils.
74035
74036         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
74037         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
74038         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
74039         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
74040         in the inet and nsl libraries.  Required on Solaris 5.7.
74041
74042 2005-10-01  Jim Meyering  <jim@meyering.net>
74043
74044         Sync from coreutils.
74045         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
74046         in the inet and nsl libraries.  Required on Solaris 5.7.
74047
74048 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
74049
74050         * lib/getdelim.c (getdelim): Remove unused variables.
74051
74052 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
74053
74054         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
74055         so that the code works even with ancient cpp.  Portability problem
74056         with GCC 2.7.2.1 reported by Thomas M.Ott.
74057
74058 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
74059
74060         * modules/regex (Depends-on): Add strcase.
74061
74062         * modules/gethostname (Licence): Change from GPL to LGPL, since
74063         gethostname.c is a trivial implementation of a standard library
74064         function.
74065         * modules/poll (License): Change from GPL to LGPL, since it's
74066         derived from LGPL code.
74067
74068 2005-09-27  Jim Meyering  <jim@meyering.net>
74069
74070         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
74071         HAVE_CONFIG_H.
74072
74073         * lib/intprops.h (signed_type_or_expr__): Define.
74074         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
74075         for unsigned types.
74076
74077 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
74078
74079         * lib/verify.h (verify_expr): Remove, replacing with:
74080         (verify_true): New macro that returns true instead of void.
74081         (verify_type__): Remove.
74082         (verify): Use verify_true rather than verify_type__.
74083
74084 2005-09-26  Bruno Haible  <bruno@clisp.org>
74085
74086         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
74087         is necessary.
74088         (lib_SOURCES): Remove mbchar.c.
74089         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
74090         (Files): Add m4/mbrtowc.m4.
74091         * modules/mbiter: Likewise.
74092         * modules/mbuiter: Likewise.
74093
74094 2005-09-26  Bruno Haible  <bruno@clisp.org>
74095
74096         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
74097         compile mbchar.c if they are not both present.
74098         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
74099         * m4/mbiter.m4 (gl_MBITER): Likewise.
74100         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
74101         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
74102         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
74103
74104 2005-09-25  Jim Meyering  <jim@meyering.net>
74105
74106         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
74107         also uses socklen_t.
74108
74109 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
74110
74111         * lib/utimens.c (ENOSYS): Define if not already defined.
74112         (futimens): Support having a null PATH if the file descriptor
74113         is nonnegative.
74114
74115         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
74116         Remove.
74117         (__attribute): Define to empty unless GCC 3.1 or later.
74118         This works around a core dump on OpenBSD 3.4, which has GCC
74119         2.95.3, which dumps core when given __attribute__(()).  It also
74120         simplifies other tests, since we really don't want to bother with
74121         worrying about which ancient version of GCC supported what.
74122         Original problem reported by Yoann Vandoorselaere, with part of
74123         the fix suggested by Derek Price.
74124
74125 2005-09-24  Jim Meyering  <jim@meyering.net>
74126
74127         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
74128         so we can once again use a positive bitfield width of 1 -- now we
74129         don't have to explain why we were using a bitfield width of 2.
74130
74131 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
74132
74133         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
74134         and similarly for the other external symbols.  Problem reported
74135         by James Gallager.
74136
74137         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
74138         bug reported by Jim Meyering.
74139
74140         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
74141         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
74142         not needed, since socklen is a prerequisite module.
74143
74144 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
74145
74146         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
74147         Problem reported by Eric Blake.
74148         (getaddrinfo): Initialize se so that it's not garbage.
74149         Redo internal storage allocation so that it doesn't make unportable
74150         assumptions about alignment.
74151         Fix a memory leak.
74152
74153         * lib/utimens.c (futimens): Use futimesat if available.
74154         Prefer it to futimes since it doesn't have the futimes bug.
74155
74156         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
74157         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
74158         Instead, declare a function that returns a pointer to an array,
74159         and use verify_type__ to declare the size of the array.
74160         Problem and germ of a solution reported by Bruno Haible.
74161         (verify_type__): Use 2, not 1, for bitfield size, to avoid
74162         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
74163
74164 2005-09-23  Jim Meyering  <jim@meyering.net>
74165
74166         Sync from coreutils.
74167         Correct build failure (socklen_t not defined) on at least
74168         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
74169         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
74170
74171 2005-09-23  Jim Meyering  <jim@meyering.net>
74172
74173         * modules/getaddrinfo (Depends-on): Add socklen.
74174
74175 2005-09-23  Bruno Haible  <bruno@clisp.org>
74176
74177         * tests/test-verify.c: New file.
74178
74179 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
74180
74181         Sync from coreutils.
74182
74183         * modules/argmatch (Depends-on): Add verify.
74184         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
74185         unistd-safer.
74186         * modules/save-cwd (Depends-on): Likewise.
74187
74188         * modules/openat (Files): Add lib/openat-die.c.
74189         (Depends-on): Remove error, exitfail.
74190         Add dirname.
74191
74192         * modules/verify: New file.
74193         * MODULES.html.sh (Diagnostics <assert.h>): New section,
74194         with "verify" module.
74195
74196 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
74197
74198         Sync from coreutils.
74199
74200         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
74201         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
74202         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
74203         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
74204         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
74205         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
74206         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
74207         Don't bother checking for string.h, stdlib.h, unistd.h.
74208         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
74209         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
74210         module's job.
74211         * m4/jm-macros.m4 (gl_MACROS): Likewise.
74212         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
74213
74214         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
74215         (gl_GETDATE): Use it.
74216
74217         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
74218
74219 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
74220
74221         Sync from coreutils.
74222
74223         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
74224         stat-time.h.
74225         * lib/argmatch.h: Include verify.h
74226         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
74227         (ARGMATCH_ASSERT): Remove; unused.
74228         * lib/canonicalize.c: Assume STDC_HEADERS.
74229         * lib/exclude.c: Include "strcase.h".
74230         * lib/regex_internal.h [!defined _LIBC]: Likewise.
74231         * lib/getusershell.c: Include stdio--.h rather than stdio.h
74232         and stdio-safer.h.
74233         (getusershell): Call fopen, not fopen_safer.
74234         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
74235         Do not include unistd-safer.h.
74236         (save_cwd): Don't call fd_safer; no longer needed
74237         now that we include fcntl--.h.
74238
74239         * lib/getdate.y (relative_time): New type.
74240         (RELATIVE_TIME_0): New constant.
74241         (parser_control): Use relative_time instead of doing it ourselves.
74242         (%union): Add new relative_time rel member.
74243         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
74244         Now typeless.
74245         (relunit, relunit_snumber): Now of type rel.
74246         (zone, rel, relunit, get_date): Adjust to above changes.
74247
74248         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
74249         Do not include unistd-safer.h.
74250         (getloadavg): Don't call fd_safer; no longer needed
74251         now that we include fcntl--.h.
74252
74253         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
74254         (make_dir_parents): Treat ENOSYS like EEXIST.
74255
74256         Improve quality of diagnostics on restore_cwd failure.
74257         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
74258         (make_dir_parents): Last arg is now int * (for errno), not bool *.
74259         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
74260         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
74261         each time through the loop.  Do not diagnose restore_cwd failure;
74262         that is the caller's job (and perhaps the caller does not care).
74263
74264         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
74265         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
74266         If the file already exists but is not a directory, don't bother
74267         to try to make its parents.
74268         Close potential file descriptor leak if we can't chdir("/") (!).
74269         Don't always return true if chdir($PWD) fails; return true only
74270         if the requested action was done successfully (except for the
74271         chdir($PWD)).
74272         Don't log final directory unless we actually made it.
74273         Refactor to avoid duplicate code to fix up permissions.
74274         Don't attempt to fix up parent permissions if chdir($PWD) fails.
74275
74276         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
74277         to make it a bit faster and (I hope) clearer.
74278         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
74279         Fix bug in formats like %2N.
74280
74281         * lib/verify.h: New file.
74282
74283 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
74284
74285         Sync from coreutils.
74286         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
74287
74288 2005-09-22  Jim Meyering  <jim@meyering.net>
74289
74290         Sync from coreutils.
74291
74292         * m4/lstat.m4 (gl_FUNC_LSTAT):
74293         Use AC_LIBSOURCES to require lstat.c and lstat.h.
74294         Remove obsolete comment.
74295         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
74296         * m4/xstrtod.m4: Likewise.
74297
74298         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
74299
74300 2005-09-22  Jim Meyering  <jim@meyering.net>
74301
74302         Sync from coreutils.
74303
74304         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
74305
74306         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
74307         the .tm_year member, since otherwise gcc-4.0 would now warn about
74308         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
74309
74310         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
74311         order to avoid an unsuppressible warning from gcc on 64-bit systems.
74312
74313         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
74314         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
74315         when run in a time zone for which daylight savings time is in effect
74316         for the starting date.
74317
74318         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
74319         stop us from restricting permissions of just-created absolute-named
74320         directories.
74321         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
74322         to restore initial working directory.
74323         * lib/mkdir-p.c (make_dir_parents): New parameter:
74324         different_working_dir, to tell caller if/when we change the working
74325         directory and are unable to return to the initial one.
74326         * lib/mkdir-p.h (make_dir_parents): Update prototype.
74327         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
74328         `return false'.  This fixes a bug introduced on 2004-07-30.
74329
74330         * lib/openat.c (fdopendir): Be sure to close the supplied
74331         file descriptor before returning.  This makes our replacement
74332         implementation a little closer to Solaris's, where fdopendir
74333         ties the file descriptor to the returned DIR* pointer.
74334         * lib/openat.c (unlinkat): New function.
74335         * lib/openat.h (unlinkat): Add prototype.
74336         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
74337         (openat_restore_fail): Rename from openat_restore_die.
74338         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
74339
74340         Provide an alternative to exiting immediately upon save_cwd or
74341         restore_cwd failure.  Now, an application can arrange e.g.,
74342         to perform a longjump in that case.
74343         * lib/openat.c: Include dirname.h.
74344         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
74345         (rpl_openat, fdopendir, fstatat): Call openat_save_die
74346         and openat_restore_die rather than calling error directly.
74347         Don't include "error.h" or "exitfail.h"; they're no longer needed.
74348
74349         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
74350         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
74351         define.
74352
74353         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
74354         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
74355                             int utc, int nanoseconds);
74356         Background:
74357         date should not have to allocate a megabyte of virtual memory to
74358         handle a format argument like +%1048575T.  When implemented with
74359         strftime, it must allocate such a buffer, use strftime to fill it
74360         in, print it, then free it.
74361         With fprintftime, it simply prints everything and exits.
74362         With no need for memory allocation, that's one fewer way to fail.
74363         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
74364         optional field width, not before, so we accept %9:z, not %:9z.
74365         (my_strftime): Be sure to use L_('x') for literals.
74366
74367         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
74368         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
74369         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
74370         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
74371         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
74372         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
74373         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
74374         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
74375         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
74376         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
74377         * lib/xgethostname.c, lib/xreadlink.c:
74378         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
74379
74380         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
74381         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
74382         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
74383         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
74384         and don't include <sys/file.h>).
74385
74386 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
74387
74388         Sync from coreutils.
74389
74390         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
74391         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
74392         [!LDAV_DONE]: Avoid unused variable warning.
74393
74394 2005-09-21  Bruno Haible  <bruno@clisp.org>
74395
74396         * lib/unicodeio.h (unicode_to_mb): New declaration.
74397
74398 2005-09-20  Derek Price  <derek@ximbiot.com>
74399
74400         * lib/getaddrinfo.c: Don't include <netdb.h> included from
74401         getaddrinfo.h.
74402
74403 2005-09-20  Bruno Haible  <bruno@clisp.org>
74404
74405         * gnulib-tool: Remove trailing slashes from the values specified for
74406         --source-base, --m4-base, --tests-base, --aux-dir.
74407         Suggested by Simon Josefsson <jas@extundo.com>.
74408
74409 2005-09-20  Bruno Haible  <bruno@clisp.org>
74410
74411         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
74412         func_modules_to_filelist, func_import, func_create_testdir): Make all
74413         sorting results locale-independent, so that gnulib-cache.m4 doesn't
74414         change when gnulib-tool is invoked in a different locale.
74415
74416 2005-09-19  Simon Josefsson  <jas@extundo.com>
74417
74418         * m4/socklen.m4: Fix typo.
74419
74420 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74421
74422         Use a consistent style for including <config.h>.
74423         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
74424         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
74425         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
74426         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
74427         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
74428         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
74429         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
74430         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
74431         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
74432         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
74433         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
74434         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
74435         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
74436         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
74437         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
74438         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
74439         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
74440         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
74441         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
74442         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
74443         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
74444         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
74445         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
74446         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
74447         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
74448         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
74449         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
74450         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
74451         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
74452         lib/xstrtoumax.c, lib/yesno.c:
74453         Standardize inclusion of config.h.
74454         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
74455         lib/inttostr.h:  Removed inclusion of config.h from header files.
74456         * lib/inttostr.c:  Adjusted in-tree users.
74457         * lib/timespec.h: Remove superfluous warning to include config.h.
74458         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
74459         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
74460         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
74461         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
74462         config.h with HAVE_CONFIG_H.
74463
74464 2005-09-19  Jim Meyering  <jim@meyering.net>
74465
74466         * modules/pathmax (License): Change to LGPL.
74467
74468 2005-09-19  Derek Price  <derek@ximbiot.com>
74469
74470         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
74471
74472 2005-09-19  Bruno Haible  <bruno@clisp.org>
74473
74474         * gnulib-tool (import): Provide default for --tests-base.
74475
74476 2005-09-19  Bruno Haible  <bruno@clisp.org>
74477
74478         * doc/quote.texi: New file, extracted from gnulib.texi.
74479         * doc/ctime.texi: New file, extracted from gnulib.texi.
74480         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
74481         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
74482         * doc/gnulib.texi: Include them.
74483
74484 2005-09-18  Bruno Haible  <bruno@clisp.org>
74485
74486         Portability fix.
74487         * gnulib-tool (func_readlink): New function.
74488         (func_ln_if_changed): Use it.
74489
74490 2005-09-18  Bruno Haible  <bruno@clisp.org>
74491
74492         * gnulib-tool: Support --with-tests also with --import.
74493         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
74494         (func_import): Use variables $testsbase and $inctests. Emit a
74495         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
74496         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
74497         SUBDIRS += $testsdir.
74498         (func_create_testdir): Update.
74499
74500 2005-09-18  Bruno Haible  <bruno@clisp.org>
74501
74502         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
74503         instead of $dry_run.
74504         (func_cp_if_changed, func_mv_if_changed): Remove functions.
74505         (func_ln_if_changed): Don't handle dry-run here.
74506         (func_import): In dry-run mode, detect more precisely which actions
74507         would be performed, and don't use "...ing" verbs.
74508
74509 2005-09-18  Bruno Haible  <bruno@clisp.org>
74510
74511         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
74512         (func_import): Use join on two temporary files instead of three nested
74513         loops, in order to determine which files are new or old.
74514
74515 2005-09-18  Bruno Haible  <bruno@clisp.org>
74516
74517         * gnulib-tool (func_import): Comment out code that spits out the
74518         new files with --dry-run.
74519
74520 2005-09-18  Bruno Haible  <bruno@clisp.org>
74521
74522         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
74523
74524 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
74525
74526         * lib/stat-time.h: New file.
74527         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
74528         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
74529         in a different way.
74530         (timespec_cmp): New function.
74531         * lib/utimecmp.c: Include stat-time.h.
74532         (SYSCALL_RESOLUTION): Depend on whether various struct stat
74533         members exist, not on the obsolescent ST_MTIM_NSEC.
74534         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
74535
74536 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
74537
74538         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
74539
74540 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
74541
74542         * MODULES.html.sh (File system functions): Add stat-time.
74543         * modules/stat-time: New file.
74544         * modules/timespec (Files): Remove m4/st_mtim.m4; this
74545         is now done in a different way, by the stat-time module.
74546         * modules/utimecmp (Depends-on): Add stat-time.
74547
74548 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
74549
74550         * m4/st_mtim.m4: Remove.  Superseded by...
74551         * m4/stat-time.m4: New file.
74552         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
74553         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
74554
74555 2005-09-15  Derek Price  <derek@ximbiot.com>
74556
74557         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
74558
74559 2005-09-15  Derek Price  <derek@ximbiot.com>
74560
74561         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
74562         * lib/regex_internal.c: Ditto, using this...
74563         (__GNUC_PREREQ): ...new macro.
74564         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
74565         using...
74566         (__GNUC_PREREQ): ...this new macro.
74567
74568         * lib/strstr.h: Include string.h. Define strstr as a macro here.
74569
74570 2005-09-15  Derek Price  <derek@ximbiot.com>
74571             Paul Eggert  <eggert@cs.ucla.edu>
74572
74573         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
74574         changes, consolidating in...
74575         * lib/regex_internal.h: ...this file.
74576
74577 2005-09-13  Jim Meyering  <jim@meyering.net>
74578
74579         * lib/canon-host.c: Filter through gnu indent and reword comments
74580         slightly.
74581         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
74582
74583 2005-09-13  Derek Price  <derek@ximbiot.com>
74584
74585         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
74586         failure.
74587         Reported by Jim Meyering  <jim@meyering.net>.
74588
74589 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
74590
74591         * lib/base64.c: Typo.
74592         (base64_encode): Put b64str in initialized data section.
74593
74594 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
74595
74596         Merge glibc and coreutils changes into gnulib, plus a few
74597         extra fixes.
74598         * lib/md5.c: Use #error rather than a string.
74599         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
74600         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
74601         (__attribute__): Define to empty for non recent-GCC.
74602         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
74603         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
74604         Renamed from their non-__ counterparts, with new macros replacing
74605         them if not _LIBC.  Add __THROW attribute.
74606         (rol): Remove.
74607         (struct md5_ctx): Align buffer if using GCC.
74608         * lib/sha1.h (struct sha1_ctx): Likewise.
74609         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
74610         The old name was backwards.
74611         (NOTSWAP): Remove; not used.
74612         (rol): New macro, moved here from md5.h.
74613         (sha1_process_block): Remove a FIXME that doesn't make sense.
74614
74615 2005-09-12  Derek Price  <derek@ximbiot.com>
74616
74617         Return usable errors from canon-host.
74618         * lib/canon-host.h: New file.
74619         * lib/canon-host.c (canon_host): Wrap...
74620         (canon_host_r): ...this new function, which now relies exclusively on
74621         getaddrinfo.
74622         (ch_strerror): New function.
74623         (last_cherror): New global.
74624         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
74625         interface.
74626         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
74627         void *.
74628         (freeaddrinfo): Free ai->ai_canonname when set.
74629
74630 2005-09-12  Derek Price  <derek@ximbiot.com>
74631
74632         Make canon-host require getaddrinfo.
74633         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
74634         AC_LIBSOURCE canon-host.h.  Call...
74635         (gl_PREREQ_CANON_HOST): ...this new function, which requires
74636         gl_GETADDRINFO.
74637         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
74638
74639 2005-09-12  Derek Price  <derek@ximbiot.com>
74640
74641         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
74642         LGPL.
74643         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
74644
74645 2005-09-12  Derek Price  <derek@ximbiot.com>
74646
74647         * lib/gai_strerror.c: Include config.h when available.  Include
74648         getaddrinfo.h before other headers to test interface.
74649         Reported by Larry Jones <lawrence.jones@ugs.com>.
74650
74651 2005-09-12  Derek Price  <derek@ximbiot.com>
74652             Paul Eggert  <eggert@cs.ucla.edu>
74653
74654         * modules/glob (Files): Add glob-libc.h.
74655
74656 2005-09-12  Derek Price  <derek@ximbiot.com>
74657             Paul Eggert  <eggert@cs.ucla.edu>
74658
74659         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
74660         glob_.h, glob-libc.h.
74661         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
74662
74663 2005-09-12  Derek Price  <derek@ximbiot.com>
74664             Paul Eggert  <eggert@cs.ucla.edu>
74665
74666         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
74667         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
74668         protecting things that should be done only in gnulib contexts.
74669         * lib/glob_.h: New file, containing only the glob things needed for
74670         gnulib.
74671         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
74672         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
74673         (glob, globfree, glob_pattern_p): Now defined simply in terms of
74674         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
74675         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
74676         and to respect the namespace rules better.
74677
74678 2005-09-08  Simon Josefsson  <jas@extundo.com>
74679
74680         * modules/socklen: New file.
74681
74682 2005-09-08  Simon Josefsson  <jas@extundo.com>
74683
74684         * m4/socklen.m4: New file.
74685
74686 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74687
74688         * modules/utimens (Files): Add m4/utimbuf.m4, since
74689         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
74690         Reported by Sergey Poznyakoff.
74691
74692 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74693
74694         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
74695         definitions, since that's the preferred style in glibc.
74696         Fix a minor spacing issue, and update copyright notice to match
74697         glibc's.
74698
74699 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74700
74701         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
74702
74703 2005-09-06  Simon Josefsson  <jas@extundo.com>
74704
74705         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
74706         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
74707
74708 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
74709
74710         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
74711         warning.
74712
74713 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
74714
74715         * config/srclist.txt: Add glibc bug 1302.
74716
74717 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
74718
74719         Change bitset word type from unsigned int to unsigned long int,
74720         as this has better performance on typical 64-bit hosts.
74721         Port bitset code to hosts with unusual word sizes.
74722         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
74723         (build_collating_symbol):
74724         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
74725         argument is a bitset.  This is merely a style issue, but it makes
74726         it clearer that an entire array is expected.
74727         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
74728         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
74729         Port to the case where bitset_word is not the same as unsigned int.
74730         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
74731         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
74732         Likewise.
74733         * lib/regexec.c (check_dst_limits_calc_pos_1,
74734         check_subexp_matching_top):
74735         (build_trtable, group_nodes_into_DFAstates):
74736         Likewise.
74737         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
74738         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
74739         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
74740         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
74741         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
74742         * lib/regcomp.c (optimize_subexps, lower_subexp):
74743         Work even if bitset_word has holes in its bitwise representation.
74744         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
74745         * lib/regexec.c (check_dst_limits_calc_pos_1,
74746         check_subexp_matching_top):
74747         Likewise.
74748         * lib/regex_internal.c (re_string_reconstruct):
74749         Don't assume UCHAR_MAX == 255.
74750         * lib/regex_internal.h (bitset_set_all): Likewise.
74751         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
74752         All uses changed.
74753         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
74754         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
74755         All uses changed.
74756         (BITSET_WORD_MAX): New macro.
74757         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
74758         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
74759         (bitset_empty, bitset_copy):
74760         Prefer sizeof (bitset) to multiplying it out ourselves.
74761         (bitset_not_merge): Remove; unused.
74762         (bitset_contain): Return bool, not unsigned int with one bit on.
74763         All callers changed.
74764         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
74765         alignment than re_node_set; do this by defining a new internal
74766         type struct dests_alloc and using it to allocate memory.
74767
74768 2005-09-05  Bruno Haible  <bruno@clisp.org>
74769
74770         * gnulib-tool (func_import): Fix comparison in handling of symbolic
74771         links.
74772
74773 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
74774
74775         * modules/size_max (Makefile.am): Add size_max.h
74776
74777 2005-09-04  Derek Price  <derek@ximbiot.com>
74778
74779         * gnulib-tool (func_import): Fix reversed $symbolic logic.
74780
74781 2005-09-03  Simon Josefsson  <jas@extundo.com>
74782
74783         * gnulib-tool: Fix typo.
74784
74785 2005-09-03  Simon Josefsson  <jas@extundo.com>
74786
74787         * config/srclist.txt: Add glibc bug 1293.
74788
74789 2005-09-03  Derek Price  <derek@ximbiot.com>
74790
74791         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
74792         From Larry Jones <lawrence.jones@ugs.com>.
74793
74794 2005-09-02  Simon Josefsson  <jas@extundo.com>
74795
74796         * modules/socklen: New file.
74797
74798 2005-09-02  Simon Josefsson  <jas@extundo.com>
74799
74800         * modules/havelib: New module.
74801
74802         * modules/gettext, modules/iconv, modules/lock, modules/readline:
74803         Use havelib.
74804
74805 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
74806
74807         Check for arithmetic overflow when calculating sizes, to prevent
74808         some buffer-overflow issues.  These patches are conservative, in the
74809         sense that when I couldn't determine whether an overflow was possible,
74810         I inserted a run-time check.
74811         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
74812         macros.
74813         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
74814         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
74815         (re_xnrealloc, re_x2nrealloc): New inline functions.
74816         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
74817         parse_bracket_exp):
74818         (build_equiv_class, build_charclass): Check for arithmetic overflow
74819         in size expression calculations.
74820         * lib/regex_internal.c (re_string_realloc_buffers):
74821         (build_wcs_upper_buffer, re_node_set_add_intersect):
74822         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
74823         (re_dfa_add_node, register_state): Likewise.
74824         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
74825         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
74826         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
74827         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
74828
74829 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
74830
74831         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
74832         m4/ulonglong.m4.  Problem reported by Martin Lambers.
74833
74834 2005-09-02  Bruno Haible  <bruno@clisp.org>
74835
74836         Support for lib vs. lib64 distinction on biarch platforms.
74837         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
74838         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
74839         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
74840
74841 2005-09-02  Bruno Haible  <bruno@clisp.org>
74842
74843         * gnulib-tool (import): In the other first-use case, provide defaults
74844         as well.
74845
74846 2005-09-02  Bruno Haible  <bruno@clisp.org>
74847
74848         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
74849         patches not yet found in the latest gettext release.
74850
74851 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
74852
74853         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
74854         to avoid a collision with bits/local_lim.h in glibc.
74855         All uses changed.  Problem reported by Dmitry V. Levin in
74856         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
74857
74858         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
74859         bugs in int versus size_t comparisons.
74860         (re_string_context_at): Fix bug where the code assumed that
74861         Idx is signed.
74862
74863         Use bool where appropriate.
74864         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
74865         All callers changed.
74866         (calc_eclosure_iter): Likewise, for ROOT arg.
74867         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
74868         (build_charclass_op): Likewise, for NON_MATCH arg.
74869         * lib/regex_internal.c (re_string_allocate, re_string_construct):
74870         (re_string_construct_common): Likewise, for ICASE arg.
74871         * lib/regexec.c (re_search_2_stub, re_search_stub):
74872         Likewise, for RET_LEN arg.
74873         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
74874         (set_regs): Likewise, for FL_BACKTRACK arg.
74875         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
74876         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
74877         (calc_eclosure_iter, parse_bracket_exp):
74878         Use bool for internal variables that are booleans.
74879         * lib/regexec.c (re_search_internal, check_matching,
74880         proceed_next_node):
74881         (set_regs, build_sifted_states, sift_states_bkref):
74882         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
74883         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
74884         (find_collation_sequence_value):
74885         Likewise.
74886         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
74887         (re_node_set_compare):
74888         Return bool, not int. All callers changed.
74889         * lib/regexec.c (check_halt_node_context, check_dst_limits):
74890         (build_trtable, check_node_accept): Likewise.
74891         * lib/regex_internal.h: Include stdbool.h.
74892
74893         Fix bugs uncovered when converting to bool.
74894         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
74895         failure instead of charging ahead blindly.
74896         * lib/regex_internal.c (register_state): Likewise.
74897         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
74898         for freeing internal storage.
74899         (group_nodes_into_DFA_states): Use unsigned int, not int, for
74900         bitset pieces used as boolean, to avoid undefined behavior
74901         on hosts that do int overflow checking.
74902
74903 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
74904
74905         * config/srclist.txt: Add glibc bugs 1285-1287.
74906
74907 2005-09-01  Jim Meyering  <jim@meyering.net>
74908
74909         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
74910         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
74911         Require gl_STAT_MACROS, too.
74912
74913 2005-09-01  Bruno Haible  <bruno@clisp.org>
74914
74915         * gnulib-tool (import): In the first-use case, provide defaults.
74916
74917 2005-09-01  Bruno Haible  <bruno@clisp.org>
74918
74919         * gnulib-tool (func_import): Remove the .tmp files.
74920
74921 2005-09-01  Bruno Haible  <bruno@clisp.org>
74922
74923         * gnulib-tool (func_import): Fix handling of symbolic links.
74924
74925 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
74926
74927         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
74928         old glibc regex code mishandles strings longer than 2**31 bytes.
74929         This patch fixes this when the regex code is used in gnulib
74930         (i.e., outside glibc).
74931
74932         This patch should not affect the use of the regex code inside
74933         glibc.  No doubt this problem also needs to be handled for glibc
74934         as well, but the result will be an incompatible change to the
74935         glibc ABI, and the old ABI will have to be supported too.  That
74936         can be the the subject for another patch.
74937
74938         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
74939         governing whether the rest of this patch is active.  By default,
74940         the macro is disabled and the patch has no effect.
74941         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
74942         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
74943         (struct re_pattern_buffer, re_search, re_search_2, re_match):
74944         (re_match_2, re_set_registers): Use the new types.
74945         * lib/regex_internal.h (Idx, re_hashval_t): New types.
74946         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
74947         New macros.
74948         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
74949         (re_string_context_at, bin_tree_t, re_dfastate_t):
74950         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
74951         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
74952         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
74953         (re_string_char_size_at, re_string_wchar_at):
74954         (re_string_elem_size_at):
74955         Use the new types and macros to port to 64-bit hosts.
74956         Use unsigned types for internal values, so that the code
74957         mostly works even for arrays larger than SSIZE_MAX.
74958         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
74959         (search_duplicated_node, calc_eclosure_iter, fetch_number):
74960         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
74961         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
74962         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
74963         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
74964         (calc_inveclosure, parse_dup_op, build_range_exp):
74965         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
74966         (fetch_number, create_token_tree, mark_opt_subexp):
74967         Likewise.
74968         * lib/regex_internal.c (re_string_construct_common,
74969         create_ci_newstate):
74970         (create_cd_newstate, re_string_allocate, re_string_construct):
74971         (re_string_realloc_buffers, build_wcs_upper_buffer):
74972         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
74973         (re_string_reconstruct, re_string_peek_byte_case):
74974         (re_string_fetch_byte_case, re_string_context_at):
74975         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
74976         (re_node_set_init_copy, re_node_set_add_intersect):
74977         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
74978         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
74979         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
74980         (re_acquire_state, re_acquire_state_context, register_state):
74981         Likewise.
74982         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
74983         search_cur_bkref_entry):
74984         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
74985         (re_search_internal, re_search_2_stub, re_search_stub)
74986         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
74987         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
74988         (update_cur_sifted_state, check_dst_limits):
74989         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
74990         (check_subexp_limits, sift_states_bkref, merge_state_array):
74991         (check_subexp_matching_top, get_subexp, get_subexp_sub):
74992         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
74993         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
74994         (expand_bkref_cache, check_node_accept_bytes):
74995         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
74996         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
74997         (acquire_init_state_context, check_halt_node_context):
74998         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
74999         (sift_states_backward, clean_state_log_if_needed):
75000         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
75001         (find_recover_state, transit_state_sb, transit_state_mb):
75002         (transit_state_bkref, build_trtable, match_ctx_clean):
75003         Likewise.
75004         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
75005         to work around an assumption that REG_MISSING is negative.
75006
75007         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
75008         (seek_collating_symbol_entry) [defined _LIBC]:
75009         (lookup_collation_sequence_value) [defined _LIBC]:
75010         (build_range_exp, build_collating_symbol) [defined _LIBC]:
75011         Use prototypes rather than old-style function definitions.
75012         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
75013         (transit_state_sb) [0]:
75014         (find_collation_sequence_value) [defined _LIBC]: Likewise.
75015
75016         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
75017         rm_eo.
75018
75019         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
75020         (optimize_subexps, lower_subexp):
75021         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
75022         since the signed shift might overflow.  Use 1u<<31 instead.
75023         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
75024         Likewise.
75025         * lib/regexec.c (check_dst_limits_calc_pos_1,
75026         check_subexp_matching_top): Likewise.
75027
75028         * lib/regcomp.c (optimize_subexps, lower_subexp):
75029         Use CHAR_BIT rather than 8, for clarity.
75030         * lib/regexec.c (check_dst_limits_calc_pos_1):
75031         (check_subexp_matching_top): Likewise.
75032         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
75033         have to worry about portability issues when shifting it left.
75034         Remove no-longer-needed test for table_size > 0.
75035         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
75036         in a word, as the resulting behavior is undefined.
75037         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
75038         in one case, a <= should have been an <, and in another case the
75039         whole test was missing.
75040         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
75041         the standard name CHAR_BIT.
75042         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
75043         this is not true on one's complement and signed-magnitude hosts.
75044
75045         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
75046         next_last_offset.
75047         (struct re_dfa_t): Remove unused member states_alloc.
75048         * lib/regcomp.c (init_dfa): Don't initialize unused members.
75049
75050 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
75051
75052         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
75053         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
75054         and large-file glibc and in 32-bit large-file Solaris.
75055
75056 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
75057
75058         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
75059         lengths fit in regoff_t; this isn't true if regoff_t is the same
75060         width as size_t.
75061         * lib/regex.c (re_search_internal): 5th arg is LAST_START
75062         (= START + RANGE) instead of RANGE.  This avoids overflow
75063         problems when regoff_t is the same width as size_t.
75064         All callers changed.
75065         (re_search_2_stub): Check for overflow when adding the
75066         sizes of the two strings.
75067         (re_search_stub): Check for overflow when adding START
75068         to RANGE; if it occurs, substitute the extreme value.
75069
75070 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
75071
75072         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
75073
75074 2005-08-31  Jim Meyering  <jim@meyering.net>
75075
75076         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
75077         a pointer-to-const.
75078         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
75079         (register_state): Likewise.
75080         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
75081         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
75082         (group_nodes_into_DFAstates): Likewise.
75083
75084 2005-08-31  Jim Meyering  <jim@meyering.net>
75085
75086         * check-module: Add a FIXME comment.
75087
75088 2005-08-31  Eric Blake  <ebb9@byu.net>
75089
75090         * modules/unistd-safer (Files): Add unistd--.h.
75091         * modules/stdio-safer (Files): Add stdio--.h.
75092
75093 2005-08-31  Derek Price  <derek@ximbiot.com>
75094
75095         * lib/getdelim.c (getdelim): Return EOF on EOF.
75096         Reported by Larry Jones <lawrence.jones@ugs.com>.
75097
75098 2005-08-31  Bruno Haible  <bruno@clisp.org>
75099
75100         Avoid unnecessary diffs in the generated lib/Makefile.am.
75101         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
75102         the generated files.
75103         (func_import): Don't set cmd.
75104
75105 2005-08-31  Bruno Haible  <bruno@clisp.org>
75106
75107         * lib/strstr.c: Include <stddef.h>, for NULL.
75108         * lib/strcasestr.c: Likewise.
75109         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
75110
75111 2005-08-31  Bruno Haible  <bruno@clisp.org>
75112
75113         * gnulib-tool: New option --macro-prefix.
75114         (func_import): Use macro_prefix.
75115         (import): Handle option --macro-prefix.
75116
75117 2005-08-31  Bruno Haible  <bruno@clisp.org>
75118
75119         * gnulib-tool (import): Rename most ac_* variables to cached_*.
75120         Also use new variables cached_lgpl, cached_libtool.
75121
75122 2005-08-31  Bruno Haible  <bruno@clisp.org>
75123
75124         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
75125         always instantiating them.
75126
75127 2005-08-31  Bruno Haible  <bruno@clisp.org>
75128
75129         * gnulib-tool (func_import): Read the previous cached settings
75130         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
75131         earlier added by gnulib but are now dropped. Warn when a gnulib file
75132         overwrites a non-gnulib file.
75133
75134 2005-08-31  Bruno Haible  <bruno@clisp.org>
75135
75136         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
75137         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
75138         projects that don't keep autogenerated files in CVS. Put into
75139         actioncmd only the specified modules, not the transitive closure.
75140
75141 2005-08-31  Bruno Haible  <bruno@clisp.org>
75142
75143         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
75144         Create directories that shall be filled.
75145         (import): Don't look for gl_* macros in configure.ac. Recurse across
75146         all directories containing a gnulib-cache.m4 files, if meaningful.
75147
75148 2005-08-31  Bruno Haible  <bruno@clisp.org>
75149
75150         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
75151         (import): Set seen_libtool when we see gl_LIBTOOL.
75152
75153 2005-08-31  Bruno Haible  <bruno@clisp.org>
75154
75155         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
75156         declaration macro definitions from generated gnulib.m4.
75157
75158 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
75159
75160         * lib/iconvme.h: Add prototype for iconv_alloc.
75161
75162 2005-08-29  Simon Josefsson  <jas@extundo.com>
75163
75164         * lib/iconvme.c: Fix errno.
75165
75166 2005-08-29  Bruno Haible  <bruno@clisp.org>
75167
75168         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
75169         that it works when the directory contains spaces.
75170
75171 2005-08-29  Bruno Haible  <bruno@clisp.org>
75172
75173         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
75174
75175 2005-08-29  Bruno Haible  <bruno@clisp.org>
75176
75177         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
75178         Emit more advice.
75179
75180 2005-08-29  Bruno Haible  <bruno@clisp.org>
75181         and Stepan Kasal  <kasal@ucw.cz>
75182
75183         * check-module: If more parameters are given, check each of them
75184         separately; add more exceptions, as noted by Jim Meyering.
75185         (check_module): New procedure.
75186         (%exempt_header): Now contains all exceptions.
75187
75188 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
75189
75190         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
75191
75192 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
75193
75194         * lib/iconvme.c: Split iconv_string into iconv_alloc.
75195
75196 2005-08-28  Bruno Haible  <bruno@clisp.org>
75197
75198         * m4/gnulib-tool.m4: New file.
75199
75200 2005-08-27  Jim Meyering  <jim@meyering.net>
75201
75202         * modules/unistd-safer (Files): Add pipe-safer.c.
75203         * modules/fcntl-safer (Files): Add creat-safer.c.
75204
75205 2005-08-27  Jim Meyering  <jim@meyering.net>
75206
75207         * m4/stdlib-safer.m4: New file.  From coreutils.
75208         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
75209         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
75210         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
75211         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
75212         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
75213
75214 2005-08-27  Jim Meyering  <jim@meyering.net>
75215
75216         * lib/fopen-safer.c: Merge minor changes from coreutils.
75217         * lib/dup-safer.c: Likewise.
75218         * lib/fd-safer.c: Likewise.
75219
75220         Merge from coreutils.
75221         * lib/stdio--.h: New file.
75222         * lib/stdlib--.h: New file.
75223         * lib/mkstemp-safer.c: New file.
75224
75225         GNU tar needs these.
75226         * lib/pipe-safer.c: New file.
75227         * lib/creat-safer.c: New file.
75228         * lib/fcntl--.h (creat): Define to creat_safer.
75229         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
75230         * lib/unistd--.h (pipe): Define to pipe_safer.
75231         * lib/unistd-safer.h: Declare pipe_safer.
75232
75233 2005-08-26  Simon Josefsson  <jas@extundo.com>
75234
75235         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
75236         Haible <bruno@clisp.org>.
75237
75238 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
75239
75240         * lib/regex_internal.h: Remove all references to
75241         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
75242         or better.
75243         (bitset_not, bitset_merge, bitset_not_merge):
75244         (bitset_mask, re_string_allocate, re_string_construct):
75245         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
75246         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
75247         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
75248         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
75249         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
75250         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
75251         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
75252         (re_acquire_state_context):
75253         Remove unnecessary forward decls.
75254         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
75255         Put __attribute at function definition,
75256         now that the function decl has been removed.
75257         * lib/regex_internal.c (re_string_peek_byte_case):
75258         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
75259         Likewise.
75260
75261 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
75262
75263         * m4/regex.m4: Add AC_PREREQ(2.50).
75264         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
75265
75266 2005-08-25  Simon Josefsson  <jas@extundo.com>
75267
75268         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
75269         __fsetlocking.
75270
75271 2005-08-25  Simon Josefsson  <jas@extundo.com>
75272
75273         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
75274         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
75275         GLIBC specific code.
75276
75277 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
75278
75279         Make regex safe for g++.  This fixes one real bug (an "err"
75280         that should have been "*err").  g++ problem reported by
75281         Sam Steingold.
75282         * lib/regex_internal.h (re_calloc): New macro, consistent with
75283         re_malloc etc.  All callers of calloc changed to use re_calloc.
75284         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
75285         not int.  All callers changed.
75286         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
75287         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
75288         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
75289         (find_recover_state): Change "err" to "*err"; this fixes what
75290         appears to be a real bug.
75291         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
75292         versus int.
75293
75294 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
75295
75296         * modules/regex (Depends-on): Add malloc, since the code
75297         assumes that !malloc(0) means failure.
75298
75299 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
75300
75301         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
75302
75303         alloca modernization/simplification for regex.
75304         * lib/regex.c: Remove portability cruft for alloca.  This no longer
75305         needs to be at the start of the file, and can be moved into
75306         regex_internal.h and simplified.
75307         * lib/regex_internal.h: Include <alloca.h>.
75308         (__libc_use_alloca) [!defined _LIBC]: New macro.
75309         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
75310         now works outside glibc.
75311
75312 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
75313
75314         * config/srclist.txt: Add glibc bugs 1241, 1245.
75315
75316 2005-08-25  Jim Meyering  <jim@meyering.net>
75317
75318         * lib/open-safer.c: Include <config.h>.
75319         Otherwise, we'd lose LARGEFILE support in any file using
75320         e.g. "fcntl--.h"
75321
75322 2005-08-25  Bruno Haible  <bruno@clisp.org>
75323
75324         * m4/minmax.m4: Require autoconf 2.52.
75325         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
75326         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
75327         alternatives of translit over the alphabet.
75328         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
75329
75330 2005-08-24  Simon Josefsson  <jas@extundo.com>
75331
75332         * tests/test-getpass.c: New file.
75333
75334 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
75335
75336         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
75337         for GNU regex features.
75338
75339 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
75340
75341         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
75342         * lib/regex.h (regerror): Likewise.
75343
75344         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
75345         requires this.  (The code never needed it.)
75346
75347         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
75348         All uses of recently-renamed identifiers changed to use the new,
75349         POSIX-compliant names.  The code will build and run just fine
75350         without these changes, but it's better to eat our own dog food
75351         and use the standard-conforming names.
75352
75353         * lib/regex.h: Fix a multitude of POSIX name space violations.
75354         These changes have an effect only for programs that define
75355         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
75356         do not change anything for programs compiled in the normal way.
75357         Also, there is no effect on the ABI.
75358
75359         (_REGEX_SOURCE): New macro.
75360         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
75361         defined and _GNU_SOURCE is not; this fixes a name space violation.
75362
75363         Rename the following macros to obey POSIX requirements.
75364         The old names are still visible as macros if _REGEX_SOURCE is defined.
75365         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
75366         RE_BACKSLASH_ESCAPE_IN_LISTS.
75367         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
75368         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
75369         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
75370         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
75371         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
75372         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
75373         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
75374         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
75375         (REG_INTERVALS): renamed from RE_INTERVALS.
75376         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
75377         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
75378         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
75379         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
75380         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
75381         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
75382         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
75383         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
75384         RE_UNMATCHED_RIGHT_PAREN_ORD.
75385         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
75386         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
75387         (REG_DEBUG): renamed from RE_DEBUG.
75388         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
75389         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
75390         unusual, since we can't clash with the POSIX REG_ICASE.
75391         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
75392         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
75393         (REG_NO_SUB): renamed from RE_NO_SUB.
75394         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
75395         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
75396         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
75397         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
75398         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
75399         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
75400         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
75401         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
75402         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
75403         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
75404         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
75405         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
75406         RE_SYNTAX_POSIX_MINIMAL_BASIC.
75407         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
75408         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
75409         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
75410         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
75411         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
75412         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
75413         (REG_FIXED): Renamed from REGS_FIXED.
75414         (REG_NREGS): Renamed from RE_NREGS.
75415
75416         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
75417         of other REG_* macros, since POSIX says the user is allowed to
75418         #undef these macros selectively.
75419
75420         (reg_errcode_t): Update comment stating what other tables need
75421         to be consistent.
75422
75423         Rename the following enum values to obey POSIX requirements.
75424         The old names are still visible as macros.
75425         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
75426         is not defined, since GNU is supposed to be a superset of POSIX as
75427         much as possible, and since we want reg_errcode_t to be a signed
75428         type for implementation consistency.
75429         (_REG_NOERROR): Renamed from REG_NOERROR.
75430         (_REG_NOMATCH): Renamed from REG_NOMATCH.
75431         (_REG_BADPAT): Renamed from REG_BADPAT.
75432         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
75433         (_REG_ECTYPE): Renamed from REG_ECTYPE.
75434         (_REG_EESCAPE): Renamed from REG_EESCAPE.
75435         (_REG_ESUBREG): Renamed from REG_ESUBREG.
75436         (_REG_EBRACK): Renamed from REG_EBRACK.
75437         (_REG_EPAREN): Renamed from REG_EPAREN.
75438         (_REG_EBRACE): Renamed from REG_EBRACE.
75439         (_REG_BADBR): Renamed from REG_BADBR.
75440         (_REG_ERANGE): Renamed from REG_ERANGE.
75441         (_REG_ESPACE): Renamed from REG_ESPACE.
75442         (_REG_BADRPT): Renamed from REG_BADRPT.
75443         (_REG_EEND): Renamed from REG_EEND.
75444         (_REG_ESIZE): Renamed from REG_ESIZE.
75445         (_REG_ERPAREN): Renamed from REG_ERPAREN.
75446         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
75447         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
75448         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
75449         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
75450
75451         (_REG_RE_NAME, _REG_RM_NAME): New macros.
75452         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
75453         changed.  But support the old name if the new one is not defined
75454         and if _REGEX_SOURCE.
75455
75456         Change the following member names in struct re_pattern_buffer.
75457         The old names are still supported if !_REGEX_SOURCE.
75458         The new names are always supported, regardless of _REGEX_SOURCE.
75459         (re_buffer): Renamed from buffer.
75460         (re_allocated): Renamed from allocated.
75461         (re_used): Renamed from used.
75462         (re_syntax): Renamed from syntax.
75463         (re_fastmap): Renamed from fastmap.
75464         (re_translate): Renamed from translate.
75465         (re_can_be_null): Renamed from can_be_null.
75466         (re_regs_allocated): Renamed from regs_allocated.
75467         (re_fastmap_accurate): Renamed from fastmap_accurate.
75468         (re_no_sub): Renamed from no_sub.
75469         (re_not_bol): Renamed from not_bol.
75470         (re_not_eol): Renamed from not_eol.
75471         (re_newline_anchor): Renamed from newline_anchor.
75472
75473         Change the following member names in struct re_registers.
75474         The old names are still supported if !_REGEX_SOURCE.
75475         The new names are always supported, regardless of _REGEX_SOURCE.
75476         (rm_num_regs): Renamed from num_regs.
75477         (rm_start): Renamed from start.
75478         (rm_end): Renamed from end.
75479
75480         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
75481         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
75482         Prepend __ to parameter names.
75483
75484         Undo yesterday's changes.
75485
75486 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
75487
75488         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
75489         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
75490         lib/regex.c.
75491
75492 2005-08-24  Jim Meyering  <jim@meyering.net>
75493
75494         Sync from coreutils.
75495         * m4/fcntl-safer.m4: New file.
75496
75497         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
75498         and object files for this module.
75499
75500 2005-08-24  Jim Meyering  <jim@meyering.net>
75501
75502         Sync from coreutils.
75503         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
75504
75505 2005-08-24  Jim Meyering  <jim@meyering.net>
75506
75507         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
75508         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
75509
75510 2005-08-24  Jim Meyering  <jim@meyering.net>
75511
75512         * modules/fcntl-safer: New module.
75513         * modules/fts (Depends-on): Add fcntl-safer.
75514         * MODULES.html.sh (File descriptor based Input/Output):
75515         Add fcntl-safer.
75516
75517 2005-08-24  Bruno Haible  <bruno@clisp.org>
75518
75519         Support for unit test modules.
75520         * modules/README: Mention tests modules.
75521         * modules/TEMPLATE-TESTS: New file.
75522         * gnulib-tool: New options --extract-tests-module, --with-tests and
75523         --tests-base (unused for the moment).
75524         (testsbase, inctests): New variables.
75525         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
75526         (func_verify_module): Exclude TEMPLATE-TESTS.
75527         (func_verify_nontests_module, func_verify_tests_module): New functions.
75528         (func_get_dependencies): Add implicit dependency for tests modules.
75529         (func_get_tests_module): New function.
75530         (func_modules_transitive_closure): When --with-tests was specified,
75531         include the unit tests as well, unless explicitly avoided.
75532         (func_emit_lib_Makefile_am): Ignore the tests modules here.
75533         (func_emit_tests_Makefile_am): New function.
75534         (func_create_testdir): When --with-tests was specified, emit a
75535         tests/ directory.
75536         * MODULES.html.sh (Future developments): Update.
75537
75538 2005-08-24  Bruno Haible  <bruno@clisp.org>
75539
75540         * modules/tls-tests: New file.
75541         * tests/test-tls.c: New file, from GNU gettext.
75542
75543 2005-08-24  Bruno Haible  <bruno@clisp.org>
75544
75545         * modules/lock-tests: New file.
75546         * tests/test-lock.c: New file, from GNU gettext.
75547
75548 2005-08-24  Bruno Haible  <bruno@clisp.org>
75549
75550         * lib/lock.h: Add multiple inclusion guard.
75551         * lib/tls.h: Add multiple inclusion guard.
75552
75553 2005-08-24  Bruno Haible  <bruno@clisp.org>
75554
75555         * gnulib-tool: Add support for the --aux-dir option to
75556         --create-testdir, --create-megatestdir, --test, --megatest.
75557         (func_create_testdir, func_create_megatestdir): Optionally emit a
75558         AC_CONFIG_AUX_DIR directive.
75559         (create-testdir, create-megatestdir, test, megatest): Provide a
75560         default value for $auxdir.
75561
75562 2005-08-24  Bruno Haible  <bruno@clisp.org>
75563
75564         * gnulib-tool (import): Use compound statement instead of subshell
75565         where possible.
75566
75567 2005-08-24  Bruno Haible  <bruno@clisp.org>
75568
75569         * gnulib-tool (import): Change --aux-dir default to "build-aux".
75570
75571 2005-08-24  Bruno Haible  <bruno@clisp.org>
75572
75573         * gnulib-tool (func_version): Update.
75574
75575 2005-08-24  Bruno Haible  <bruno@clisp.org>
75576
75577         * gnulib-tool (func_import, func_create_testdir,
75578         func_create_megatestdir): Quote all autoconf macro arguments.
75579
75580 2005-08-24  Bruno Haible  <bruno@clisp.org>
75581
75582         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
75583         option --force, because --force causes the aclocal.m4 of each
75584         subdirectory to be newer than the corresponding config.h.in.
75585
75586 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
75587
75588         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
75589         All contents moved to gl_REGEX.
75590         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
75591         assume that it does.
75592
75593 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
75594
75595         * lib/regex.h (REG_NOSYS)
75596         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
75597         Define, since POSIX requires it as of 2001.
75598         (_REG_ENOSYS)
75599         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
75600         New private symbol, used to keep the enum signed in all cases.
75601         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
75602         Youngman in
75603         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
75604
75605         * lib/regex_internal.c (re_string_skip_chars, register_state):
75606         (calc_state_hash):
75607         Remove forward decls; no longer needed now that we use prototypes.
75608         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
75609         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
75610         (clean_state_log_if_needed): Likewise.
75611
75612 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
75613
75614         * config/srclist.txt: Add glibc bugs 1231-1233.
75615
75616 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75617
75618         Fix problems reported by Sam Steingold in
75619         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
75620         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
75621         assumed that reg_errcode_t is a signed type, which is not
75622         necessarily true if _XOPEN_SOURCE is not defined.
75623         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
75624         since some compilers warn about it otherwise.
75625
75626 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75627
75628         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
75629         (init_word_char, create_initial_state, duplicate_node_closure):
75630         (fetch_token, peek_token_bracket, build_range_exp):
75631         (build_collating_symbol): Remove forward decls; no longer needed
75632         now that we use prototypes.
75633
75634         * lib/regcomp.c:
75635         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
75636         (re_compile_fastmap_iter, regcomp, regerror, regfree):
75637         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
75638         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
75639         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
75640         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
75641         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
75642         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
75643         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
75644         (build_range_exp, build_collating_symbol, parse_bracket_exp):
75645         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
75646         (build_charclass, build_charclass_op, fetch_number, create_tree):
75647         (create_token_tree, mark_opt_subexp, duplicate_tree):
75648         Use prototypes rather than old-style definitions.
75649
75650         * lib/regex_internal.c:
75651         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
75652         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
75653         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
75654         (re_string_reconstruct, re_string_peek_byte_case):
75655         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
75656         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
75657         (re_node_set_init_copy, re_node_set_add_intersect):
75658         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
75659         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
75660         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
75661         (re_acquire_state, re_acquire_state_context, register_state):
75662         (create_ci_newstate, create_cd_newstate, free_state):
75663         Likewise.
75664         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
75665         re_search_2):
75666         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
75667         (re_search_internal, prune_impossible_nodes):
75668         (acquire_init_state_context, check_matching, static):
75669         (check_halt_node_context, check_halt_state_context, proceed_next_node):
75670         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
75671         (update_regs, sift_states_backward, build_sifted_states):
75672         (clean_state_log_if_needed, merge_state_array):
75673         (update_cur_sifted_state, add_epsilon_src_nodes):
75674         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
75675         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
75676         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
75677         (find_recover_state, check_subexp_matching_top, transit_state_mb):
75678         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
75679         (check_arrival, check_arrival_add_next_nodes):
75680         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
75681         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
75682         (check_node_accept_bytes, check_node_accept, extend_buffers):
75683         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
75684         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
75685         (sift_ctx_init):
75686         Likewise.
75687
75688         * lib/regex_internal.h:
75689         (re_string_allocate, re_string_construct, re_string_reconstruct):
75690         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
75691         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
75692         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
75693         (re_string_context_at, re_string_peek_byte_case):
75694         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
75695         is defined, since we now use prototypes always.
75696
75697         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
75698         C89 or better.  All uses removed.
75699
75700 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75701
75702         * config/srclist.txt: Add glibc bugs 1220-1227.
75703
75704 2005-08-20  Jim Meyering  <jim@meyering.net>
75705
75706         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
75707         of unused local, dfa.
75708
75709 2005-08-20  Bruno Haible  <bruno@clisp.org>
75710
75711         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
75712
75713 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
75714
75715         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
75716         (re_node_set_insert_last, re_dfa_add_node):
75717         Rename local variables to avoid GCC shadowing warnings.
75718
75719 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
75720
75721         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
75722         [defined lint]: Suppress bogus uninitialized-variable warnings.
75723
75724         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
75725         and let the caller return REG_ESPACE if out of space.  This
75726         removes an uninitialied-variable warning with GCC 4.0.1, and also
75727         avoids taking the address of a local variable.  All callers
75728         changed.
75729
75730 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
75731
75732         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
75733         $LIBCSRC/posix/regexec.c.
75734         Add glibc bug 1217 for regcomp.c.
75735
75736 2005-08-19  Jim Meyering  <jim@meyering.net>
75737
75738         * lib/regexec.c (proceed_next_node): Redo local variables to
75739         avoid GCC shadowing warnings.
75740
75741 2005-08-18  Bruno Haible  <bruno@clisp.org>
75742
75743         * lib/strstr.c (strstr): Fix return value in multibyte case.
75744         * lib/strcasestr.c (strcasestr): Likewise.
75745
75746 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
75747
75748         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
75749
75750 2005-08-17  Jim Meyering  <jim@meyering.net>
75751
75752         Make the %s format (seconds since the epoch) work for a negative
75753         number and when used with a zero-padded field width, e.g. %015s.
75754
75755         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
75756         label so that it precedes the code to set `digits'.  Otherwise,
75757         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
75758         print `00-22'.  Now, it prints `-0022', as it should.
75759
75760 2005-08-17  Bruno Haible  <bruno@clisp.org>
75761
75762         * modules/strstr (Files): Add m4/mbrtowc.m4.
75763         (Depends-on): Add mbuiter.
75764
75765 2005-08-17  Bruno Haible  <bruno@clisp.org>
75766
75767         * modules/strcasestr: New file.
75768         * MODULES.html.sh (String handling, based on ANSI C 89): Add
75769         strcasestr.
75770
75771 2005-08-17  Bruno Haible  <bruno@clisp.org>
75772
75773         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
75774
75775 2005-08-17  Bruno Haible  <bruno@clisp.org>
75776
75777         * modules/mbuiter: New file.
75778         * MODULES.html.sh (Extended multibyte and wide character utilities):
75779         Add mbuiter.
75780
75781 2005-08-17  Bruno Haible  <bruno@clisp.org>
75782
75783         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
75784         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
75785
75786 2005-08-17  Bruno Haible  <bruno@clisp.org>
75787
75788         * m4/strcasestr.m4: New file.
75789
75790 2005-08-17  Bruno Haible  <bruno@clisp.org>
75791
75792         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
75793         * lib/strstr.c: Completely rewritten, with multibyte locale support.
75794
75795 2005-08-17  Bruno Haible  <bruno@clisp.org>
75796
75797         * lib/strcasestr.h: New file.
75798         * lib/strcasestr.c: New file.
75799
75800 2005-08-17  Bruno Haible  <bruno@clisp.org>
75801
75802         * lib/strcasecmp.c: Use mbuiter.h.
75803
75804 2005-08-17  Bruno Haible  <bruno@clisp.org>
75805
75806         * lib/mbuiter.h: New file.
75807
75808 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
75809
75810         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
75811         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
75812         and gl_GETOPT are both invoked via different paths (as happens
75813         with GNU tar CVS because it uses both argp and getopt), the former
75814         wins.
75815
75816 2005-08-16  Bruno Haible  <bruno@clisp.org>
75817
75818         * modules/tls: New file.
75819         * MODULES.html.sh (Multithreading): Add tls.
75820
75821 2005-08-16  Bruno Haible  <bruno@clisp.org>
75822
75823         * modules/strnlen1: New file.
75824         * MODULES.html.sh (String handling): Add strnlen1.
75825
75826 2005-08-16  Bruno Haible  <bruno@clisp.org>
75827
75828         * modules/strcase (Files): Add m4/mbrtowc.m4.
75829         (Depends-on): Add strnlen1, mbchar.
75830
75831 2005-08-16  Bruno Haible  <bruno@clisp.org>
75832
75833         * modules/mbiter: New file.
75834         * MODULES.html.sh (Extended multibyte and wide character utilities):
75835         Add mbiter.
75836
75837 2005-08-16  Bruno Haible  <bruno@clisp.org>
75838
75839         * modules/mbfile: New file.
75840         * MODULES.html.sh (Extended multibyte and wide character utilities):
75841         Add mbfile.
75842
75843 2005-08-16  Bruno Haible  <bruno@clisp.org>
75844
75845         * modules/mbchar: New file.
75846         * MODULES.html.sh (Extended multibyte and wide character utilities):
75847         New section.
75848
75849 2005-08-16  Bruno Haible  <bruno@clisp.org>
75850
75851         * m4/tls.m4: New file, from GNU gettext.
75852
75853 2005-08-16  Bruno Haible  <bruno@clisp.org>
75854
75855         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
75856         always.
75857         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
75858
75859 2005-08-16  Bruno Haible  <bruno@clisp.org>
75860
75861         * m4/mbiter.m4: New file.
75862
75863 2005-08-16  Bruno Haible  <bruno@clisp.org>
75864
75865         * m4/mbfile.m4: New file.
75866
75867 2005-08-16  Bruno Haible  <bruno@clisp.org>
75868
75869         * m4/mbchar.m4: New file.
75870
75871 2005-08-16  Bruno Haible  <bruno@clisp.org>
75872
75873         * lib/tls.h: New file, from GNU gettext.
75874         * lib/tls.c: New file, from GNU gettext.
75875
75876 2005-08-16  Bruno Haible  <bruno@clisp.org>
75877
75878         * lib/strnlen1.h: New file.
75879         * lib/strnlen1.c: New file.
75880
75881 2005-08-16  Bruno Haible  <bruno@clisp.org>
75882
75883         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
75884         (mbi_init): Update.
75885         (mbi_avail, mbi_advance): Let the iteration end before the terminating
75886         NUL byte, not after it.
75887
75888 2005-08-16  Bruno Haible  <bruno@clisp.org>
75889
75890         * lib/strcase.h (strcasecmp): Add note in comments.
75891         * lib/strncasecmp.c: Use code from strcasecmp.c.
75892         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
75893         (strcasecmp): Work correctly in multibyte locales.
75894
75895 2005-08-16  Bruno Haible  <bruno@clisp.org>
75896
75897         * lib/mbiter.h: New file.
75898
75899 2005-08-16  Bruno Haible  <bruno@clisp.org>
75900
75901         * lib/mbfile.h: New file.
75902
75903 2005-08-16  Bruno Haible  <bruno@clisp.org>
75904
75905         * lib/mbchar.h: New file.
75906         * lib/mbchar.c: New file.
75907
75908 2005-08-16  Bruno Haible  <bruno@clisp.org>
75909
75910         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
75911         the valid ones. Makes the comparison operations transitive:
75912         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
75913         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
75914
75915 2005-08-15  Simon Josefsson  <jas@extundo.com>
75916
75917         * modules/ssize_t (License): Change to 'unlimited'.
75918
75919         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
75920
75921 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
75922
75923         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
75924         Add comments for each pending glibc patch.
75925
75926 2005-08-15  Bruno Haible  <bruno@clisp.org>
75927
75928         * lib/regex.h (__restrict_arr): Don't define to __restrict if
75929         __cplusplus is defined.
75930
75931 2005-08-14  Jim Meyering  <jim@meyering.net>
75932
75933         Sync from coreutils.
75934
75935         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
75936         Use the hash-table-based cycle-detection code not just when
75937         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
75938         Reported by James Youngman in
75939         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
75940         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
75941         FTS_TIGHT_CYCLE_CHECK.
75942         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
75943         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
75944         once again.
75945         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
75946         * lib/fts.c (fd_safer): Remove decl.
75947         Include fcntl--.h rather than unistd-safer.h
75948         (fts_safe_changedir): Don't call fd_safer; no longer needed
75949         now that we include fcntl--.h.
75950
75951 2005-08-12  Simon Josefsson  <jas@extundo.com>
75952
75953         * modules/getndelim2: Use ssize_t module.
75954         * modules/getnline: Likewise.
75955         * modules/safe-read: Likewise.
75956         * modules/xreadlink: Likewise.
75957
75958         * modules/ssize_t: New file.
75959
75960 2005-08-12  Simon Josefsson  <jas@extundo.com>
75961
75962         * m4/readline.m4: Look for termcap, curses or ncurses if required.
75963
75964 2005-08-12  Simon Josefsson  <jas@extundo.com>
75965
75966         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
75967         ssize_t.
75968
75969 2005-08-12  Simon Josefsson  <jas@extundo.com>
75970
75971         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
75972         readline, getdelim and check_version.
75973         (Support for systems lacking ISO C 99: Sizes of integer types):
75974         Add size_max.
75975
75976 2005-08-12  Bruno Haible  <bruno@clisp.org>
75977
75978         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
75979
75980 2005-08-11  Simon Josefsson  <jas@extundo.com>
75981
75982         * modules/readline: New file.
75983
75984         * modules/strnlen (Files): Add strnlen.h.
75985
75986 2005-08-11  Simon Josefsson  <jas@extundo.com>
75987
75988         * m4/readline.m4: New file.
75989
75990 2005-08-11  Simon Josefsson  <jas@extundo.com>
75991
75992         * lib/readline.h, readline.c: New file.
75993
75994 2005-08-11  Simon Josefsson  <jas@extundo.com>
75995
75996         * doc/gnulib.texi (Initial import, Finishing touches): Mention
75997         gl_AVOID.
75998
75999 2005-08-11  Bruno Haible  <bruno@clisp.org>
76000
76001         * lib/strnlen.h (strnlen): Change parameter name to match comment.
76002
76003 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
76004
76005         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
76006
76007 2005-08-10  Simon Josefsson  <jas@extundo.com>
76008
76009         * tests/test-iconvme.c: New file.
76010
76011 2005-08-10  Simon Josefsson  <jas@extundo.com>
76012
76013         * m4/strnlen.m4: New file.
76014
76015         * m4/strndup.m4: Don't check for strnlen declaration, done in
76016         strnlen.m4.
76017
76018 2005-08-10  Simon Josefsson  <jas@extundo.com>
76019
76020         * lib/strndup.c: Use strnlen.h.
76021
76022         * lib/strnlen.h: New file.
76023
76024 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
76025
76026         * README: Typos.
76027
76028 2005-08-02  Simon Josefsson  <jas@extundo.com>
76029
76030         * modules/readline: New file.
76031
76032 2005-08-02  Simon Josefsson  <jas@extundo.com>
76033
76034         * modules/getdelim: New file.
76035
76036         * modules/getline: Rewrite, don't use getndelim2.
76037
76038 2005-08-02  Simon Josefsson  <jas@extundo.com>
76039
76040         * m4/getline.m4: Separate out getdelim stuff into separate module.
76041
76042         * m4/getdelim.m4: New file.
76043
76044 2005-08-02  Simon Josefsson  <jas@extundo.com>
76045
76046         * lib/getline.h, getline.c: Rewrite.
76047
76048         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
76049
76050 2005-07-31  Bruno Haible  <bruno@clisp.org>
76051
76052         * lib/lock.h (gl_lock_initializer): New macro.
76053         (gl_lock_define_initialized): Use it.
76054         (gl_rwlock_initializer): New macro.
76055         (gl_rwlock_define_initialized): Use it.
76056         (gl_recursive_lock_initializer): New macro.
76057         (gl_recursive_lock_define_initialized): Use it.
76058
76059 2005-07-30  Karl Berry  <karl@gnu.org>
76060
76061         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
76062         Report from Ben Pfaff, regarding getopt.
76063
76064 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
76065
76066         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
76067         normal way.
76068         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
76069         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
76070         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
76071         (gl_GETOPT): Use the new macros.  Most of the implementation
76072         is moved to the new macros.  This is for programs like Emacs
76073         that don't want all the functionality of gl_GETOPT.
76074
76075 2005-07-26  Bruno Haible  <bruno@clisp.org>
76076
76077         * m4/lock.m4: Update from GNU gettext.
76078
76079 2005-07-26  Bruno Haible  <bruno@clisp.org>
76080
76081         * lib/lock.h: Update from GNU gettext.
76082         * lib/lock.c: Update from GNU gettext.
76083
76084 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
76085
76086         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
76087         obsolescent AC_TRY_RUN.  Include the default includes files, for
76088         'exit'.
76089
76090 2005-07-24  Bruno Haible  <bruno@clisp.org>
76091
76092         * modules/visibility: New file.
76093         * MODULES.html.sh (Misc): Add visibility.
76094
76095 2005-07-24  Bruno Haible  <bruno@clisp.org>
76096
76097         * m4/visibility.m4: New file.
76098
76099 2005-07-24  Bruno Haible  <bruno@clisp.org>
76100
76101         * doc/visibility.texi: New file.
76102
76103 2005-07-22  Bruno Haible  <bruno@clisp.org>
76104
76105         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
76106         $(ALLOCA_H), redundant through BUILT_SOURCES.
76107         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
76108         redundant through BUILT_SOURCES.
76109         * modules/byteswap (Makefile.am): Remove explicit dependency on
76110         $(BYTESWAP_H), redundant through BUILT_SOURCES.
76111         * modules/fnmatch (Makefile.am): Remove explicit dependency on
76112         $(FNMATCH_H), redundant through BUILT_SOURCES.
76113         * modules/getopt (Makefile.am): Remove explicit dependency on
76114         $(GETOPT_H), redundant through BUILT_SOURCES.
76115         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
76116         redundant through BUILT_SOURCES.
76117         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
76118         redundant through BUILT_SOURCES.
76119         * modules/stdbool (Makefile.am): Remove explicit dependency on
76120         $(STDBOOL_H), redundant through BUILT_SOURCES.
76121         * modules/stdint (Makefile.am): Remove explicit dependency on
76122         $(STDINT_H), redundant through BUILT_SOURCES.
76123         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
76124         Remove explicit dependency on $(SYSEXITS_H).
76125         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
76126
76127 2005-07-18  Simon Josefsson  <jas@extundo.com>
76128
76129         * lib/check-version.c (check_version): Accept identical versions too.
76130
76131 2005-07-18  Bruno Haible  <bruno@clisp.org>
76132
76133         * modules/lock: New file.
76134         * MODULES.html.sh (Multithreading): New section.
76135
76136 2005-07-18  Bruno Haible  <bruno@clisp.org>
76137
76138         * m4/lock.m4: New file, from GNU gettext.
76139
76140 2005-07-18  Bruno Haible  <bruno@clisp.org>
76141
76142         * lib/lock.h: New file, from GNU gettext.
76143         * lib/lock.c: New file, from GNU gettext.
76144
76145 2005-07-18  Bruno Haible  <bruno@clisp.org>
76146
76147         * lib/lock.h (gl_once_t): New type.
76148         (gl_once_define, gl_once): New macros.
76149         * lib/lock.c (fresh_once): New variable.
76150         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
76151         functions.
76152
76153 2005-07-16  Simon Josefsson  <jas@extundo.com>
76154
76155         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
76156         workaround, suggested by Bruno.
76157
76158 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
76159
76160         * modules/xalloc (Depends-on): Add xalloc-die.
76161         * modules/xvasprintf (Depends-on): Add xalloc-die.
76162
76163 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
76164
76165         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
76166         with a minor change.
76167
76168 2005-07-15  Bruno Haible  <bruno@clisp.org>
76169
76170         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
76171         When using lib/poll.c, define poll as rpl_poll.
76172
76173 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
76174
76175         * modules/argp (Depends-on): Remove unlocked-io.
76176
76177 2005-07-14  Derek Price  <derek@ximbiot.com>
76178
76179         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
76180         for glob symlink bug.
76181
76182 2005-07-14  Bruno Haible  <bruno@clisp.org>
76183
76184         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
76185         Instead, test for *_unlocked function declarations directly.
76186
76187 2005-07-11  Simon Josefsson  <jas@extundo.com>
76188
76189         * modules/size_max: New file.
76190
76191         * modules/xsize: Depend on size_max module for size_max.m4.
76192
76193 2005-07-11  Simon Josefsson  <jas@extundo.com>
76194
76195         * lib/size_max.h: New file.
76196
76197 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
76198
76199         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
76200         copyright symbol and the year.
76201         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
76202         (version_etc_va): Use parameterized copyright notice.
76203         Reword to conform to the current GNU coding standards.
76204
76205 2005-07-11  Karl Berry  <karl@gnu.org>
76206
76207         * doc/gnulib.texi (Quoting): new node.
76208         (Initial import): more info, from Patrice.
76209
76210 2005-07-11  Bruno Haible  <bruno@clisp.org>
76211
76212         * gnulib-tool (func_usage): Document option --avoid.
76213         (Command line options): Handle --avoid.
76214         (func_acceptable): New function.
76215         (func_modules_transitive_closure): Use it.
76216
76217 2005-07-11  Bruno Haible  <bruno@clisp.org>
76218
76219         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
76220         Reported by Jim Meyering.
76221
76222 2005-07-10  Bruno Haible  <bruno@clisp.org>
76223
76224         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
76225         Needed when size_t is smaller than 'unsigned int'.
76226         Reported by Paul Eggert.
76227
76228 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
76229
76230         * modules/argp (Depends-on): Add unlocked-io
76231
76232 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
76233
76234         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
76235         block of defines.
76236
76237 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
76238
76239         * config/srclist.txt: Comment out regcomp.c, since we have a porting
76240         fix now.
76241
76242 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
76243         and Paul Eggert  <eggert@cs.ucla.edu>
76244
76245         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
76246         in wint_t, not wchar_t.  Remove now-unnecessary cast.
76247
76248 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
76249
76250         * modules/regex (Files): Add lib/regex_internal.c,
76251         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
76252         (Depends-on): Add extensions.
76253         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
76254
76255 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
76256
76257         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
76258         pathconf.
76259         * m4/same.m4 (gl_SAME): Likewise.
76260         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
76261
76262         * m4/regex.m4: Adjust to new libc regex implementation.
76263         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
76264         all the .c and .h parts of (the new) regex.
76265         Quote the m4 stuff better.
76266         Check for RE_ICASE bug of old gnulib.
76267         Check for REG_STARTEND of recent libc.
76268         Rename local variables from jm_* to gl_*.
76269         Quote operand of "test -f".
76270         Say "recent enough" version of libc, not "version 2".
76271         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
76272         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
76273         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
76274         Remove check for btowc, isascii.
76275         Require AM_LANGINFO_CODESET.
76276
76277 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
76278
76279         * lib/regex.c, regex.h: Sync from libc.
76280         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
76281         * lib/regexec.c:
76282         New files, synced from libc, except that regex_internal.h
76283         currently has a small porting fix.
76284
76285 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
76286
76287         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
76288         regex_internal.c, regexec.c.
76289         Add regex_internal.h too, but as a comment, since the libc version
76290         is currently broken in gnulib mode.
76291
76292 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
76293
76294         Support programs like Emacs that use gnulib but not gettext.
76295         * MODULES.html.sh (Internationalization functions): Add gettext-h.
76296         * modules/gettext-h: New file.
76297         * modules/gettext (Files): Remove lib/gettext.h.
76298         (Depends-on): Add gettext-h.
76299         (Makefile.am): Remove lib_SOURCES.
76300         * modules/argmatch, modules/c-stack, modules/closeout:
76301         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
76302         * modules/execute, modules/file-type, modules/getaddrinfo:
76303         * modules/getopt, modules/human, modules/javacomp:
76304         * modules/javaexec, modules/mkdir-p, modules/obstack:
76305         * modules/openat, modules/pagealign_alloc, modules/pipe:
76306         * modules/quotearg, modules/regex, modules/rpmatch:
76307         * modules/unicodeio, modules/userspec, modules/version-etc:
76308         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
76309         * modules/xsetenv:
76310         Depend on gettext-h, not gettext.
76311
76312 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
76313
76314         * gnulib-tool (func_import): Add support for 'public domain' license.
76315         * modules/alloca, modules/atexit, modules/memmove:
76316         Now public domain, not GPL.
76317         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
76318         * modules/realloc, modules/strerror, modules/strtod:
76319         Now LGPL, not GPL.
76320
76321 2005-07-05  Bruno Haible  <bruno@clisp.org>
76322
76323         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
76324         autoconf CVS. Needed for mingw.
76325
76326 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
76327
76328         Remove the dependency of the strftime module on the tzset module.
76329         * modules/strftime (Depends-on): Remove dependency on tzset.
76330
76331 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
76332
76333         Remove the dependency of the strftime module on the tzset module.
76334         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
76335         gl_FUNC_TZSET_CLOBBER.
76336
76337 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
76338
76339         Remove the dependency of the strftime module on the tzset module.
76340         * lib/strftime.c (my_strftime)
76341         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
76342         Copy the input structure, to work around some of the bug with
76343         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
76344         Solaris releases, you should also use the tzset module, but we won't
76345         require it as a dependency any more since we don't want LGPLed code
76346         to depend on GPLed code.
76347
76348 2005-07-02  Jim Meyering  <jim@meyering.net>
76349
76350         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
76351         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
76352         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
76353         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
76354
76355 2005-07-02  Jim Meyering  <jim@meyering.net>
76356
76357         * lib/backupfile.c (backup_args): Change a `0' to NULL.
76358
76359 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
76360
76361         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
76362         declares only 'struct timespec;' (!).
76363
76364 2005-07-01  Jim Meyering  <jim@meyering.net>
76365
76366         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
76367         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
76368         * lib/save-cwd.c, tempname.c:
76369         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
76370         and don't include <sys/file.h>).
76371
76372 2005-06-29  Jim Meyering  <jim@meyering.net>
76373
76374         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
76375         type name.  Use the variable name instead.
76376         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
76377         Likewise.
76378
76379 2005-06-28  Simon Josefsson  <jas@extundo.com>
76380
76381         * modules/check-version (Files): Add check-version.m4.
76382
76383 2005-06-28  Simon Josefsson  <jas@extundo.com>
76384
76385         * m4/check-version.m4: New file, suggested by Jim Meyering
76386         <jim@meyering.net>.
76387
76388 2005-06-28  Simon Josefsson  <jas@extundo.com>
76389
76390         * lib/check-version.h, lib/check-version.c: New files.
76391
76392 2005-06-28  Simon Josefsson  <jas@extundo.com>
76393
76394         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
76395         collision with global variable.  Better indentation.  Don't
76396         increment buffer pointer beyond buffer end.  Based on comments
76397         from Paul Eggert <eggert@cs.ucla.edu>.
76398
76399         * lib/base64.h: Indent.
76400
76401 2005-06-28  Simon Josefsson  <jas@extundo.com>
76402
76403         * doc/gnulib.texi (Library version handling): New section.
76404
76405 2005-06-28  Jim Meyering  <jim@meyering.net>
76406
76407         * check-module (find_included_lib_files): Hard-code another
76408         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
76409         but modules/fts-lgpl (correctly) does not list those files.
76410
76411         * modules/canonicalize (Files): Add lib/pathmax.h.
76412
76413 2005-06-25  Simon Josefsson  <jas@extundo.com>
76414
76415         * modules/check-version: New file.
76416
76417 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
76418
76419         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
76420         initializer of struct addrinfo, as an indication that we don't
76421         care how many members the structure has.
76422
76423 2005-06-24  Derek Price  <derek@ximbiot.com>
76424         and Bruno Haible  <bruno@clisp.org>
76425
76426         Remove stat module & update lstat.
76427         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
76428         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
76429         * m4/stat.m4: Remove this file.
76430
76431 2005-06-24  Derek Price  <derek@ximbiot.com>
76432         and Bruno Haible  <bruno@clisp.org>
76433
76434         Remove stat module & update lstat.
76435         * lib/stat.c: Remove this file...
76436         (slash_aware_lstat): ...moving this content and its support...
76437         * lib/lstat.c (rpl_lstat): ...into here.
76438         * lib/lstat.h: New file.
76439
76440 2005-06-24  Derek Price  <derek@ximbiot.com>
76441         and Bruno Haible  <bruno@clisp.org>
76442
76443         Remove stat module & update lstat.
76444         * config/srclist.txt (libc sources): Remove stat.
76445
76446 2005-06-24  Derek Price  <derek@ximbiot.com>
76447         and Bruno Haible  <bruno@clisp.org>
76448
76449         Remove stat module & update lstat.
76450         * MODULES.html.sh (stat): Remove.
76451         * MODULES.html: Regenerated.
76452         * modules/lstat (Description): Correct function name.
76453         (Files): Add "lstat.h".
76454         (Depends-on): Remove stat, add xalloc, stat-macros.
76455         * modules/stat: Remove this file.
76456         (Include): Add "lstat.h", remove <sys/stat.h>.
76457
76458 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
76459
76460         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
76461         (ranged_convert): Don't save conversion in a temporary struct.
76462         This causes a warning with GCC 4.0.0, and anyway in the typical
76463         case it's not worth the extra 100 bytes or so of code.
76464         (ranged_convert, __mktime_internal): When calling a function via a
76465         pointer P, use P () rather than (*P) (), as we now assume C89 or
76466         better.
76467
76468 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
76469
76470         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
76471         "who -r" failed to give output.  Problem reported by Tim Waugh.
76472
76473         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
76474         (xcalloc): Use it to avoid needless tests.
76475         Problem reported by Jim Meyering.
76476
76477 2005-06-20  Derek Price  <derek@ximbiot.com>
76478
76479         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
76480         unnecessary for Autoconfs > 2.59c.
76481
76482 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
76483
76484         * lib/argp.h (__option_is_short): Check upper limit of
76485         __key. Isprint() requires its argument to have the value
76486         of an unsigned char or EOF.
76487
76488 2005-06-16  Jim Meyering  <jim@meyering.net>
76489
76490         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
76491         when either N or S is zero.
76492
76493 2005-06-16  Derek Price  <derek@ximbiot.com>
76494
76495         * m4/bison.m4: Declare YACC & YFLAGS precious.
76496
76497 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
76498
76499         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
76500         multibyte string or pattern, fall back on unibyte matching.
76501         Problem reported by James Youngman.
76502
76503 2005-06-08  Bruno Haible  <bruno@clisp.org>
76504
76505         * modules/csharpcomp: New file.
76506         * MODULES.html.sh (C#): Add csharpcomp.
76507
76508 2005-06-08  Bruno Haible  <bruno@clisp.org>
76509
76510         * m4/csharpcomp.m4: New file, from GNU gettext.
76511
76512 2005-06-08  Bruno Haible  <bruno@clisp.org>
76513
76514         * lib/csharpcomp.h: New file, from GNU gettext.
76515         * lib/csharpcomp.c: New file, from GNU gettext.
76516         * lib/csharpcomp.sh.in: New file, from GNU gettext.
76517
76518 2005-06-08  Bruno Haible  <bruno@clisp.org>
76519
76520         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
76521         warning on mingw.
76522
76523 2005-06-07  Derek Price  <derek@ximbiot.com>
76524
76525         Sync from CVS.
76526         * lib/glob_.h: Indent nested #ifdef.
76527
76528 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
76529
76530         Sync from coreutils.
76531         Use "file name" when talking about file names, instead of "filename"
76532         or "path", as per the GNU coding standards.
76533         * lib/mkdir-p.c: Renamed from makepath.c.
76534         (make_dir_parents): Renamed from make_path.  All callers changed.
76535         * lib/mkdir-p.h: Likewise.  All includers changed.
76536         * lib/filenamecat.c: Renamed from path-concat.c.
76537         (file_name_concat): Renamed from path_concat.  All callers changed.
76538         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
76539         * lib/filenamecat.h: Likewise.  All includers changed.
76540         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
76541         in comments or local variable names.
76542         * lib/basename.c: Likewise.
76543         * lib/canonicalize.c, canonicalize.h: Likewise.
76544         * lib/dirname.c, dirname.h: Likewise.
76545         * lib/euidaccess.c: Likewise.
76546         * lib/exclude.c: Likewise
76547         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
76548         * lib/fsusage.c, fsuage.h: Likewise.
76549         * lib/fts.c, fts_.h: Likewise.
76550         * lib/getcwd.c: Likewise.
76551         * lib/getloadavg.c: Likewise.
76552         * lib/mkstemp.c: Likewise.
76553         * lib/mountlist.c, mountlist.h: Likewise.
76554         * lib/openat.c, openat.h: Likewise.
76555         * lib/readlink-stub.c: Likewise.
76556         * lib/readutmp.c, readutmp.h: Likewise.
76557         * lib/rename.c: Likewise.
76558         * lib/rmdir.c: Likewise.
76559         * lib/same.c: Likewise.
76560         * lib/savedir.c: Likewise.
76561         * lib/stripslash.c: Likewise.
76562         * lib/tempname.c: Likewise.
76563         * lib/xreadlink.c: Likewise.
76564         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
76565         All uses changed.
76566         * lib/exclude.h: Likewise.
76567
76568         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
76569         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
76570         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
76571         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
76572         * lib/pathmax.h: Include <limits.h> unconditionally, since other
76573         files have been getting away with it for years (MORE/BSD 4.3
76574         is extinct now).
76575         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
76576         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
76577
76578         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
76579         Define to 256, not 255, as per modern POSIX.
76580
76581 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
76582
76583         Sync from coreutils.
76584         Use "file name" when talking about file names, instead of "filename"
76585         or "path", as per the GNU coding standards.
76586         * MODULES.html.sh: mkdir-p renamed from makepath.
76587         filenamecat renamed from path-concat.
76588         * modules/filenamecat: Renamed from modules/path-concat.
76589         (Files): filenamecat.h and filenamecat.c renamed from
76590         path-concat.h and path-concat.c.
76591         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
76592         (Include): filenamecat.h, not path-concat.h.
76593         * modules/mkdir-p: Renamed from modules/makepath.
76594         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
76595         makepath.c.
76596         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
76597         (Include): mkdir-p.h, not makepath.h.
76598
76599 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
76600
76601         Sync from coreutils.
76602         * m4/mkdir-p.m4: Renamed from makepath.m4.
76603         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
76604         Rename files from makepath.c to mkdir-p.c, and from
76605         makepath.h to mkdir-p.h.
76606         * m4/filenamecat.m4: Renamed from path-concat.m4.
76607         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
76608         Rename files from path-concat.c to filenamecat.c,
76609         and from path-concat.h to filenamecat.h.
76610         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
76611         "file name" in local variables or comments.
76612         * m4/rename.m4: Likewise.
76613
76614 2005-06-01  Bruno Haible  <bruno@clisp.org>
76615
76616         * modules/csharpexec: New file.
76617         * MODULES.html.sh (C#): New section.
76618
76619 2005-06-01  Bruno Haible  <bruno@clisp.org>
76620
76621         * m4/csharp.m4: New file, from GNU gettext.
76622         * m4/csharpexec.m4: New file, from GNU gettext.
76623
76624 2005-06-01  Bruno Haible  <bruno@clisp.org>
76625
76626         * lib/csharpexec.h: New file, from GNU gettext.
76627         * lib/csharpexec.c: New file, from GNU gettext.
76628         * lib/csharpexec.sh.in: New file, from GNU gettext.
76629
76630 2005-05-31  Derek Price  <derek@ximbiot.com>
76631             Paul Eggert  <eggert@cs.ucla.edu>
76632
76633         Sync from cvs.
76634         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
76635
76636 2005-05-31  Derek Price  <derek@ximbiot.com>
76637             Paul Eggert  <eggert@cs.ucla.edu>
76638
76639         Sync from cvs.
76640         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
76641
76642 2005-05-29  Derek Price  <derek@ximbiot.com>
76643
76644         * config/srclist.txt (glob_.h, glob.c): Add these files.
76645
76646 2005-05-29  Derek Price  <derek@ximbiot.com>
76647
76648         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
76649         * modules/glob: New file.
76650         * modules/getlogin_r: Add link to POSIX spec in description.
76651
76652 2005-05-29  Derek Price  <derek@ximbiot.com>
76653             Paul Eggert  <eggert@cs.ucla.edu>
76654
76655         * m4/glob.m4: New file.
76656
76657 2005-05-29  Derek Price  <derek@ximbiot.com>
76658             Paul Eggert  <eggert@cs.ucla.edu>
76659
76660         * lib/glob_.h, lib/glob.c: New files.
76661
76662 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
76663
76664         * modules/fts (Files): Remove m4/inttypes-pri.m4.
76665         * modules/fts-lgpl (Depends-on): Remove gettext.
76666
76667 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
76668
76669         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
76670         and don't require gt_INTTYPES_PRI.
76671
76672 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
76673
76674         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
76675
76676         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
76677         the configuration hassle isn't worth it.
76678         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
76679         (LONGEST_MODIFIER, PRIuMAX): Remove.
76680
76681 2005-05-27  Bruno Haible  <bruno@clisp.org>
76682
76683         * lib/getlogin_r.h: Remove second include of <stddef.h>.
76684
76685 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
76686
76687         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
76688         _POSIX_PTHREAD_SEMANTICS for Solaris.
76689
76690 2005-05-25  Derek Price  <derek@ximbiot.com>
76691
76692         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
76693
76694 2005-05-25  Derek Price  <derek@ximbiot.com>
76695             Paul Eggert  <eggert@cs.ucla.edu>
76696
76697         * modules/getlogin_r, m4/getlogin_r.m4: New files.
76698         * lib/getlogin_r.c, getlogin_r.h: New files.
76699
76700 2005-05-25  Bruno Haible  <bruno@clisp.org>
76701             Derek Price  <derek@ximbiot.com>
76702
76703         * lib/getlogin_r.h: Simplify API documentation.
76704
76705 2005-05-23  Derek Price  <derek@ximbiot.com>
76706
76707         * modules/minmax (Files): Add m4/minmax.m4.
76708         (configure.ac): Add gl_MINMAX.
76709
76710 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
76711
76712         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
76713         so that unistd-safer.h (GPL'ed code) need not be included.
76714
76715 2005-05-22  Bruno Haible  <bruno@clisp.org>
76716
76717         * m4/minmax.m4: New file.
76718         Based on a patch by Derek Price <derek@ximbiot.com>.
76719
76720 2005-05-22  Bruno Haible  <bruno@clisp.org>
76721
76722         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
76723         (INT64_MIN): Fix definition.
76724         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
76725
76726         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
76727         NEED_SIGNED_INT_TYPES.
76728
76729         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
76730         HAVE_SYSTEM_INTTYPES.
76731
76732 2005-05-22  Bruno Haible  <bruno@clisp.org>
76733
76734         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
76735         Also include <sys/param.h> if it defines MIN, MAX.
76736         Based on a patch by Derek Price <derek@ximbiot.com>.
76737
76738 2005-05-21  Jim Meyering  <jim@meyering.net>
76739
76740         * modules/fts (Files): Add m4/inttypes-pri.m4.
76741         (Depends-on): Add lstat and remove gettext.  Alphabetize.
76742
76743 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
76744
76745         New fts module.
76746         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
76747         (setup_dir, free_dir): New functions.
76748         (enter_dir, leave_dir): Define trivial
76749         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
76750         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
76751         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
76752         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
76753         Move to fts-cycle.c.
76754         (fts_open): Use setup_dir.
76755         (fts_close): Use free_dir.
76756         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
76757         This adds a label and some gotos, but the alternatives were messier.
76758         Check for memory allocation failure when entering a dir.
76759         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
76760         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
76761         (FTS): New member fts_cycle, that is a union that contains the
76762         old active_dir_ht and cycle_state.  All uses changed to mention
76763         fts_cycle.ht and fts_cycle.state.
76764         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
76765         fts.c, with the following changes:
76766         (setup_dir, free_dir): New functions.
76767         (enter_dir): Now returns bool.  Return true if successful, false
76768         if memory exhausted.  All callers changed.
76769         Do not bother partly cleaning up on
76770         memory allocation failure; that is free_dir's job.
76771         However, free ad if hash_insert fails, to avoid memory leak.
76772         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
76773         fts->fts_options to see which union member to use.
76774
76775 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
76776
76777         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
76778         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
76779
76780 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
76781
76782         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
76783
76784 2005-05-20  Jim Meyering  <jim@meyering.net>
76785
76786         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
76787         Now a macro, to pacify GCC.
76788
76789 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
76790
76791         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
76792         of -1.
76793
76794 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
76795
76796         * lib/chown.c (rpl_chown): Return -1 on failure.
76797
76798 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
76799
76800         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
76801         Don't check for stddef.h.
76802         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
76803         don't use its results.
76804         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
76805         since we include them unconditionally.  Don't require
76806         AM_STDBOOL_H, since stdbool is a prerequisite.
76807         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
76808         since we assume C89 or better.
76809         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
76810         as we don't use their results.
76811         Don't check for fchdir, memmove, memset, strrchr, as we use
76812         them unconditionally.
76813         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
76814         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
76815
76816 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
76817
76818         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
76819         Include <stddef.h> unconditionally, since we assume C89 now.
76820         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
76821         * lib/fts.c: Include fts_.h first, to check interface.
76822         Do not include intprops.h; no longer needed.
76823         Include cycle-check.h and hash.h, since fts_.h no longer does.
76824         Remove unnecessary casts of closedir to void.
76825         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
76826         decide whether to decrement nlinks.
76827         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
76828         (FTS): Use struct hash_table * instead of Hash_table, so that
76829         we no longer need to include hash.h here.
76830
76831 2005-05-18  Jim Meyering  <jim@meyering.net>
76832
76833         * modules/dirfd (License): Change to LGPL.  Most of the code
76834         is already in the public domain.
76835
76836 2005-05-18  Jim Meyering  <jim@meyering.net>
76837
76838         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
76839         Reported by Yoann Vandoorselaere.
76840
76841 2005-05-17  Jim Meyering  <jim@meyering.net>
76842
76843         * m4/fts.m4: New file, from coreutils.
76844
76845 2005-05-17  Jim Meyering  <jim@meyering.net>
76846
76847         * lib/fts.c, lib/fts_.h: New files, from coreutils.
76848
76849 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
76850
76851         Sync from coreutils.
76852         * m4/unlinkdir.m4: New file.
76853
76854 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
76855
76856         Sync from coreutils.
76857         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
76858         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
76859         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
76860         White space changes only.
76861         * lib/makepath.c (make_path): Port to hosts where leading "//" is
76862         special.
76863         * lib/yesno.c: Include getline.h, not ctype.h.
76864         (yesno): Don't remove leading white space; POSIX doesn't allow it.
76865         Use getline to remove arbitrary restriction on response length.
76866
76867 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
76868
76869         * config/srclist-update: Spell out "Street" in FSF postal
76870         mail address; this is the style the FSF seems to prefer.
76871
76872         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
76873         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
76874         this updates FSF postal mail address.
76875
76876         Sync from coreutils.
76877         * modules/unlinkdir: New file.
76878         * modules/yesno (Depends-on): Add getline.
76879         * MODULES.html.sh (File system functions): Add unlinkdir.
76880
76881 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
76882
76883         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
76884         lib/strsep.h:
76885         Change the initial comment to refer to GPL, not LGPL.
76886         gnulib-tool will change it to LGPL as needed.
76887
76888         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
76889         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
76890         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
76891         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
76892         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
76893         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
76894         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
76895         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
76896         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
76897         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
76898         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
76899         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
76900         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
76901         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
76902         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
76903         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
76904         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
76905         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
76906         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
76907         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
76908         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
76909         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
76910         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
76911         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
76912         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
76913         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
76914         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
76915         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
76916         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
76917         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
76918         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
76919         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
76920         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
76921         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
76922         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
76923         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
76924         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
76925         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
76926         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
76927         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
76928         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
76929         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
76930         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
76931         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
76932         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
76933         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
76934         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
76935         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
76936         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
76937         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
76938         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
76939         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
76940         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
76941         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
76942         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
76943         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
76944         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
76945         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
76946         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
76947         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
76948         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
76949         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
76950         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
76951         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
76952         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
76953         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
76954         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
76955         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
76956         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
76957         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
76958         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
76959         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
76960         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
76961         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
76962         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
76963         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
76964         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
76965         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
76966         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
76967         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
76968         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
76969         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
76970         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
76971         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
76972         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
76973         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
76974         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
76975         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
76976         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
76977         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
76978         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
76979         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
76980         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
76981         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
76982         lib/yesno.c, lib/yesno.h:
76983         Update FSF postal mail address.
76984
76985 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
76986
76987         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
76988         tests/test-memmem.c, tests/test-stpncpy.c:
76989         Update FSF postal mail address.
76990
76991 2005-05-13  Bruno Haible  <bruno@clisp.org>
76992
76993         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
76994         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
76995         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
76996         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
76997         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
76998         Add support for 64-bit integers in the MSVC compiler.
76999
77000 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77001
77002         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
77003
77004 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
77005
77006         * gnulib-tool (func_import): Sort and uniquify recommended includes.
77007
77008 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
77009
77010         * doc/getdate.texi (General date syntax): Don't say that date
77011         date --iso-8601=ns generates acceptable dates; it doesn't yet.
77012         Problem reported by Nic Ferrier.
77013
77014 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
77015
77016         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
77017         specified in ai_socktype. Fix invalid ai_protocol
77018         check. ai_protocol is usually set to 0 or depending on
77019         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
77020         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
77021         ai_socktype / ai_protocol in the returned addrinfo structure.
77022
77023 2005-05-10  Simon Josefsson  <jas@extundo.com>
77024
77025         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
77026         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
77027
77028 2005-05-10  Karl Berry  <karl@gnu.org>
77029
77030         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
77031         (from http://www.gnu.org/licenses).
77032         * doc/COPYING.LIB: also rename to COPYING.LESSER.
77033         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
77034         fdl.texi suffices.
77035
77036 2005-05-10  Karl Berry  <karl@gnu.org>
77037
77038         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
77039         (COPYING.DOC): remove.
77040
77041         * config/srclist-update: new FSF address.
77042
77043 2005-05-10  Derek Price  <derek@ximbiot.com>
77044
77045         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
77046         possible.
77047
77048 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
77049             Bruno Haible  <bruno@clisp.org>
77050
77051         * modules/inet_ntop: New file.
77052         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
77053         inet_ntop.
77054
77055 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
77056             Bruno Haible  <bruno@clisp.org>
77057
77058         * m4/inet_ntop.m4: New file.
77059
77060 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
77061             Bruno Haible  <bruno@clisp.org>
77062
77063         * lib/inet_ntop.h: New file.
77064         * lib/inet_ntop.c: New file, from glibc with modifications.
77065
77066 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
77067
77068         * modules/time_r (License): Change to LGPL.
77069         * modules/extensions (License): Change to LGPL.  Actually,
77070         the license is more permissive than that, but currently gnulib-tool
77071         doesn't know how to handle more-permissive licenses.
77072
77073         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
77074         Problem reported by Dave Love.
77075
77076 2005-05-08  Jim Meyering  <jim@meyering.net>
77077
77078         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
77079         blank.
77080
77081 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
77082
77083         * modules/argmatch (Depends-on): Add stdbool.
77084         * modules/backupfile (Depends-on): Likewise.
77085         * modules/chdir-long (Depends-on): Likewise.
77086         * modules/closeout (Depends-on): Likewise.
77087         * modules/cycle-check (Depends-on): Likewise.
77088         * modules/dirname (Depends-on): Likewise.
77089         * modules/fnmatch (Depends-on): Likewise.
77090         * modules/fsusage (Depends-on): Likewise.
77091         * modules/fwriteerror (Depends-on): Likewise.
77092         * modules/getcwd (Depends-on): Likewise.
77093         * modules/getloadavg (Depends-on): Likewise.
77094         * modules/hard-locale (Depends-on): Likewise.
77095         * modules/makepath (Depends-on): Likewise.
77096         * modules/mountlist (Depends-on): Likewise.
77097         * modules/nanosleep (Depends-on): Likewise.
77098         * modules/posixtm (Depends-on): Likewise.
77099         * modules/quotearg (Depends-on): Likewise.
77100         * modules/readtokens (Depends-on): Likewise.
77101         * modules/readtokens0 (Depends-on): Likewise.
77102         * modules/readutmp (Depends-on): Likewise.
77103         * modules/save-cwd (Depends-on): Likewise.
77104         * modules/strftime (Depends-on): Likewise.
77105         * modules/userspec (Depends-on): Likewise.
77106         * modules/utimecmp (Depends-on): Likewise.
77107         * modules/xgetcwd (Depends-on): Likewise.
77108         * modules/xnanosleep (Depends-on): Likewise.
77109         * modules/xstrtod (Depends-on): Likewise.
77110         * modules/yesno (Depends-on): Likewise.
77111
77112 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
77113
77114         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
77115         needless checks.
77116
77117 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
77118
77119         Merge from coreutils.  Among other things,
77120         add bulletproofing for cases where stdin, stdout, or stderr are closed.
77121         * lib/fd-safer.c: New file.
77122         * lib/fcntl-safer.h, open-safer.c: Remove.
77123         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
77124         * lib/dup-safer.c: Include unistd-safer.h first.
77125         Don't include errno.h.
77126         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
77127         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
77128         * lib/file-type.c: Rely on file-type.h change.
77129         * lib/getloadavg.c: Include unistd-safer.h.
77130         (getloadavg): Use safer open.
77131         * lib/getusershell.c: Include "stdio-safer.h".
77132         (getusershell): Use safer fopen.
77133         * lib/long-options.c (long_options): Use NULL rather than 0.
77134         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
77135         'free'.
77136         * lib/modechange.c: Likewise.
77137         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
77138         (MODE_DONE): New constant.
77139         (struct mode_change): Remove 'next' member.
77140         (make_node_op_equals): New function; like the old one of the
77141         same name, except it allocates an array.
77142         (mode_compile, mode_create_from_ref): Use it.
77143         (mode_compile): Allocate result as an array, not a linked list.
77144         Parse octal string ourself, so that we catch mistakes like "+0".
77145         (mode_adjust): Arg is an array, not a linked list.
77146         * lib/modechange.c: Include stat-macros.h, xalloc.h.
77147         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
77148         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
77149         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
77150         Remove.  This is now stat-macros.h's job.
77151         (talloc): Remove.  All callers replaced by xalloc, so that
77152         our invokers don't have to worry about reporting memory failures.
77153         (make_node_op_equals): Remove.
77154         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
77155         New constants.
77156         (struct mode_change): Moved here from modechange.h.
77157         (mode_append_entry): Remove.
77158         (mode_compile): Remove MASKED_OPS arg, since it encouraged
77159         apps to have incorrect behavior.  Use simpler algorithm for head
77160         and tail.  Don't futz with umask; that's now the job of mode_adjust.
77161         Detect more invalid usages rather than having somewhat-random behavior.
77162         Don't insert an "a=" action, as that leads to incorrect behavior.
77163         (mode_compile, mode_create_from_ref): Return NULL on error instead
77164         of an enum, since now there's only one way to have an error.  All
77165         callers changed.
77166         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
77167         at the correct time.  Simplify calculation of "+u" and its ilk.
77168         Don't mishandle "+X".
77169         (mode_free): Remove "register" and localize decls.
77170         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
77171         (struct mode_change): Move to modechange.c; callers don't
77172         need to see this stuff.
77173         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
77174         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
77175         (mode_change, mode_adjust): Reflect the new signatures noted above.
77176         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
77177         that might redefine system include files.
77178         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
77179         (my_usleep): Use NULL rather than (void *) 0.
77180         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
77181         Use siginterrupt to specify that system calls should be interrupted.
77182         (rpl_nanosleep): Move initialization of suspended closer to call of
77183         my_usleep.
77184         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
77185         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
77186         (desirable_utmp_entry): New function.
77187         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
77188         using x2nrealloc, to simplify logic.
77189         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
77190         size calculation.  Do not assume utmp file is a regular file.
77191         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
77192         (READ_UTMP_CHECK_PIDS): New constant.
77193         * lib/save-cwd.c: Include unistd-safer.h.
77194         (save_cwd): Use fd_safer.
77195         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
77196         [!_LIBC] Include "stat-macros.h" instead.
77197         * lib/unistd-safer.h (fd_safer): New decl.
77198
77199 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
77200
77201         * modules/getloadavg (Depends-on): Add unistd-safer.
77202         * modules/getusershell (Depends-on): Add stdio-safer.
77203         * modules/lstat (Depends-on): Remove xalloc.
77204         * modules/mkstemp (Depends-on): Add stat-macros.
77205         * modules/modechange (Depends-on): Remove xstrtol.
77206         Add stat-macros, xalloc.
77207         * modules/save-cwd (Depends-on): Add unistd-safer.
77208         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
77209         * modules/unistd-safer (Files): Add lib/fd-safer.c
77210         (Makefile.am): Remove lib_SOURCES.
77211
77212         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
77213         Remove fcntl-safer; unistd-safer supersedes it.
77214
77215 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
77216
77217         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
77218         AC_HEADER_STAT.
77219         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
77220         (gl_PREREQ_CHOWN): Remove.
77221         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
77222         it.  Don't require AC_HEADER_STAT.
77223         (gl_PREREQ_LSTAT): Remove.
77224         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
77225         Don't require AC_HEADER_STAT.
77226         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
77227         (gl_PREREQ_RMDIR): Remove.
77228         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
77229         mention stat-macros.h or AC_HEADER_STAT, since we'll make
77230         the stat-macros module a prerequisite.
77231         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
77232         * m4/filemode.m4 (gl_FILEMODE): Likewise.
77233         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
77234         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
77235         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
77236         variable names.
77237         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
77238         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
77239         variable prefixes.
77240         * m4/fcntl-safer.m4: Remove.
77241         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
77242         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
77243         Invoke gl_PREREQ_FD_SAFER.
77244         (gl_PREREQ_FD_SAFER): New macro.
77245         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
77246         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
77247         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
77248         Remove duplicate call to AC_LIBOBJ(readutmp).
77249         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
77250
77251         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
77252         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
77253
77254 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
77255
77256         * MODULES.html.sh (Misc): Add byteswap.
77257
77258 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
77259
77260         * modules/getcwd (Depends-on): Add extensions.
77261         * modules/openat (Depends-on): Likewise.
77262
77263 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
77264
77265         * modules/byteswap: New file.
77266
77267 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
77268
77269         * m4/byteswap.m4: New file.
77270
77271 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
77272
77273         * lib/byteswap_.h: New file.
77274
77275 2005-04-25  Karl Berry  <karl@gnu.org>
77276
77277         * m4/gettext.m4: Update from GNU gettext 0.14.4.
77278
77279 2005-04-25  Albert Chin  <china@thewrittenword.com>
77280
77281         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
77282         Toolkit C bug.
77283
77284 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
77285
77286         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
77287         (func_ln_if_changed): Remove forcibly for no error message
77288         in case file does not exist.
77289
77290 2005-04-19  Simon Josefsson  <jas@extundo.com>
77291
77292         * gnulib-tool (Options): Make --symlink mean --symbolic.
77293
77294 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
77295
77296         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
77297
77298 2005-04-16  Simon Josefsson  <jas@extundo.com>
77299
77300         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
77301
77302 2005-04-15  Simon Josefsson  <jas@extundo.com>
77303
77304         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
77305
77306 2005-04-15  Simon Josefsson  <jas@extundo.com>
77307
77308         * gnulib-tool: Rename --symlink to --symbolic.
77309
77310 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
77311
77312         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
77313         symbolic links to files instead of copying/moving.  Add --aux-dir,
77314         specifying directory relative --dir where auxiliary build tools
77315         are placed.
77316
77317 2005-04-14  Bruno Haible  <bruno@clisp.org>
77318
77319         * modules/allocsa (License): Change to LGPL.
77320         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
77321
77322 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
77323
77324         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
77325         that "UTC +1 second" continues to work.  Problem reported
77326         by Dmitry V. Levin.
77327         (relunit_snumber): New rule.
77328         (relunit): Use it.
77329
77330 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
77331
77332         * lib/getdate.y (universal_time_zone_table): New constant.
77333         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
77334         universal_time_zone_table.
77335         (lookup_zone): Prefer universal_time_zone_table to
77336         local_time_zone_table, so that "GMT" time stamps are allowed in
77337         London during the summer.  Problem reported by Ian Abbott.
77338
77339 2005-04-12  Jim Meyering  <jim@meyering.net>
77340
77341         * lib/human.c (humblock): Set *options even when returning due to
77342         xstrtoumax conversion failure.  Thanks to a used-uninitialized
77343         warning from gcc-4.
77344
77345 2005-04-09  Jim Meyering  <jim@meyering.net>
77346
77347         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
77348         -Wuninitialized: initialize tm0.tm_year.
77349
77350 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
77351
77352         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
77353         count, since there's no maximum.  All uses changed.
77354         Add member dsts_seen.
77355         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
77356         not being INT_MAX.
77357         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
77358         Use pc_rels_seen to decide whther a date is absolute.
77359
77360         * lib/getdate.y (number): Don't overwrite year.
77361         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
77362         check.
77363
77364 2005-04-02  Simon Josefsson  <jas@extundo.com>
77365
77366         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
77367         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
77368
77369 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
77370
77371         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
77372         where no absolute path name can be longer than PATH_MAX.
77373
77374 2005-03-27  Jim Meyering  <jim@meyering.net>
77375
77376         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
77377
77378 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
77379
77380         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
77381         "one's complement" -> "ones' complement" in comment, as per Knuth.
77382         "value of type" -> "type or expression" in comment.
77383         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
77384
77385 2005-03-26  Jim Meyering  <jim@meyering.net>
77386
77387         Comment nits.
77388         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
77389         Correct typos: s/or/of/.
77390
77391 2005-03-26  Jim Meyering  <jim@meyering.net>
77392
77393         * modules/check-include-files: Move to ../ and rename to...
77394         * check-module: ...this.
77395
77396 2005-03-25  Jim Meyering  <jim@meyering.net>
77397
77398         * modules/xvasprintf (Files): Add xalloc.h.
77399
77400 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
77401
77402         * modules/gettext (Files): config/config.rpath ->
77403         build-aux/config.rpath
77404         * modules/iconv (Files): Likewise.
77405         Problem reported by Oskar Liljeblad.
77406
77407 2005-03-23  Jim Meyering  <jim@meyering.net>
77408
77409         * modules/check-include-files: New script to check for
77410         missing dependencies, multiple includes, etc.
77411
77412         * modules/c-strtold (Depends-on): Add xalloc.
77413         * modules/c-strtod (Depends-on): Add xalloc.
77414         * modules/hash (Depends-on): Add xalloc.
77415         (Files): Remove lib/xalloc.h.
77416
77417         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
77418         * modules/userspec (Files): Add lib/inttostr.h.
77419
77420 2005-03-23  Jim Meyering  <jim@meyering.net>
77421
77422         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
77423
77424 2005-03-22  Jim Meyering  <jim@meyering.net>
77425
77426         * modules/stat-macros: New module.
77427         * modules/canonicalize, modules/euidaccess, modules/file-type,
77428         * modules/filemode, modules/lchown, modules/makepath,
77429         * modules/rmdir, modules/stat: Depend on new stat-macros module
77430         rather than listing lib/stat-macros.h manually.
77431         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
77432
77433 2005-03-22  Jim Meyering  <jim@meyering.net>
77434
77435         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
77436
77437 2005-03-22  Bruno Haible  <bruno@clisp.org>
77438
77439         * config/srclist.txt: Replace target directory 'config' with
77440         'build-aux'.
77441         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
77442         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
77443         ../build-aux/.
77444
77445 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
77446
77447         * modules/chdir-long (Depends-on): Add mempcpy.
77448
77449         * modules/acl, modules/backupfile, modules/c-strtod,
77450         modules/c-strtold, modules/canon-host, modules/canonicalize,
77451         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
77452         modules/exclude, modules/exitfail, modules/file-type,
77453         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
77454         modules/getdate, modules/getline, modules/getpagesize,
77455         modules/getpass, modules/getugroups, modules/group-member,
77456         modules/hard-locale, modules/hash, modules/human, modules/idcache,
77457         modules/inttostr, modules/long-options, modules/makepath,
77458         modules/md5, modules/memcasecmp, modules/memcoll,
77459         modules/modechange, modules/mountlist, modules/path-concat,
77460         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
77461         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
77462         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
77463         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
77464         modules/strftime, modules/strndup, modules/strverscmp,
77465         modules/timespec, modules/unlocked-io, modules/userspec,
77466         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
77467         modules/yesno:
77468         Remove lib_SOURCES line from Makefile.am section, as this is now
77469         done automatically by the corresponding Autoconf macro.
77470
77471 2005-03-21  Jim Meyering  <jim@meyering.net>
77472
77473         Changes imported from coreutils.
77474
77475         * lib/cycle-check.c: Don't include xalloc.h.
77476
77477         * lib/path-concat.c: Don't include assert.h.
77478         (path_concat): Remove assertion that would have triggered
77479         for ABASE starting with more than one slash.
77480         Reported by Andreas Schwab.
77481
77482         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
77483         properly when ABASE is an absolute file name.
77484         Correct the description of this function.
77485         Include <assert.h>.
77486         Add an assertion and a test driver.
77487         This fixes a bug introduced on 2004-07-02.
77488         Andreas Schwab reported the resulting failure of cp --parents:
77489         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
77490
77491 2005-03-21  Jim Meyering  <jim@meyering.net>
77492
77493         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
77494         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
77495
77496 2005-03-21  Jim Meyering  <jim@meyering.net>
77497         and  Paul Eggert  <eggert@cs.ucla.edu>
77498
77499         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
77500         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
77501         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
77502         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
77503         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
77504         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
77505         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
77506         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
77507         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
77508         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
77509         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
77510         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
77511         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
77512         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
77513         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
77514         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
77515         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
77516         for these modules.
77517
77518 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
77519
77520         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
77521         (which shouldn't happen), generate nothing instead of returning 0
77522         immediately, so that nstrftime (NULL, ...) doesn't return 0.
77523
77524 2005-03-16  Bruno Haible  <bruno@clisp.org>
77525
77526         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
77527         HAVE_LONGLONG_64BIT.
77528
77529 2005-03-16  Bruno Haible  <bruno@clisp.org>
77530
77531         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
77532         HAVE_LONGLONG_64BIT.
77533
77534 2005-03-16  Bruno Haible  <bruno@clisp.org>
77535
77536         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
77537         HAVE_LONGLONG_64BIT.
77538
77539 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
77540
77541         * lib/strftime.c (my_strftime): Prepend space to format so that we can
77542         reliably distinguish strftime failure from empty output on POSIX
77543         hosts.
77544
77545 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
77546
77547         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
77548         (iconv_string): Don't guess a size-zero buffer, as that might cause
77549         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
77550         result would be 'too large', where 'too large' is (heuristically)
77551         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
77552         overflow concerns.  This will prevent some unwanted malloc failures
77553         when the inputs are very large.
77554
77555 2005-03-15  Karl Berry  <karl@gnu.org>
77556
77557         * config/srclist.txt (config.rpath): from gettext.
77558         * config/config.rpath: update.
77559
77560 2005-03-15  Bruno Haible  <bruno@clisp.org>
77561
77562         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
77563         to 'negate'.
77564
77565         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
77566         variable.
77567
77568         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
77569         results.
77570
77571 2005-03-14  Simon Josefsson  <jas@extundo.com>
77572
77573         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
77574         <fx@gnu.org>.
77575
77576 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
77577
77578         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
77579         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
77580         intprops.h.
77581         * lib/strtol.c: Likewise.
77582
77583 2005-03-14  Jim Meyering  <jim@meyering.net>
77584
77585         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
77586         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
77587         to be nonzero so that we (and caller) can detect the difference
77588         between a valid zero-length expansion and an error return, even
77589         when the underlying strftime fails before writing anything into
77590         that location.
77591
77592 2005-03-14  Bruno Haible  <bruno@clisp.org>
77593
77594         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
77595         Update from GNU gettext 0.14.3.
77596
77597 2005-03-10  Jim Meyering  <jim@meyering.net>
77598
77599         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
77600
77601 2005-03-10  Jim Meyering  <jim@meyering.net>
77602
77603         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
77604         so that this module works on systems without fchdir.
77605
77606 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
77607
77608         Factor int-properties macros into a single file, except for
77609         glibc-related files.
77610         * lib/intprops.h: New file.
77611         * lib/getloadavg.c: Include it instead of limits.h.
77612         (INT_STRLEN_BOUND): Remove.
77613         * lib/human.c: Include intprops.h.
77614         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
77615         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
77616         302/1000.
77617         * lib/inttostr.h: Include intprops.h instead of limits.h.
77618         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
77619         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
77620         for consistency with intprops.h.
77621         (time_t_is_integer, twos_complement_arithmetic): Use them.
77622         * lib/sig2str.h: Include <signal.h>, intprops.h.
77623         (INT_STRLEN_BOUND): Remove.
77624         * lib/strftime.c (TYPE_SIGNED): Remove.
77625         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
77626         * lib/strtol.c: Adjust comments to match intprops.h.
77627         * lib/userspec.c: Include intprops.h.
77628         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
77629         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
77630         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
77631         instead of rolling our own expressions.
77632         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
77633
77634         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
77635         instead of int.
77636         (my_strftime): Do not mishandle years close to INT_MAX, by doing
77637         the right thing even if adding 1900 would overflow.  Similarly
77638         for tm_mon + 1 and tm_yday + 1.
77639         Make %Y always equivalent to %C%y, and similarly for %G and %g.
77640         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
77641         (DO_SIGNED_NUMBER): New macro.
77642         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
77643
77644 2005-03-07  Bruno Haible  <bruno@clisp.org>
77645
77646         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
77647
77648 2005-03-07  Bruno Haible  <bruno@clisp.org>
77649
77650         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
77651
77652 2005-03-04  Derek R. Price  <derek@ximbiot.com>
77653
77654         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
77655         (func_import): Only replace files via --import when they have actually
77656         changed.
77657
77658 2005-03-03  Derek R. Price  <derek@ximbiot.com>
77659
77660         * m4/mmap-anon.m4: New file.
77661         * m4/pagealign_alloc.m4: New file.
77662
77663 2005-03-03  Derek R. Price  <derek@ximbiot.com>
77664             Bruno Haible  <bruno@clisp.org>
77665
77666         * modules/pagealign_alloc: New file.
77667         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
77668
77669 2005-03-03  Derek R. Price  <derek@ximbiot.com>
77670             Bruno Haible  <bruno@clisp.org>
77671
77672         * lib/pagealign_alloc.h: New file.
77673         * lib/pagealign_alloc.c: New file.
77674
77675 2005-03-03  Bruno Haible  <bruno@clisp.org>
77676
77677         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
77678         Use an all-permissive copyright notice, recommended by RMS.
77679
77680 2005-03-02  Bruno Haible  <bruno@clisp.org>
77681
77682         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
77683         of AIX, the replacement has to be done only after <string.h> is
77684         included, therefore not in config.h. stpncpy.h does the replacement,
77685         and stpncpy.c uses it.
77686
77687 2005-03-02  Bruno Haible  <bruno@clisp.org>
77688
77689         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
77690         stpncpy.c uses it.
77691
77692 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
77693
77694         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
77695         The workaround isn't strictly needed for POSIX conformance, and
77696         it's too much of a pain to configure and maintain.  We'll ask
77697         people to fix their kernels instead.
77698         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
77699         (NANOSLEEP_BUG_WORKAROUND): Remove.
77700         (xnanosleep): Remove the workaround.
77701
77702 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
77703
77704         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
77705         Reported by Derek Price.
77706         (Include): Add "timespec.h".
77707
77708         * modules/xnanosleep (Depends-on): Remove gethrxtime.
77709
77710 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
77711
77712         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
77713         to detect nanosleep bug.
77714
77715 2005-03-01  Bruno Haible  <bruno@clisp.org>
77716
77717         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
77718
77719 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
77720
77721         * modules/gethrxtime: New file.
77722         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
77723         (Depends-on): Add gethrxtime.
77724         (configure.ac): Add gl_XNANOSLEEP.
77725         (Makefile.am): Remove lib_SOURCES line.
77726
77727 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
77728
77729         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
77730         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
77731
77732 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
77733
77734         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
77735         * lib/timespec.h (gettime): Return void, since it always
77736         succeeds now.  All uses changed.
77737         * lib/gettime.c (gettime): Likewise.
77738         [HAVE_NANOTIME]: Prefer nanotime.
77739         Assume gettimeofday succeeds, as POSIX requires.
77740         Assime time () succeeds, since other code already does.
77741         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
77742         (timespec_subtract): Remove.
77743         (NANOSLEEP_BUG_WORKAROUND): New constant.
77744         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
77745         things considerably.  Use it only on GNU/Linux hosts, since the
77746         workaround shouldn't be needed elsewhere.
77747
77748 2005-02-24  Bruno Haible  <bruno@clisp.org>
77749
77750         * modules/gettext (Files): Add m4/glibc2.m4.
77751
77752 2005-02-24  Bruno Haible  <bruno@clisp.org>
77753
77754         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
77755         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
77756         * m4/progtest.m4:
77757         Update from GNU gettext 0.14.2.
77758         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
77759
77760 2005-02-24  Bruno Haible  <bruno@clisp.org>
77761
77762         * lib/localcharset.c: Update from GNU gettext 0.14.2.
77763         * lib/config.charset: Update from GNU gettext 0.14.2.
77764
77765 2005-02-24  Bruno Haible  <bruno@clisp.org>
77766
77767         * lib/gettext.h: Update from GNU gettext 0.14.2.
77768
77769 2005-02-23  Simon Josefsson  <jas@extundo.com>
77770
77771         * m4/iconvme.m4: New file.
77772
77773 2005-02-23  Jim Meyering  <jim@meyering.net>
77774
77775         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
77776         change.
77777         Thanks to Bruno Haible for catching it.
77778
77779 2005-02-22  Simon Josefsson  <jas@extundo.com>
77780
77781         * modules/iconvme: New file.
77782
77783         * MODULES.html.sh: Add iconvme.
77784
77785 2005-02-22  Simon Josefsson  <jas@extundo.com>
77786
77787         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
77788
77789 2005-02-22  Simon Josefsson  <jas@extundo.com>
77790
77791         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
77792
77793 2005-02-22  Jim Meyering  <jim@meyering.net>
77794
77795         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
77796         s/ifndef/ifdef/.
77797
77798 2005-02-20  Neil Conway  <neilc@samurai.com>
77799
77800         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
77801         returned by OSX/Darwin if the specified buffer is not large
77802         enough for the hostname.
77803
77804 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77805
77806         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
77807         pass it to _help, otherwise the latter coredumps trying to
77808         dereference state.root_argp.
77809
77810 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
77811
77812         * modules/chdir-long (Depends-on): Add memrchr.
77813         * modules/memrchr (Files): Add lib/memrchr.h.
77814         (Include): "memrchr.h".
77815
77816 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
77817
77818         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
77819
77820 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
77821
77822         * lib/memrchr.h: New file.
77823         * lib/chdir-long.c: Include it.
77824         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
77825         Don't bother including stddef.h.
77826
77827 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
77828
77829         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
77830         inclusion.
77831         Include <sys/types.h>, for dev_t.
77832         (ME_DUMMY, ME_REMOTE): Move from here....
77833         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
77834         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
77835         Dmitry V. Levin.
77836         Include mountlist.h first, to test the interface.
77837
77838 2005-01-29  Bruno Haible  <bruno@clisp.org>
77839
77840         * lib/progname.c (program_name): Initialize.
77841         Needed when linking statically on MacOS X.
77842
77843 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
77844
77845         Sync from coreutils.
77846         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
77847         (Depends-on): Add c-strtod.
77848         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
77849
77850 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
77851
77852         Sync from coreutils.
77853         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
77854
77855         Remove files that are specific to coreutils.
77856         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
77857
77858 2005-01-28  Bruno Haible  <bruno@clisp.org>
77859
77860         * modules/javacomp: New file.
77861         * MODULES.html.sh (Java): Add javacomp.
77862
77863 2005-01-28  Bruno Haible  <bruno@clisp.org>
77864
77865         * m4/javacomp.m4: New file, from GNU gettext.
77866
77867 2005-01-28  Bruno Haible  <bruno@clisp.org>
77868
77869         * lib/javacomp.sh.in: New file, from GNU gettext.
77870         * lib/javacomp.h: New file, from GNU gettext.
77871         * lib/javacomp.c: New file, from GNU gettext.
77872
77873 2005-01-26  Simon Josefsson  <jas@extundo.com>
77874
77875         * lib/gai_strerror.c: Use GPL in header.
77876
77877 2005-01-26  Bruno Haible  <bruno@clisp.org>
77878
77879         * modules/javaexec: New file.
77880         * MODULES.html.sh (Java): Add javaexec.
77881
77882 2005-01-26  Bruno Haible  <bruno@clisp.org>
77883
77884         * m4/javaexec.m4: New file, from GNU gettext.
77885
77886 2005-01-26  Bruno Haible  <bruno@clisp.org>
77887
77888         * lib/javaexec.sh.in: New file, from GNU gettext.
77889         * lib/javaexec.h: New file, from GNU gettext.
77890         * lib/javaexec.c: New file, from GNU gettext.
77891
77892 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77893
77894         * modules/lchown (Depends-on): Remove lchown.h
77895
77896 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77897
77898         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
77899         must be defined if the header file was not found, in order
77900         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
77901
77902 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77903
77904         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
77905         initializers for struct pentry_state.
77906         (__argp_error): Check return value of __asprintf
77907         (__argp_failure): Translate error message
77908
77909         * lib/argp-parse.c: Removed braces around the expansion of N_()
77910
77911 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
77912
77913         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
77914         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
77915         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
77916         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
77917         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
77918         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
77919         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
77920         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
77921         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
77922         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
77923         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
77924         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
77925         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
77926         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
77927         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
77928         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
77929         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
77930         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
77931         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
77932         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
77933         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
77934         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
77935         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
77936         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
77937         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
77938         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
77939         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
77940         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
77941         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
77942         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
77943         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
77944         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
77945         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
77946         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
77947         xstrtol.m4, xstrtoumax.m4, yesno.m4:
77948         Use an all-permissive copyright notice, recommended by RMS.
77949
77950 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
77951
77952         * modules/chdir-long (Depends-on): Remove mempcpy.
77953
77954 2005-01-21  Jim Meyering  <jim@meyering.net>
77955
77956         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
77957         same value as for Solaris 9.
77958
77959         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
77960         component length.  This included changing the parameter to be
77961         of type `char *' rather than `char const *'.
77962         * lib/chdir-long.h (chdir_long): Update prototype.
77963
77964         * lib/openat.c (fdopendir, fstatat): New functions.
77965         * lib/openat.h: Include headers required for use of DIR and struct
77966         stat.
77967         [AT_SYMLINK_NOFOLLOW]: Define.
77968         (fdopendir, fstatat): Add prototypes.
77969
77970 2005-01-21  Bruno Haible  <bruno@clisp.org>
77971
77972         * modules/classpath: New file.
77973         * MODULES.html.sh (Java): Add classpath.
77974
77975 2005-01-21  Bruno Haible  <bruno@clisp.org>
77976
77977         * lib/classpath.h: New file, from GNU gettext.
77978         * lib/classpath.c: New file, from GNU gettext.
77979
77980 2005-01-20  Simon Josefsson  <jas@extundo.com>
77981
77982         * modules/version-etc-fsf: New file.
77983
77984 2005-01-20  Simon Josefsson  <jas@extundo.com>
77985
77986         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
77987         * lib/version-etc.c: Remove version_etc_copyright.
77988         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
77989         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
77990
77991 2005-01-20  Simon Josefsson  <jas@extundo.com>
77992
77993         * lib/base64.h (isbase64): Add.
77994
77995         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
77996         using a unsigned prototype, don't inline.
77997         (base64_decode): Use it.
77998
77999 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
78000
78001         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
78002         it.
78003
78004 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
78005
78006         * lib/save-cwd.c (save_cwd): Remove code to support the case
78007         where fchdir is missing or flaky.
78008
78009 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
78010
78011         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
78012
78013 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
78014
78015         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
78016         AC_LIBSOURCES now does this.
78017         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
78018         with new ullong_max module.
78019
78020 2005-01-19  Bruno Haible  <bruno@clisp.org>
78021
78022         * modules/sh-quote: New file.
78023         * MODULES.html.sh (Executing programs): Add sh-quote.
78024
78025 2005-01-19  Bruno Haible  <bruno@clisp.org>
78026
78027         * lib/sh-quote.h: New file, from GNU gettext.
78028         * lib/sh-quote.c: New file, from GNU gettext.
78029
78030 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
78031
78032         Merge from coreutils.
78033         * m4/ullong_max.m4: New file.
78034         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
78035         (gl_MACROS): Assume localeconv exists.
78036
78037 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
78038
78039         Merge changes from coreutils, as described below in several
78040         changelogs dated today.
78041
78042         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
78043         (O_DIRECTORY): Remove; not needed here, since "." must be
78044         a directory.  All uses removed.
78045         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
78046         universal on Suns, and we also need to test for IRIX.
78047         Revamp code to use 'if' rather than '#if'.
78048         Avoid unnecessary comparison of cwd->desc to 0.
78049
78050         * lib/utimens.c (futimens): Robustify the previous patch, by checking
78051         for known valid error numbers rather than observed invalid ones.
78052
78053 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
78054
78055         * modules/ullong_max: New file.
78056
78057         * modules/chdir-long, modules/openat: New files.
78058         * modules/save-cwd (Depends-on): Depend on chdir-long.
78059         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
78060
78061 2005-01-18  Jim Meyering  <jim@meyering.net>
78062
78063         Merge from coreutils.
78064         * m4/chdir-long.m4, m4/openat.m4: New files.
78065         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
78066         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
78067         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
78068         is sane and DOES follow symlinks.  Besides, testing 20 different
78069         systems found no broken chown implementations.
78070         Prompted by a change in rsync's copy of this macro.
78071         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
78072
78073         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
78074
78075         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
78076         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
78077         NULL-means-set-to-current-time semantics.
78078         Remove temporary file immediately, rather than waiting
78079         for configure's at-exit trap code to do it.
78080
78081 2005-01-18  Jim Meyering  <jim@meyering.net>
78082
78083         * lib/version-etc.c (version_etc_copyright): Update copyright date.
78084
78085         * lib/utimens.c (futimens): Account for the fact that futimes
78086         can also fail with errno == ENOSYS or errno == ENOENT.
78087         Patch from Dmitry V. Levin.
78088
78089         Change the name of the robust chdir function from chdir to chdir_long.
78090         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
78091         (restore_cwd): Use chdir_long, not chdir.
78092         * lib/chdir-long.c: Renamed from chdir.c.
78093         * lib/chdir-long.h: Renamed from chdir.h.
78094         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
78095         Hurd.
78096
78097 2005-01-18  Bruno Haible  <bruno@clisp.org>
78098
78099         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
78100         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
78101         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
78102         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
78103         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
78104         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
78105         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
78106         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
78107         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
78108         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
78109         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
78110         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
78111         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
78112         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
78113         Use an all-permissive copyright notice, recommended by RMS.
78114
78115 2005-01-18  Bob Proulx  <bob@proulx.com>
78116
78117         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
78118         simplify offsetof() macro construct to avoid compile failure with
78119         native HP-UX 11.0 ANSI C compiler.
78120
78121 2005-01-17  Bruno Haible  <bruno@clisp.org>
78122
78123         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
78124         redundant because stpncpy.m4 takes care of it.
78125
78126 2005-01-17  Bruno Haible  <bruno@clisp.org>
78127
78128         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
78129
78130 2005-01-17  Bruno Haible  <bruno@clisp.org>
78131
78132         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
78133         used.
78134
78135 2005-01-17  Bruno Haible  <bruno@clisp.org>
78136
78137         * lib/fwriteerror.h (fwriteerror): Change specification to include
78138         fclose.
78139         * lib/fwriteerror.c: Include <stdbool.h>.
78140         (fwriteerror): At the end, close the file stream. Record whether
78141         stdout was already closed.
78142
78143 2005-01-17  Bruno Haible  <bruno@clisp.org>
78144
78145         * lib/execute.c (environ): Declare if needed.
78146         * lib/pipe.c (environ): Likewise.
78147         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
78148
78149 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78150
78151         * modules/argp: Depend on vsnprintf
78152
78153 2005-01-10  Jim Meyering  <jim@meyering.net>
78154
78155         * modules/closeout (Depends-on): Add atexit.
78156
78157 2005-01-06  Bruno Haible  <bruno@clisp.org>
78158
78159         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
78160
78161 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
78162
78163         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
78164         definitions to be after all include files, to avoid collisions.
78165         Problem reported by Bob Proulx.
78166
78167 2005-01-04  Jim Meyering  <jim@meyering.net>
78168
78169         Changes imported from coreutils.
78170         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
78171         as the mkstemp template, use a temporary directory and an
78172         8.3-friendly template to avoid trouble on systems like DJGPP.
78173         Reported by Juan M. Guerrero via Stepan Kasal.
78174         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
78175         close. Remove the temporary directory right away, rather than waiting
78176         for configure's at-exit trap code to do it.
78177         Suggestion from Stepan Kasal.
78178
78179 2005-01-01  Simon Josefsson  <jas@extundo.com>
78180
78181         * gnulib-tool: Print #include directives when --import'ing.
78182
78183 2004-12-28  Simon Josefsson  <jas@extundo.com>
78184
78185         * tests/test-base64.c: Include required header files.  Remove
78186         unused variables.
78187
78188 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
78189
78190         * modules/error (Depends-on): Remove gettext.
78191
78192 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
78193
78194         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
78195         not needed.  This removes a dependency on the gettext module.
78196         [defined _LIBC]: Do not include <libintl.h>; not needed.
78197
78198 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
78199
78200         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
78201         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
78202
78203 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
78204
78205         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
78206         HAVE_DECL_STRTOLD.
78207
78208 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
78209
78210         * modules/getdate (Depends-on): Remove alloca-opt.
78211
78212 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
78213
78214         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
78215
78216 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
78217
78218         * lib/argp-parse.c: Include <stddef.h>.
78219         (alignof, alignto): New macros.
78220         (parser_init): Don't assume that void * is aligned sufficiently
78221         for struct option.
78222
78223         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
78224         need to extend the stack.
78225         (YYINITDEPTH): New macro, so that the initial stack isn't overly
78226         large.
78227
78228 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78229
78230         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
78231
78232 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
78233
78234         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
78235         (2004-10-24) change.  Apparently this was a false alarm.
78236
78237         * modules/getdate: Depend on alloca-opt, not alloca.
78238
78239 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
78240
78241         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
78242         Remove now-obsolete comment about AIX.
78243         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
78244         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
78245         (YYMAXDEPTH): New macro.
78246
78247 2004-12-18  Simon Josefsson  <jas@extundo.com>
78248
78249         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
78250
78251 2004-12-18  Bruno Haible  <bruno@clisp.org>
78252
78253         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
78254
78255 2004-12-18  Bruno Haible  <bruno@clisp.org>
78256
78257         * lib/fatal-signal.c (fatal_signals): Make non-const.
78258         (init_fatal_signals): New function.
78259         (uninstall_handlers, install_handlers): Ignore signals that were set to
78260         SIG_IGN.
78261         (at_fatal_signal): Call init_fatal_signals.
78262         (init_fatal_signal_set): Likewise. Ignore signals that were set to
78263         SIG_IGN.
78264         Reported by Paul Eggert.
78265
78266 2004-12-18  Bruno Haible  <bruno@clisp.org>
78267
78268         * doc/alloca.texi: New file.
78269         * doc/alloca-opt.texi: New file.
78270
78271 2004-12-17  Jim Meyering  <jim@meyering.net>
78272
78273         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
78274         Otherwise, install-sh could exit with improper exit status when
78275         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
78276
78277 2004-12-16  Simon Josefsson  <jas@extundo.com>
78278
78279         * tests/test-base64.c: Add license.
78280
78281 2004-12-15  Stepan Kasal  <address@hidden>
78282
78283         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
78284
78285 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
78286
78287         * modules/getcwd (Files): Add m4/d-ino.m4.
78288         Suggested by Mark D. Baushke.
78289
78290 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
78291
78292         * lib/getdate.y (textint): New member "negative".
78293         (time_zone_hhmm): New function.
78294         Expect 14 shift-reduce conflicts, not 13.
78295         (o_colon_minutes): New rule.
78296         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
78297         (yylex): Set the "negative" member of signed numbers.
78298
78299 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
78300
78301         * doc/getdate.texi (Time of day items, Time zone items):
78302         Describe new formats +00:00, UTC+00:00.
78303
78304 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
78305
78306         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
78307         spurious "-l"s.  Problem reported by Stepan Kasal.
78308
78309 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
78310
78311         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
78312         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
78313
78314 2004-12-04  Simon Josefsson  <jas@extundo.com>
78315
78316         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
78317         Vandoorselaere <yoann@prelude-ids.org>.
78318
78319 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
78320
78321         Changes imported from coreutils.
78322         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
78323         exist.
78324         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
78325
78326 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
78327
78328         Changes imported from coreutils.
78329         * lib/hard-locale.c: Assume <locale.h> exists.
78330         Include "strdup.h".
78331         (GLIBC_VERSION): New macro.
78332         (hard_locale): Assume setlocale exists.
78333         Rewrite to avoid #ifdef.
78334         Use strdup rather than malloc + strcpy.
78335         * lib/human.c: Assume <locale.h> exists.
78336         (human_readable): Assume localeconv exists.
78337
78338 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
78339
78340         * modules/hard-locale (Depends-on): Add strdup.
78341
78342 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
78343
78344         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
78345         convert T2, not T.  (Imported from libc.)
78346
78347 2004-11-30  Simon Josefsson  <jas@extundo.com>
78348
78349         * modules/restrict (License): Change to LGPL.
78350
78351 2004-11-30  Simon Josefsson  <jas@extundo.com>
78352
78353         * m4/restrict.m4: Add copyright and copying conditions.
78354
78355 2004-11-30  Simon Josefsson  <jas@extundo.com>
78356
78357         * m4/base64.m4: New file.
78358
78359 2004-11-30  Simon Josefsson  <jas@extundo.com>
78360
78361         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
78362         base64.
78363
78364         * tests/test-base64.c: New file.
78365
78366         * modules/base64: New file.
78367
78368 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
78369
78370         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
78371         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
78372
78373         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
78374
78375 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
78376
78377         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
78378         (__getcwd.c): Don't restore errno; glibc doesn't.
78379         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
78380         first, falling back to our code only if its results look suspicious.
78381         Ensure that the resulting buffer is only as large as necessary.
78382
78383         * lib/readutmp.c: Include readutmp.h first.
78384         Include <errno.h>, since readutmp.h no longer does that.
78385         * lib/readutmp.h: Don't include <errno.h>,
78386         <sys/param.h>, <time.h>; not needed to establish interface.
78387         (errno): Remove decl.
78388         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
78389         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
78390         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
78391
78392 2004-11-28  Simon Josefsson  <jas@extundo.com>
78393
78394         * lib/base64.h, base64.c: New file.
78395
78396 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
78397
78398         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
78399
78400 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
78401
78402         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
78403         (Depends-on): Remove pathmax, same.  Add mempcpy.
78404         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
78405         (Makefile.am): Append getcwd.h to lib_SOURCES.
78406         (Include): Add getcwd.h.
78407         (Maintainer): Change from Jim Meyering to "all, glibc",
78408         since getdate now uses intended-for-glibc code.
78409         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
78410         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
78411
78412 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
78413
78414         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
78415         HP's ANSI C compiler.
78416         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
78417         Declaring int functions causes warnings on some modern systems and
78418         shouldn't be needed to compile on ancient ones.
78419         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
78420         defined.
78421
78422         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
78423         with the following changes.
78424         (__set_errno): Parenthesize properly.
78425         Include <stdbool.h>.
78426         (MIN, MAX, MATCHING_INO): New macros.
78427         (__getcwd): Define with prototype, not K&R form.
78428         Use heuristics to allocate default buffer on stack if possible.
78429         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
78430         behavior, and to avoid the PATH_MAX limit when computing
78431         ../../../../...
78432         Use MATCHING_INO to compare inode number to file.
78433         Check for arithmetic overflow in size calculations.
78434         Fix bug in reallocation of dot array that caused getcwd to fail
78435         on directories nested deeper than 75.
78436         Be more careful about saving errno on error.
78437         Do not use realloc; use only free+malloc, as this is a bit
78438         more flexible and avoids a needless copy operation.
78439         Do not inspect st_dev and st_ino for symbolic links; POSIX
78440         doesn't specify the latter.
78441         Check for closedir errors.
78442         Avoid needless casts.
78443         Use "#ifdef weak_alias" around weak_alias, to be like other
78444         glibc code.
78445         The following changes to getcwd.c have effect only when used in
78446         gnulib; they have no effect inside glibc proper.
78447         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
78448         as alloca isn't used.
78449         (alloca, __alloca): Likewise.
78450         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
78451         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
78452         unconditionally, as gnulib assumes C89 or better.
78453         Do not include <sys/param.h>.
78454         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
78455         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
78456         better.
78457         (NULL) [!defined NULL]: Remove; we assume C89 or better.
78458         Include <dirent.h> in a way that is compatible with modern Autoconf.
78459         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
78460         New macros, if not already defined.
78461         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
78462         Use "_LIBC", not "defined _LIBC", for consistency.
78463         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
78464         a mempcpy module.
78465         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
78466         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
78467         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
78468         credit only to Jim Meyering and adjust the copyright dates.
78469         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
78470         <stdlib.h>, <unistd.h>, "pathmax.h".
78471         Instead, include "xgetcwd.h" (first) and "getcwd.h".
78472         (INITIAL_BUFFER_SIZE): Remove.
78473         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
78474
78475 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
78476
78477         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
78478         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
78479         Use the _ONCE methods, for efficiency.
78480         Check for fcntl.h.  In test program, include <errno.h>
78481         and <fcntl.h> if available.  Remove old K&R cruft from
78482         test program.  Check for common errors in GNU/Linux,
78483         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
78484         don't do AC_LIBOBJ, as that's getcwd.m4's job.
78485         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
78486         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
78487         name accordingly.
78488         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
78489         accommodate new getcwd.c.
78490         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
78491         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
78492         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
78493         that's all we need now.
78494
78495 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78496
78497         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
78498         argp-parse.c depends on getopt internals, that means we should
78499         always use our getopt, to be on the safe side.
78500         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
78501         order not to spoil the result of an eventual previous invocation
78502         of gl_GETOPT_SUBSTITUTE.
78503
78504 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78505
78506         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
78507         redefinition warnings. To avoid them, include the defines
78508         in `#if !defined __need_getopt ... #endif'. The only place
78509         where __getopt_argv_const is used is in definitions
78510         of getopt_long and getopt_long_only below, which are as well
78511         protected by `#ifndef __need_getopt'.
78512         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
78513         __need_getopt after including <stdio.h> and <unistd.h> These
78514         headers might have defined it.
78515
78516 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
78517
78518         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
78519
78520 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
78521
78522         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
78523         (futimens): New function, which uses futimes if available.
78524         (futimens, utimens): Support timespec==NULL, with same semantics
78525         as utime and utimens.
78526         * lib/utimens.h (futimens): New decl.
78527
78528 2004-11-23  Jim Meyering  <jim@meyering.net>
78529
78530         * lib/getopt_.h: Remove trailing blanks.
78531
78532 2004-11-23  Jim Meyering  <jim@meyering.net>
78533
78534         * lib/__fpending.c: Add comment.
78535
78536 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
78537
78538         * modules/canonicalize (Depends-on): Add xreadlink.
78539         Problem reported by James Youngman.
78540
78541 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
78542
78543         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
78544         New macros.
78545         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
78546         optopt): Use them instead of invoking ## directly; otherwise, the
78547         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
78548
78549 2004-11-19  Bruno Haible  <bruno@clisp.org>
78550
78551         * lib/strtok_r.c: Move comments from here...
78552         * lib/strtok_r.h: ... to here.
78553
78554 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
78555
78556         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
78557         implementations that mishandle size_t overflow.
78558
78559 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
78560
78561         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
78562         might fail.  Problem reported by Yoann Vandoorselaere.
78563         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
78564         implementations that mishandle size_t overflow.
78565
78566 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
78567
78568         * modules/canon-host (Depends-on): Add strdup.
78569
78570 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
78571
78572         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
78573
78574 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
78575
78576         * lib/canon-host.c: Include "strdup.h".
78577         (canon_host): Use getaddrinfo if available, so that IPv6 works.
78578         Use strdup instead of malloc/strcpy to duplicate strings.
78579
78580         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
78581         (human_space_before_unit): New constant.
78582         * lib/human.c (human_readable): Support it.
78583
78584         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
78585         (xgetcwd): Set errno correctly when failing.
78586         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
78587         the failure is actually due to a PATH_MAX problem.
78588
78589         Further getopt changes to make it more likely that glibc will
78590         buy the changes back.
78591         * lib/getopt.c (POSIXLY_CORRECT): New constant.
78592         (getopt): Use it, so to preserve glibc semantic
78593         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
78594         when compiling for libc.
78595         * lib/getopt_.h (__getopt_argv_const): Bring it back.
78596         (getopt_long, getopt_long_only): Use it.
78597
78598         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
78599         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
78600         (getopt): Argv is now char * const *, as per standard.
78601         (_getopt_internal_r, _getopt_internal): Argv is now char **,
78602         not char *__getopt_argv_const *.
78603         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
78604         _getopt_long_only_r): Likewise.
78605         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
78606         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
78607         _getopt_long_r, _getopt_long_only_r): Likewise.
78608         * lib/getopt_.h (__getopt_argv_const): Remove.
78609         (getopt): Argv is now char * const *, as per standard.
78610
78611         * lib/getdate.y (tORDINAL): New token.
78612         (day, relunit): Allow it for relative times.
78613         (relative_time_table): Use tORDINAL for ordinals.
78614
78615 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
78616
78617         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
78618         Document that "second" isn't allowed as an ordinal number.
78619
78620 2004-11-16  Jim Meyering  <jim@meyering.net>
78621
78622         * modules/closeout (Depends-on): Add fpending.
78623
78624 2004-11-15  Jim Meyering  <jim@meyering.net>
78625
78626         * lib/closeout.c: Include "__fpending.h" once again.
78627         Include <stdbool.h>.
78628         (close_stdout): Don't fail just because stdout was closed initially,
78629         since some programs don't write to stdout in the normal course of
78630         operation (other than --version and --help), and we don't want this
78631         function to make e.g. `touch file >&-' fail.
78632         But do fail if it was closed and someone has tried to write to it.
78633         E.g., `printf foo >&-' must fail.
78634
78635 2004-11-13  Jim Meyering  <jim@meyering.net>
78636
78637         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
78638
78639 2004-11-12  Simon Josefsson  <jas@extundo.com>
78640
78641         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
78642         small doc fix is still pending.
78643
78644 2004-11-11  Simon Josefsson  <jas@extundo.com>
78645
78646         * modules/strtok_r: New file.
78647
78648         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
78649         strtok_r.
78650
78651 2004-11-11  Simon Josefsson  <jas@extundo.com>
78652
78653         * m4/strtok_r.m4: New file.
78654
78655         * m4/getopt.m4: Replace opterr.
78656
78657 2004-11-11  Simon Josefsson  <jas@extundo.com>
78658
78659         * lib/strtok_r.h, strtok_r.c: New file.
78660
78661 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
78662
78663         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
78664         of replacing opterr, getopt, etc.  This should handle the
78665         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
78666
78667 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
78668
78669         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
78670         we can stop lying to compilers about the constness of argv when we
78671         are compiled outside glibc.
78672         (getopt, getopt_long, getopt_long_only): Use it.
78673         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
78674         _getopt_internal, getopt): Likewise.
78675         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
78676         _getopt_long_only_r): Likewise.
78677         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
78678         _getopt_long_r, _getopt_long_only_r): Likewise.
78679
78680         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
78681         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
78682         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
78683         the other external symbols.
78684         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
78685         declaration, since the above renaming now works around collisions.
78686
78687 2004-11-11  Jim Meyering  <jim@meyering.net>
78688
78689         * lib/linebreak.c: Remove trailing blanks.
78690         * lib/alloca_.h: Likewise.
78691         * lib/acosl.c: Likewise.
78692         * lib/euidaccess.c: Likewise.
78693         * lib/allocsa.h: Likewise.
78694
78695 2004-11-10  Simon Josefsson  <jas@extundo.com>
78696
78697         * m4/getaddrinfo.m4: New file.
78698
78699 2004-11-10  Simon Josefsson  <jas@extundo.com>
78700
78701         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
78702
78703 2004-11-10  Simon Josefsson  <jas@extundo.com>
78704
78705         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
78706         getaddrinfo.
78707
78708         * modules/getaddrinfo: New file.
78709
78710 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
78711
78712         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
78713
78714 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
78715
78716         * lib/mktime.c (SHR): New macro, which is a portable
78717         substitute for >> that should work even on Crays.
78718         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
78719         Problem reported by Mark D. Baushke in
78720         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
78721         * lib/getdate.y (SHR): Likewise.
78722         (tm_diff): Use it.
78723         * lib/strftime.c (SHR): Likewise.
78724         (tm_diff): Use it.
78725         * lib/quotearg.c (struct quoting_options): Use unsigned int for
78726         quote_these_too, so that right shifts are well defined.  All uses
78727         changed.
78728
78729 2004-11-10  Jim Meyering  <jim@meyering.net>
78730
78731         Ensure that no close failure goes unreported.
78732         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
78733         return early when it seems there's nothing to flush.
78734         Don't include __fpending.h.
78735
78736 2004-11-10  Jim Meyering  <jim@meyering.net>
78737
78738         * modules/closeout (Depends-on): Remove fpending.
78739
78740 2004-11-10  Jim Meyering  <jim@meyering.net>
78741
78742         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
78743
78744 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
78745
78746         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
78747         gl_FUNC_STRFTIME.
78748         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
78749         and AC_REQUIRE when possible, to avoid duplicate checks.
78750         Check for <wchar.h>.
78751
78752 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
78753
78754         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
78755
78756 2004-11-09  Bruno Haible  <bruno@clisp.org>
78757
78758         * m4/sockpfaf.m4: New file.
78759
78760 2004-11-05  Bruno Haible  <bruno@clisp.org>
78761
78762         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
78763         Reported by Mark D. Baushke <mdb@cvshome.org>.
78764
78765 2004-11-04  Bruno Haible  <bruno@clisp.org>
78766
78767         2004-09-11  Bruno Haible  <bruno@clisp.org>
78768                 * allocsa.valgrind: New file.
78769         2004-02-06  Bruno Haible  <bruno@clisp.org>
78770                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
78771                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
78772                 Reported by Christopher Seip <chris.seip@hp.com>.
78773
78774 2004-11-04  Bruno Haible  <bruno@clisp.org>
78775
78776         * modules/allocsa (Files): Add lib/allocsa.valgrind.
78777         (Makefile.am): Distribute it.
78778
78779 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
78780
78781         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
78782         with errno == ERANGE if the buffer is too small.
78783         Problem reported by Mark D. Baushke.
78784
78785 2004-11-03  Albert Chin  <china@thewrittenword.com>
78786             Paul Eggert  <eggert@cs.ucla.edu>
78787
78788         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
78789         equivalent, substitute $ac_type for equivalent type rather than
78790         blindly using uint32_t *always* which won't work if uint32_t is not
78791         available.  Define _UINT32_T to work around typedef of uint32_t if
78792         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
78793         2.5.1.
78794
78795 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
78796
78797         * m4/jm-macros.m4: Sync from coreutils.
78798         (gl_MACROS): Check for mbrlen, for pathchk.
78799         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
78800
78801 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
78802
78803         * lib/xreadlink.c (MAXSIZE): New macro.
78804         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
78805         size does not exceed MAXSIZE.  Avoid cast.
78806         As suggested by Mark D. Baushke in
78807         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
78808         if readlink fails with buffer size just under MAXSIZE, try again
78809         with MAXSIZE.
78810
78811 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
78812
78813         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
78814
78815 2004-11-02  Derek R. Price  <derek@ximbiot.com>
78816         and  Paul Eggert  <eggert@cs.ucla.edu>
78817
78818         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
78819         (get_date): Overparenthesize to avoid GCC warning.
78820
78821 2004-11-02  Bruno Haible  <bruno@clisp.org>
78822
78823         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
78824         returns void.
78825
78826 2004-11-02  Bruno Haible  <bruno@clisp.org>
78827
78828         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
78829         function returns void.
78830
78831 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
78832
78833         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
78834         fflush_unlocked, flockfile, funlockfile, funlockfile,
78835         fputs_unlocked, putc_unlocked.
78836
78837 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
78838
78839         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
78840         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
78841         already declared.
78842
78843 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
78844
78845         * modules/getdate (Files): Add doc/getdate.texi.
78846         (Depends-on): Add setenv, xalloc.
78847
78848 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
78849
78850         * lib/getdate.y: Add support for TZ="foo" within a date string.
78851         Fix some bugs near time_t boundaries.  Reject dates with
78852         out-of-range components, e.g., "Sept 31".
78853         Include <stdlib.h>, "setenv.h", "xalloc.h".
78854         (ISDIGIT_LOCALE): Remove; unused.
78855         Note that the TZ and time functions used here are not reentrant.
78856         (mktime_ok, get_tz): New functions.
78857         (TZBUFSIZE): New constant.
78858         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
78859         This requires that we sometimes generate our own TZ="XXX..." setting.
78860
78861 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
78862
78863         * doc/getdate.texi: New file, from coreutils with modifications for
78864         the new TZ parsing.
78865
78866 2004-10-27  Derek R. Price  <derek@ximbiot.com>
78867
78868         * lib/mktime.c (not_equal_tm): Remove redundant check.
78869
78870 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
78871
78872         * modules/regex (lib_SOURCES): Add regex.c.
78873         Reported by James Youngman in
78874         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
78875
78876 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
78877
78878         * lib/getdate.y: Use Bison 1.875 features, and some minor
78879         code cleanups.  This change does not affect semantics.
78880         Don't include <stdlib.h>; no longer needed.
78881         Don't include unlocked-io.h; only the "#if TEST" code uses
78882         stdio, and performance isn't crucial there.
78883         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
78884         Bison 1.875 features as described below.
78885         All uses of "PC." replaced by "pc->".
78886         (YYSTYPE): Add a forward declaration.
78887         (yylex, yyerror): Use full prototypes in forward decls.
78888         Use "%pure-parser" rather than obsolescent "%pure_parser".
78889         Use %parse-param and %lex-param instead of obsolescent
78890         YYPARSE_PARAM and YYLEX_PARAM.
78891         (meridian_table, month_and_day_table, time_units_table,
78892         relative_time_table, time_zone_table, military_table,
78893         lookup_zone, lookup_word, get_date):
78894         Use NULL instead of 0 where appropriate.
78895         (to_hour): Avoid abort (), to avoid a dependency on
78896         stdlib.h.
78897         (yyerror, yylex): Now accepts parser_control * arg.
78898         (main) [TEST]: Use '\0' rather than 0 for char.
78899
78900 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
78901
78902         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
78903
78904 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
78905
78906         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
78907         It's now the caller's responsibility to handle the case where
78908         !HAVE_GETPAGESIZE && !defined getpagesize.
78909
78910         * lib/mktime.c (leapyear): Arg is long int, not int.
78911
78912 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
78913
78914         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
78915
78916 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
78917
78918         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
78919         missing.  Problem reported by James Youngman.
78920
78921 2004-10-16  Simon Josefsson  <jas@extundo.com>
78922
78923         * gnulib-tool: Fix comments.  Fix parse problem.
78924         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
78925
78926 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
78927
78928         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
78929         implementation of getopt_long.  Problem reported by Alexander Taler in:
78930         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
78931
78932 2004-10-15  Bruno Haible  <bruno@clisp.org>
78933
78934         * gnulib-tool: Untabify. Initialize supplied_libname.
78935         (func_usage): More homogenous output.
78936         (func_modules_transitive_closure, func_modules_to_filelist,
78937         func_emit_lib_Makefile_am): New functions.
78938         (func_import): New function, extracted from big case statement. Use
78939         func_get_license, func_modules_transitive_closure,
78940         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
78941         opt_lgpl. Don't use test -a, as it's not portable.
78942         (func_create_testdir): Use func_modules_transitive_closure,
78943         func_modules_to_filelist, func_emit_lib_Makefile_am.
78944
78945 2004-10-15  Bruno Haible  <bruno@clisp.org>
78946
78947         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
78948
78949 2004-10-15  Bruno Haible  <bruno@clisp.org>
78950
78951         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
78952         the portions belonging to each module.
78953         Suggested by Derek Robert Price <derek@ximbiot.com>.
78954
78955 2004-10-12  Simon Josefsson  <jas@extundo.com>
78956
78957         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
78958         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
78959         to real functions.
78960
78961 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78962
78963         * modules/vsnprintf: New file.
78964
78965 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78966
78967         * m4/vsnprintf.m4: New file.
78968
78969 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78970
78971         * lib/vsnprintf.h: New file.
78972         * lib/vsnprintf.c: New file.
78973
78974 2004-10-11  Bruno Haible  <bruno@clisp.org>
78975
78976         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
78977         vsnprintf.
78978
78979 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
78980
78981         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
78982
78983 2004-10-07  Bruno Haible  <bruno@clisp.org>
78984
78985         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
78986         fits into the provided buffer.
78987
78988 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
78989
78990         * lib/diacrit.c, diacrit.h: Add GPL notice.
78991
78992         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
78993         notice.
78994         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
78995         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
78996         This avoids a potential constant-folding bug.
78997
78998 2004-10-05  Bruno Haible  <bruno@clisp.org>
78999
79000         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
79001         for the declaration of strsep.
79002
79003 2004-10-05  Bruno Haible  <bruno@clisp.org>
79004
79005         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
79006
79007 2004-10-04  Simon Josefsson  <jas@extundo.com>
79008
79009         * modules/memmem: New file.
79010         * tests/test-memmem.c: New file.
79011         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
79012
79013 2004-10-04  Simon Josefsson  <jas@extundo.com>
79014
79015         * m4/memmem.m4: New file.
79016
79017 2004-10-04  Simon Josefsson  <jas@extundo.com>
79018
79019         * lib/memmem.h: New file.
79020         * lib/memmem.c: New file, taken from glibc.
79021
79022 2004-10-04  Simon Josefsson  <jas@extundo.com>
79023
79024         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
79025         '#ifdef USE_UNLOCKED_IO'.
79026
79027 2004-10-04  Simon Josefsson  <jas@extundo.com>
79028
79029         * config/srclist.txt: Add memmem from glibc.
79030
79031 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
79032
79033         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
79034
79035         * modules/argmatch, modules/argp, modules/closeout, modules/error,
79036         modules/exclude, modules/getdate, modules/getline,
79037         modules/getndelim2, modules/getpass, modules/getpass-gnu,
79038         modules/getusershell, modules/linebuffer, modules/md5,
79039         modules/mountlist, modules/posixtm, modules/readtokens,
79040         modules/readutmp, modules/regex, modules/sha1,
79041         modules/version-etc, modules/yesno:
79042         Remove dependency on unlocked-io.
79043
79044 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
79045
79046         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
79047
79048         * m4/unlocked-io.m4: Add copyright notice.
79049         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
79050
79051 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
79052
79053         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
79054         * lib/xmalloc.c (xmemdup): Likewise.
79055         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
79056         XFREE): Remove these long-obsolescent macros.
79057         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
79058         * lib/xstrdup.c: Remove.
79059
79060         * lib/regex.c (re_comp): Cast gettext return value to char *,
79061         Problem reported by Martin Neitzel via Mark D. Baushke.
79062
79063 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
79064
79065         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
79066         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
79067         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
79068         regex.c, sha1.c, version-etc.c, yesno.c:
79069         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
79070         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
79071         the includer's responsibility.
79072
79073         Sync from coreutils.
79074
79075         * lib/modechange.c (mode_compile): Don't decrement a pointer that
79076         points to the start of a string, as the C Standard says the
79077         resulting behavior is undefined.
79078
79079         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
79080         simple -> simple_backups, numbered_existing ->
79081         numbered_existing_backups, numbered -> numbered_backups
79082         to avoid shadowing problems.  All uses changed.
79083         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
79084         * lib/backupfile.c (check_extension, numbered_backup):
79085         Rename locals to avoid shadowing 'basename'.
79086         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
79087         once.
79088
79089         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
79090         * lib/.cvsignore: Add getopt.h.
79091
79092 2004-10-04  Bruno Haible  <bruno@clisp.org>
79093
79094         * modules/README: New file.
79095         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
79096         not a module.
79097
79098 2004-10-02  Jim Meyering  <jim@meyering.net>
79099
79100         * lib/dirfd.h, getpagesize.h: Add copyright notice.
79101
79102 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
79103
79104         * modules/strsep: New file.
79105
79106 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
79107
79108         * m4/strsep.m4: New file.
79109
79110 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
79111
79112         * lib/strsep.h: New file.
79113         * lib/strsep.c: New file.
79114
79115 2004-10-01  Simon Josefsson  <jas@extundo.com>
79116
79117         * lib/snprintf.c (snprintf): Handle size==0.
79118
79119 2004-10-01  Simon Josefsson  <jas@extundo.com>
79120             Bruno Haible  <bruno@clisp.org>
79121
79122         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
79123         (snprintf): Declare 'args'.
79124
79125 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
79126
79127         * lib/snprintf.c: Remove comments as to why each header is needed.
79128
79129 2004-10-01  Bruno Haible  <bruno@clisp.org>
79130
79131         * MODULES.html.sh: Add strsep.
79132
79133 2004-09-30  Simon Josefsson  <jas@extundo.com>
79134
79135         * modules/snprintf: New file.
79136
79137 2004-09-30  Simon Josefsson  <jas@extundo.com>
79138
79139         * m4/snprintf.m4: New file.
79140
79141 2004-09-30  Simon Josefsson  <jas@extundo.com>
79142
79143         * lib/snprintf.h, lib/snprintf.c: New files.
79144
79145 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
79146
79147         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
79148         (hol_entry_help): Never translate an empty string.
79149         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
79150         * lib/argp.h (OPTION_NO_TRANS): New option.
79151
79152 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
79153
79154         * modules/argp (Maintainer): Replace Simon Josefsson
79155         by Sergey Poznyakoff.
79156
79157 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
79158
79159         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
79160         changes merged back into glibc.
79161
79162 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
79163
79164         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
79165
79166 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
79167
79168         * lib/xvasprintf.c: Include xalloc.h.
79169         (xvasprintf): Use xalloc_die, not xmalloc_die.
79170
79171 2004-09-29  Bruno Haible  <bruno@clisp.org>
79172
79173         * modules/alloca-opt: New file, derived from modules/alloca.
79174         * modules/allocsa: Depend on alloca-opt instead of alloca.
79175         * modules/setenv: Likewise.
79176         * modules/vasnprintf: Likewise.
79177         * MODULES.html.sh: Add alloca-opt.
79178
79179 2004-09-28  Simon Josefsson  <jas@extundo.com>
79180
79181         * gnulib-tool: New parameter --lgpl, to asseert that modules are
79182         LGPL, and to replace license template from GPL to LGPL.
79183
79184 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
79185
79186         * modules/dummy: Change license to LGPL.
79187
79188 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
79189
79190         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
79191
79192 2004-09-24  Simon Josefsson  <jas@extundo.com>
79193
79194         * modules/minmax (License): Change from GPL to LGPL.
79195
79196 2004-09-23  Simon Josefsson  <jas@extundo.com>
79197
79198         * gnulib-tool (--import): Typo.
79199
79200 2004-09-23  Simon Josefsson  <jas@extundo.com>
79201
79202         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
79203
79204 2004-09-22  Bruno Haible  <bruno@clisp.org>
79205
79206         * modules/*: Add 'License' field.
79207         * gnulib-tool: Accept --extract-license option.
79208         (func_get_license): New function.
79209
79210 2004-09-21  Bruno Haible  <bruno@clisp.org>
79211
79212         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
79213         Reported by Simon Josefsson.
79214
79215 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
79216
79217         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
79218         gl_AC_TYPE_LONG_LONG.
79219
79220 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
79221
79222         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
79223
79224 2004-09-18  Simon Josefsson  <jas@extundo.com>
79225         and  Paul Eggert  <eggert@cs.ucla.edu>
79226
79227         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
79228         calls with autoreconf.  Define GL_LIB.
79229
79230 2004-09-14  Karl Berry  <karl@gnu.org>
79231
79232         * config/srclist.txt: unsync setenv.c, sigh.
79233
79234 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
79235
79236         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
79237         Problem reported by Bruno Haible in:
79238         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
79239
79240 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
79241
79242         * config/srclist.txt: Comment out argp-pvh.c.
79243
79244 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
79245
79246         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
79247         in case some system header has #define'd it.  Problem reported by
79248         Soeren D. Schulze in
79249         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
79250
79251 2004-09-09  Karl Berry  <karl@gnu.org>
79252
79253         * regex.[ch]: delete from the root.  These were supposed to be
79254                 synced with emacs cvs, but this has not happened for about
79255                 a year, and anyway nothing else uses emacs regex.[ch].
79256                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
79257                 lib/regex[.ch] is untouched.
79258
79259 2004-09-09  Bruno Haible  <bruno@clisp.org>
79260
79261         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
79262
79263 2004-09-09  Bruno Haible  <bruno@clisp.org>
79264
79265         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
79266         modifications.
79267         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
79268
79269 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
79270
79271         * modules/xvasprintf: New file.
79272         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
79273
79274 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
79275
79276         * lib/xvasprintf.h: New file.
79277         * lib/xvasprintf.c: New file.
79278         * lib/xasprintf.c: New file.
79279
79280 2004-09-08  Bruno Haible  <bruno@clisp.org>
79281
79282         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
79283
79284 2004-09-08  Bruno Haible  <bruno@clisp.org>
79285
79286         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
79287         length is > INT_MAX.
79288         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
79289         more.
79290
79291 2004-09-08  Bruno Haible  <bruno@clisp.org>
79292
79293         * lib/stdint_.h: New file, taken from GNU clisp.
79294
79295 2004-09-08  Bruno Haible  <bruno@clisp.org>
79296             Oskar Liljeblad  <oskar@osk.mine.nu>
79297
79298         * modules/stdint: New file.
79299         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
79300
79301 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79302
79303         Import from coreutils.
79304         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
79305         strings on unbounded length.  alloca's performance benefits aren't
79306         that important here.
79307         (V_STRDUP): Remove.
79308         (parse_with_separator): New function, with most of the internals
79309         of the old parse_user_spec.  Allow user to omit both user and group,
79310         for compatibility with FreeBSD.
79311         Clone only the user name, not the entire spec.
79312         Do not set *uid, *gid unless entirely successful.
79313         Avoid memory leak in some failing cases.
79314         Fix regression for USER.GROUP reported by Dmitry V. Levin in
79315         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
79316         (parse_user_spec): Rewrite to use parse_with_separator.
79317
79318 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79319
79320         * modules/userspec: Don't depend on alloca.
79321
79322 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79323
79324         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
79325
79326 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
79327
79328         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
79329         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
79330         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
79331
79332 2004-08-16  Simon Josefsson  <jas@extundo.com>
79333
79334         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
79335         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
79336         Add --dry-run for --import.
79337         Let user provided command line parameters override configure.ac
79338         settings.
79339
79340 2004-08-12  Simon Josefsson  <jas@extundo.com>
79341
79342         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
79343         as discussed with Paul Eggert in threads rooted at
79344         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
79345         and
79346         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
79347         Before, the test was empty, and relied on ELIDE_CODE in source
79348         code.)
79349         (gl_PREREQ_GETOPT): New macro.
79350         (gl_GETOPT): Use them.
79351
79352 2004-08-12  Simon Josefsson  <jas@extundo.com>
79353
79354         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
79355         * lib/getopt_.h: Renamed from getopt.h.
79356
79357 2004-08-12  Simon Josefsson  <jas@extundo.com>
79358
79359         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
79360         Change default library name from libfoo to libgnu.
79361         Now, if you have a configure.ac that says:
79362                 gl_SOURCE_BASE(gl)
79363                 gl_M4_BASE(gl/m4)
79364                 gl_MODULES(error getopt etcetera)
79365                 gl_INIT
79366         you can import all you need by running:
79367                 ../gnulib/gnulib-tool --import
79368
79369         * modules/getopt (Files): Rename getopt.h to getopt_.h.
79370         (Makefile.am): Rewrite, use logic from argz.
79371         (Include): Use <getopt.h> instead of "getopt.h".
79372
79373 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
79374
79375         * modules/argp (Files): Add m4/unlocked-io.m4.
79376         (Depends-on): Add extensions.
79377
79378 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
79379
79380         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
79381         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
79382         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
79383         Check for program_invocation_name, program_invocation_short_name,
79384         flockfile, funlockfile, features.h, _getopt_long_only_r.
79385
79386 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
79387
79388         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
79389         its complicated substitute.
79390         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
79391         and program_invocation_name.
79392         (__argp_basename) [!_LIBC]: Remove; the only use was
79393         replaced by its body.
79394         (__argp_short_program_name): Change condition from
79395         !defined __argp_short_program_name to
79396         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
79397         to match argp-namefrob.h.
79398         (__argp_failure): Don't assume strerror_r returns char *.
79399         * lib/argp-parse.c (N_): Define unconditionally.
79400         (argp_default_options): Fill out initializers with 0 to avoid
79401         gcc warnings.
79402
79403 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
79404
79405         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
79406         getopt1.c.
79407
79408 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
79409
79410         Merge from coreutils.
79411
79412         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
79413
79414         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
79415         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
79416
79417 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
79418
79419         Merge from coreutils.
79420
79421         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
79422         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
79423         for Reliant Unix 5.43.
79424
79425         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
79426         (union fooround): Use uintmax_t, not long int.
79427         The rest is a merge from libc:
79428         [defined _LIBC]: Include <shlib-compat.h>.
79429         (_obstack) [defined _LIBC]: Remove after 2.3.4.
79430
79431         * lib/settime.c (settime): Recode to avoid warning with
79432         Sun Forte C 6U2.
79433
79434         * lib/strverscmp.c: Convert to UTF-8.
79435
79436 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
79437
79438         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
79439         m4/uintmax_t.m4.
79440
79441 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79442
79443         * modules/xalloc-die: New file.
79444         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
79445
79446         * modules/md5 (Files): Add m4/uint32_t.m4.
79447         * modules/sha1: Renamed from modules/sha.
79448         (Files):
79449         Rename lib/sha.h to lib/sha1.h.
79450         Rename lib/sha.c to lib/sha1.c.
79451         Rename m4/sha.m4 to m4/sha1.m4.
79452         (lib_SOURCES): Likewise.
79453         (configure.ac): Rename gl_SHA to gl_SHA1.
79454         (Include): sha.h -> sha1.h.
79455
79456 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79457
79458         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
79459         * m4/sha1.m4: Renamed from sha.m4.
79460         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
79461
79462 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79463
79464         * lib/obstack.h (obstack_empty_p):
79465         Don't assume that chunk->contents is suitably aligned.
79466         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
79467         Likewise. Problem reported by Benno in
79468         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
79469
79470         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
79471         readable.  This could be improved further but it'd take some work.
79472
79473 2004-08-08  Simon Josefsson  <jas@extundo.com>
79474
79475         * modules/xgethostname (Depends-on): Remove exit and error (not
79476         used).
79477
79478         * modules/getpass-gnu: Add getpass.h.
79479         (Depends-on): Add stdbool.
79480         * modules/getpass: Add getpass.h.
79481
79482 2004-08-08  Simon Josefsson  <jas@extundo.com>
79483
79484         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
79485         Check getpass declaration.
79486
79487 2004-08-08  Simon Josefsson  <jas@extundo.com>
79488
79489         * lib/xgethostname.c: Don't include error.h (not used).
79490
79491         * lib/getpass.h: Add.
79492         * lib/getpass.c: Include getpass.h first.
79493
79494 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
79495
79496         * lib/xalloc-die.c: New file.
79497         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
79498         All uses removed.
79499         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
79500         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
79501         xalloc-die.c.
79502         (_, N_, xalloc_die): Move to xalloc-die.c.
79503         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
79504         so that we needn't mess with xalloc_msg_memory_exhausted.
79505
79506         * lib/sha1.h: Renamed from sha.h.
79507         (SHA1_H): Renamed from _SHA_H.
79508         (sha1_ctx): Renamed from sha_ctx.
79509         (sha1_init_ctx): Renamed from sha_init_ctx.
79510         (sha1_process_block): Renamed from sha_process_block.
79511         (sha1_process_bytes): Renamed from sha_process_bytes.
79512         (sha1_finish_ctx): Renamed from sha_finish_ctx.
79513         (sha1_read_ctx): Renamed from sha_read_ctx.
79514         (sha1_stream): Renamed from sha_stream.
79515         (sha1_buffer): Renamed from sha_buffer.
79516         * lib/sha1.c: Likewise; renamed from sha.c.
79517         Do not include <sys/types.h>.
79518         Include <stddef.h> rather than <stdlib.h>.
79519
79520 2004-08-08  Bruno Haible  <bruno@clisp.org>
79521
79522         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
79523         FILESYSTEM_PREFIX_LEN.
79524         * lib/progreloc.c: Likewise.
79525         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
79526
79527 2004-08-06  Simon Josefsson  <jas@extundo.com>
79528
79529         * modules/progname (Depends-on): Don't depend on stdbool.
79530
79531 2004-08-06  Simon Josefsson  <jas@extundo.com>
79532
79533         * modules/getsubopt: New file.
79534         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
79535         getsubopt.
79536
79537 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
79538
79539         More merge from coreutils.
79540
79541         * m4/utimens.m4, m4/utimecmp.m4: New files.
79542         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
79543         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
79544         prereq.m4, sha.m4: Import changes from coreutils.
79545
79546 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
79547
79548         More merge from coreutils.
79549         * modules/raise, modules/readtokens0, modules/utimens:
79550         * modules/utimecmp, module/xnanosleep: New files.
79551         * modules/strftime: Add lib/strftime.h.
79552         Change include from <time.h> to "strftime.h".
79553         * modules/yesno: Add lib/yesno.h.
79554         * modules/backupfile: Remove lib/addext.c.
79555         * modules/euidaccess: Add stat-macros.h.
79556         * modules/canonicalize, modules/euidaccess,
79557         modules/filemode, modules/lchown, modules/makepath,
79558         modules/rmdir, modules/stat: Likewise.
79559
79560 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
79561
79562         Merge from tar.
79563         * lib/argp-help.c (make_hol, hol_append): Don't assume that
79564         SIZE_MAX is a valid preprocessor constant.
79565         (__argp_basename): Change from "#ifndef _LIBC"
79566         to "#ifndef __argp_short_program_name", so that
79567         we don't compile these functions for tar.
79568
79569         More merges from coreutils.
79570         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
79571         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
79572         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
79573         * lib/addext.c: Remove; no longer needed.
79574         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
79575         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
79576         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
79577         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
79578         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
79579         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
79580         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
79581         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
79582         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
79583         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
79584         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
79585         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
79586         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
79587         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
79588         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
79589         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
79590         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
79591         Import changes from coreutils.
79592
79593 2004-08-05  Simon Josefsson  <jas@extundo.com>
79594
79595         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
79596
79597 2004-08-05  Simon Josefsson  <jas@extundo.com>
79598
79599         * m4/getsubopt.m4: New file.
79600
79601 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
79602
79603         Merge from coreutils.
79604
79605         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
79606         * m4/getcwd-path-max.m4: New files.
79607
79608         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
79609         FILESYSTEM_PREFIX_LEN ->
79610         FILE_SYSTEM_PREFIX_LEN.
79611         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
79612         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
79613         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
79614         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
79615
79616         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
79617         prerequisite modules now handle the DOS stuff.
79618         Don't check for unistd.h.
79619
79620 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
79621
79622         Merge from coreutils.
79623
79624         * lib/.gdb-history: Remove; this doesn't belong here.
79625
79626         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
79627         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
79628         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
79629         * lib/getcwd.c: New files.
79630
79631         * lib/dirname.h: Include <stdbool.h>.
79632         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
79633         for consistency with POSIX terminology.  All uses changed.
79634         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
79635         (strip_trailing_slashes): Use bool for booleans.
79636         * lib/stripslash.c (strip_trailing_slashes): Likewise.
79637
79638         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
79639         sometimes returns a positive errno value even when it succeeds.
79640         (print_errno_message) [!LIBC]: Fall back on strerror if
79641         __strerror_r fails.
79642
79643         * lib/path-concat.c (mempcpy): Don't define if a system header defines
79644         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
79645         (longest_relative_suffix): New function.
79646         (path_concat): Use it.  Assume first argument is not NULL.
79647         Port to DOS.  Omit redundant separators.
79648         Report an error instead of returning NULL.
79649         Use mempcpy instead of memcpy.
79650         (xpath_concat): Remove: not declared or used.
79651
79652         * lib/same.h: Include <stdbool.h>
79653         (same_name): Return bool, not int.
79654         * lib/same.c (same_name): Likewise.
79655         (errno): Don't declare; we assume C89 or better now.
79656
79657         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
79658         if not already defined.
79659
79660         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
79661         * lib/dup-safer.c (errno): Likewise.
79662
79663 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
79664
79665         Merge from coreutils.
79666         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
79667         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
79668         * modules/path-concat: Don't depend on strdup.
79669
79670 2004-08-03  Simon Josefsson  <jas@extundo.com>
79671
79672         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
79673         * lib/progname.h: Don't include stdbool.h.
79674
79675 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
79676
79677         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
79678         * MODULES.html.sh (func_all_modules): Remove fatal.
79679
79680 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
79681
79682         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
79683
79684 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
79685
79686         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
79687         working.
79688
79689 2004-08-02  Simon Josefsson  <jas@extundo.com>
79690
79691         * lib/getsubopt.h: New file, with comments from Bruno Haible.
79692         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
79693         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
79694
79695 2004-08-01  Simon Josefsson  <jas@extundo.com>
79696
79697         * lib/xgetdomainname.c: Include stdlib.h, for free().
79698
79699 2004-07-19  Bruno Haible  <bruno@clisp.org>
79700
79701         * MODULES.html.sh (func_all_modules): Add dummy.
79702
79703 2004-07-16  Simon Josefsson  <jas@extundo.com>
79704
79705         * modules/dummy: New file.
79706
79707 2004-07-16  Simon Josefsson  <jas@extundo.com>
79708
79709         * lib/dummy.c: New file.
79710
79711 2004-07-16  Bruno Haible  <bruno@clisp.org>
79712
79713         * lib/backupfile.h: Add extern "C" for C++.
79714         * lib/closeout.h: Likewise.
79715         * lib/copy-file.h: Likewise.
79716         * lib/findprog.h: Likewise.
79717         * lib/full-write.h: Likewise.
79718         * lib/pathname.h: Likewise.
79719         * lib/progname.h: Likewise.
79720         * lib/stpcpy.h: Likewise.
79721         * lib/stpncpy.h: Likewise.
79722         * lib/strcase.h: Likewise.
79723         * lib/strstr.h: Likewise.
79724         * lib/xalloc.h: Likewise.
79725
79726         * lib/mbswidth.h: Add extern "C" for C++.
79727         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
79728
79729 2004-07-13  Robert Millan  <robertmh@gnu.org>
79730
79731         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
79732
79733 2004-07-09  Simon Josefsson  <jas@extundo.com>
79734
79735         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
79736         failed without this.)
79737
79738 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
79739
79740         * modules/chown (Files): Add lib/fchown-stub.c, since
79741         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
79742
79743 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
79744
79745         * lib/fchown-stub.c: New file.
79746
79747 2004-06-24  Jim Meyering  <jim@meyering.net>
79748
79749         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
79750
79751 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
79752
79753         * modules/argz: Omit "#include".
79754
79755         * MODULES.html.sh (func_all_modules): Add calloc, to match
79756         2004-06-01 addition of calloc module.
79757
79758 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
79759
79760         * m4/argz.m4: New file, which is autoupdated from libtool.
79761
79762 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
79763
79764         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
79765         libtool.
79766
79767 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
79768
79769         * config/srclist-update: Don't insist on "USA." before the
79770         close-comment, as libtool omits the period and puts the */ on a
79771         separate line.
79772         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
79773         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
79774
79775 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
79776
79777         * modules/argz: New file.
79778         * MODULES.html.sh (func_all_modules): Add argz.
79779
79780 2004-06-12  Jim Meyering  <jim@meyering.net>
79781         and  Paul Eggert  <eggert@cs.ucla.edu>
79782
79783         * modules/hash (Files): Add lib/xalloc.h.
79784         * modules/pipe (Depends-on): Add wait-process.
79785         * modules/stat (Depends-on): Add xalloc.
79786         * modules/userspec (Files): Add lib/userspec.h.
79787         * modules/xstrto
79788
79789         Upgrade from gettext-0.13.
79790         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
79791         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
79792         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
79793
79794 2004-06-10  Jim Meyering  <jim@meyering.net>
79795
79796         * lib/calloc.c: New file.
79797
79798 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
79799
79800         * lib/getdate.y (yylex): Allow space between sign and number.
79801         Problem reported by Dan Jacobson.
79802
79803 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
79804
79805         Merge from coreutils CVS.
79806
79807         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
79808         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
79809         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
79810         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
79811         xstrtol.m4: Fix copyright date and/or serial number.
79812
79813         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
79814         See if we need an fchown replacement.
79815         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
79816         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
79817         and use the replacement function if we detect either defect.
79818
79819         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
79820         gl_UTIMECMP.
79821
79822 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
79823         and  Jim Meyering  <jim@meyering.net>
79824
79825         Merge from coreutils CVS.
79826
79827         * lib/stat-macros.h: New file, with contents from file-type.h
79828         and coreutils' system.h.
79829         * lib/file-type.c: Include "stat-macros.h".
79830         * lib/file-type.h (file_type): Move all macro definitions to new file,
79831         stat-macros.h.
79832
79833         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
79834         Wrap old code with this conditional.
79835         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
79836         function that does not dereference symlinks.
79837         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
79838
79839         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
79840         dependency problems.
79841         (xreadlink): Accept new arg SIZE, for efficiency.
79842         All decls and uses changed.
79843         * lib/xreadlink.h: Include <stddef.h>, for size_t.
79844
79845         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
79846         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
79847
79848         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
79849         sysexits.h.
79850
79851 2004-06-01  Jim Meyering  <jim@meyering.net>
79852
79853         * m4/calloc.m4: New file.
79854
79855 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
79856
79857         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
79858         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
79859         Also, fix a typo in a diagnostic.
79860
79861 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
79862
79863         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
79864         or AC_FUNC_REALLOC.
79865
79866 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
79867
79868         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
79869         macros to be defined.
79870         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
79871         the allocator returns NULL because the requested size is zero.
79872
79873 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
79874
79875         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
79876         var.  Add comment explaining why libc still defines it.  This
79877         merges the following patch from glibc:
79878         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
79879
79880 2004-05-20  Andreas Schwab  <schwab@suse.de>
79881
79882         * m4/free.m4: Replace free if it not known to work, not the other
79883         way round.
79884
79885 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
79886
79887         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
79888         present in glibc since revision 1.1 of this file.
79889         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
79890         obstack_alignment_mask, obstack_alloc, obstack_base,
79891         obstack_blank, obstack_blank_fast, obstack_chunk_size,
79892         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
79893         obstack_grow0, obstack_init, obstack_int_grow,
79894         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
79895         obstack_next_free, obstack_object_size, obstack_ptr_grow,
79896         obstack_ptr_grow_fast, obstack_room): Remove declarations of
79897         nonexistent functions.
79898
79899 2004-05-18  Karl Berry  <karl@gnu.org>
79900
79901         * config/srclist.txt: break link for vasnprintf.c.
79902
79903 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
79904
79905         Port obstack to the AS/400, where pointers are 16 bytes wide and
79906         you cannot cast an integer to a valid pointer.  This patch is
79907         currently waiting to be integrated into glibc; see
79908         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
79909
79910         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
79911         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
79912         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
79913         (struct obstack): temp member is now a union of a pointer and
79914         an integer, instead of an integer.  All integer uses changed.
79915         This does not affect the physical layout of struct obstack,
79916         except on hosts (like the AS/400) where the size or alignment of
79917         void * is greater than that of ptrdiff_t.
79918         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
79919         __STDC__)]: Store temporary in pointer member of union, not
79920         integer member.
79921         * lib/obstack.c: Include <stddef.h>, for offsetof.
79922         (struct fooalign): Remove; it doesn't need a name.
79923         (union fooround): Change double to long double, and add void *.
79924         (DEFAULT_ALIGNMENT): Use offsetof to compute.
79925         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
79926         not a macro.  Hence the values are always int; so remove all
79927         casts-to-int in uses.
79928
79929 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
79930
79931         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
79932         we can get this patch merged into glibc.
79933
79934 2004-05-17  Derek R. Price  <derek@ximbiot.com>
79935             Paul Eggert  <eggert@cs.ucla.edu>
79936
79937         * m4/argp: Depend on alloca.
79938
79939 2004-05-17  Derek R. Price  <derek@ximbiot.com>
79940             Paul Eggert  <eggert@cs.ucla.edu>
79941
79942         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
79943         freecoding.
79944
79945 2004-05-17  Bruno Haible  <bruno@clisp.org>
79946
79947         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
79948         precision that consists of a '.' followed by an empty digit string.
79949         Patch by Tor Lillqvist <tml@iki.fi>.
79950
79951 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
79952
79953         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
79954         for backward compatibility with older code.  We need our own
79955         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
79956         it under some other name, and our alloca.h will define it.
79957
79958 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
79959             Derek Price  <derek@ximbiot.com>
79960
79961         * lib/alloca.c: Include <alloca.h>, to get our interface.
79962         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
79963         include <alloca.h> first.  Use C89 prototype for alloca; this
79964         requires including <stddef.h> for size_t.  Use extern "C" if C++.
79965         Use #elif for simplicity, since we can assume C89 now.
79966         Don't try to source the system alloca.h since it will not be found
79967         and to prevent recursively including its replacement.
79968         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
79969         * lib/regex.c: Likewise.
79970
79971 2004-05-16  Derek Price  <derek@ximbiot.com>
79972             Paul Eggert  <eggert@cs.ucla.edu>
79973
79974         getline cleanup.  This changes the getndelim2 API: both order of
79975         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
79976         no delimiter).
79977
79978         * lib/getline.c: Don't include stddef.h or stdio.h, since our
79979         interface does that.
79980         (getline): Always use getdelim, so that we don't have two
79981         copies of this code.
79982         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
79983         if available.
79984         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
79985         (GETNDELIM2_MAXIMUM): New macro.
79986         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
79987         instead of the old practice of delim2==0.  All callers changed.
79988         Return -1 on overflow, instead of returning junk.
79989         Do not set *linesize unless allocation succeeds.
79990         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
79991         that we include sys/types.h.
79992         * lib/getnline.h: Likewise.
79993         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
79994         (getndelim2): Reorder arguments.
79995         * lib/getnline.c (getnline, getndelim):
79996         Don't discard the NMAX argument.
79997         (getnline): Invoke getndelim, to avoid code duplication.
79998         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
79999         of (size_t) -1 by callers of the getnline family.
80000
80001 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
80002
80003         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
80004         Check for gettimeofday.
80005         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
80006         Check for settimeofday, stime.
80007
80008 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
80009
80010         * lib/nanosleep.c (suspended): Change its type from int to
80011         sig_atomic_t volatile.
80012         (first_call): Make it private to rpl_nanosleep, and have it
80013         be zero initially as that's a bit faster.
80014         (my_usleep): Round up fractional times instead of truncating them,
80015         as this is the usual meaning for 'sleep'.
80016
80017         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
80018         doesn't work.
80019         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
80020         (ENOSYS): Define if not defined.
80021         (settime): Fall back on stime if it exists and settimeofday fails.
80022         But don't bother with fallbacks if a method fails with errno == EPERM.
80023
80024 2004-05-11  Jim Meyering  <jim@meyering.net>
80025
80026         Prior to this change, the save_cwd caller required read access to the
80027         current directory on most systems (ones with the fchdir function).
80028
80029         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
80030         fails, try write-only, and finally, resort to using xgetcwd.
80031
80032 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
80033
80034         * lib/obstack.c, obstack.h: Import changes from libc.
80035
80036 2004-04-28  Bruno Haible  <bruno@clisp.org>
80037
80038         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
80039         also implicitly appends .exe to executables.
80040         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
80041         accepts Windows pathnames.
80042         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
80043         Treat Cygwin like Windows, since it now accepts Windows pathnames.
80044         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
80045         Treat Cygwin like Windows, since it now accepts Windows pathnames.
80046         Reported by Derek Robert Price <derek@ximbiot.com>.
80047
80048 2004-04-21  Karl Berry  <karl@gnu.org>
80049
80050         * config/srclist.txt (localcharset.c): break sync.
80051
80052 2004-04-20  Paul Eggert  <eggert@twinsun.com>
80053
80054         * m4/host-os.m4: Add a copyright notice.
80055
80056 2004-04-20  Jim Meyering  <jim@meyering.net>
80057
80058         Change UTILS_ to gl_ in AC_DEFINE'd names.
80059         Change utils_- and jm_-prefixed variables, too.
80060         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
80061         UTILS_FUNC_MKDIR_TRAILING_SLASH.
80062         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
80063
80064         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
80065         Don't emit trailing blanks.
80066         Also rename jm_-prefixed variables to have gl_ prefix.
80067
80068         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
80069         Also rename jm_-prefixed variables to have gl_ prefix.
80070
80071         * m4/jm-macros.m4: Reflect the renamings.
80072         * m4/prereq.m4: Likewise.
80073
80074 2004-04-20  Jim Meyering  <jim@meyering.net>
80075
80076         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
80077         memory.
80078
80079 2004-04-20  Jim Meyering  <jim@meyering.net>
80080             Bruno Haible  <bruno@clisp.org>
80081
80082         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
80083         memory when realloc fails.
80084
80085 2004-04-19  Jim Meyering  <jim@meyering.net>
80086
80087         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
80088         now that readutmp.c may call `free (0)'.
80089
80090 2004-04-19  Bruno Haible  <bruno@clisp.org>
80091
80092         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
80093         * m4/inttypes_h.m4: Likewise.
80094         * m4/stdint_h.m4: Likewise.
80095         * m4/intmax_t.m4: Likewise.
80096         * m4/uintmax_t.m4: Likewise.
80097
80098 2004-04-18  Jim Meyering  <jim@meyering.net>
80099
80100         * m4/prereq.m4: Don't forbid jm_ prefix.
80101
80102         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
80103         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
80104         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
80105         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
80106         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
80107         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
80108         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
80109         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
80110         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
80111         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
80112         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
80113         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
80114         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
80115         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
80116         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
80117         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
80118         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
80119         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
80120         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
80121
80122 2004-04-18  Jim Meyering  <jim@meyering.net>
80123
80124         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
80125         failure, don't leak memory and do call END_UTMP_ENT.
80126
80127 2004-04-16  Jim Meyering  <jim@meyering.net>
80128
80129         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
80130         coreutils' stat program.
80131         (gl_PREREQ): Don't require jm_PREREQ_STAT.
80132
80133 2004-04-11  Paul Eggert  <eggert@twinsun.com>
80134
80135         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
80136         C89.
80137         (CHAR_BIT): Remove, since we assume C89.
80138         Include <stdint.h> if available, as per current Autoconf CVS advice.
80139
80140 2004-03-31  Jim Meyering  <jim@meyering.net>
80141
80142         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
80143         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
80144         * m4/xalloc.m4: Likewise.
80145
80146 2004-03-30  Paul Eggert  <eggert@twinsun.com>
80147
80148         Merge from coreutils.
80149
80150         * m4/inttostr.m4: New file.
80151         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
80152         Require AM_STDBOOL_H and gl_TIMESPEC instead.
80153         Require gl_CLOCK_TIME.
80154         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
80155
80156 2004-03-30  Paul Eggert  <eggert@twinsun.com>
80157
80158         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
80159         not bool, to be more consistent with Unix conventions.
80160         Suggested by Bruno Haible.
80161
80162         Merge from coreutils.
80163
80164         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
80165         * lib/umaxtostr.c: New files.
80166
80167         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
80168         the usual <time.h> dance.
80169         (get_date): Change signature to support fractional time stamps.
80170         All callers changed.
80171         * lib/getdate.y: Include "getdate.h" first, as we can now
80172         assume C89 and don't need to worry about 'const'.
80173         Similarly, include "unlocked-io.h" near start, not in middle.
80174         Include <limits.h>.
80175         (textint.value): Use long int rather than int.
80176         (textint.digits): Use size_t rather than int.
80177         (BILLION, LOG10_BILLION): New constants.
80178         (parser_control): New member rel_ns.  Members day_ordinal,
80179         time_zone, month, day, hour, minutes, rel_year, rel_month,
80180         rel_day, rel_hour, rel_minutes, rel_seconds
80181         are now long int, not int.  Member seconds is now struct timespec,
80182         not int.  New member timespec_seen.  Members dates_seen, days_seen,
80183         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
80184         not int.
80185         (%union.intval): Now long int, not int.
80186         New member timespec.
80187         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
80188         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
80189         (spec): Now is a timespec or an item list.
80190         (timespec, items): New nonterminals.
80191         (time, rel, relunit, number, get_date):
80192         Add support for fractional seconds.
80193         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
80194         (gmtime, localtime, mktime): Remove decls; not needed with C89.
80195         (to_hour): First arg is now long int, not int.
80196         (to_year): Returns long int, not int.
80197         Don't treat year -70 like 70.
80198         (tm_diff): Returns long int, not int.
80199         (lookup_word): Use bool instead of int when appropriate.
80200         (yylex): Use size_t for count, not int.
80201         Detect overflow when parsing large integer constants.
80202         Add support for fractions.
80203         (get_date): Make pointers 'const' if possible.
80204         Use more-portable code to detect integer overflow.
80205         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
80206         Don't use ctime; it's not reliable if the year has >4 digits.
80207
80208         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
80209         This is for compatibility with BSD.
80210
80211         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
80212         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
80213         From coreutils' system.h.
80214
80215         * lib/userspec.c: Don't include "posixver.h".
80216         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
80217         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
80218         compatible extension.  Simplify code by removing a boolean int
80219         that was always nonzero if a string was nonnull.
80220
80221 2004-03-30  Jim Meyering  <jim@meyering.net>
80222
80223         Merge from coreutils.
80224
80225         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
80226         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
80227         on some systems one must include <grp.h> before it.
80228         Reported by Christian Krackowizer.
80229
80230 2004-03-30  Jim Meyering  <jim@meyering.net>
80231
80232         Merge from coreutils.
80233
80234         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
80235
80236         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
80237         an empty input stream.
80238
80239         * lib/readtokens.c: Include <stdbool.h>.
80240         (readtoken): Use `size_t' rather than int/long.
80241         All callers adjusted.
80242         Use `bool' rather than `int' where appropriate.
80243         Use memset rather than an explicit loop.
80244         Use x2nrealloc rather than xrealloc.
80245         Allow the use of `\0' as a delimiter.
80246         (readtokens): Likewise.
80247         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
80248
80249 2004-03-30  Jim Meyering  <jim@meyering.net>
80250
80251         * m4/realloc.m4: Remove file, since now it does no more than
80252         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
80253         the `configure.ac' section of module/realloc.
80254         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
80255
80256 2004-03-30  Bruno Haible  <bruno@clisp.org>
80257
80258         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
80259         nonnull.
80260
80261 2004-03-29  Paul Eggert  <eggert@twinsun.com>
80262
80263         Merge changes to getloadavg.c from coreutils and Emacs.
80264
80265         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
80266         Define to an expression, not to the empty string.
80267         Include cloexec.h and xalloc.h.
80268         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
80269         Use set_cloexec_flag rather than rolling our own.
80270         * lib/cloexec.c, lib/cloexec.h: New files.
80271
80272 2004-03-29  Paul Eggert  <eggert@twinsun.com>
80273
80274         * m4/cloexec.m4: New file.
80275
80276 2004-03-18  Paul Eggert  <eggert@twinsun.com>
80277
80278         * lib/getopt.h: Sync with libc CVS.
80279
80280 2004-03-18  Paul Eggert  <eggert@twinsun.com>
80281             Bruno Haible  <bruno@clisp.org>
80282
80283         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
80284         mbswidth.
80285
80286 2004-03-18  Paul Eggert  <eggert@twinsun.com>
80287             Bruno Haible  <bruno@clisp.org>
80288
80289         * lib/mbswidth.h: Include <wchar.h> only if
80290         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
80291         <wchar.h>.
80292         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
80293
80294 2004-03-09  Paul Eggert  <eggert@twinsun.com>
80295
80296         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
80297         Sync with libc CVS.
80298         * lib/getopt_int.h: New file, also synced from libc.
80299
80300 2004-03-09  Paul Eggert  <eggert@twinsun.com>
80301
80302         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
80303         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
80304         Bring back getopt.c, getopt.h, getopt1.c.
80305
80306 2004-03-07  Paul Eggert  <eggert@twinsun.com>
80307
80308         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
80309         All uses changed.  Check for sa_sigaction member; this fixes
80310         a bug first reported by Jason Andrade in
80311         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
80312
80313 2004-03-07  Paul Eggert  <eggert@twinsun.com>
80314
80315         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
80316         '#if' expressions.  Unlike the code it replaces, it does not
80317         depend on (defined _SC_PAGESIZE).  However, it does depend on
80318         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
80319         first reported by Jason Andrade in
80320         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
80321
80322 2004-02-25  Simon Josefsson  <jas@extundo.com>
80323
80324         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
80325
80326 2004-02-25  Simon Josefsson  <jas@extundo.com>
80327
80328         * lib/strdup.h: New file.
80329         * lib/strdup.c: Include it.
80330         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
80331         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
80332
80333 2004-02-23  Karl Berry  <karl@gnu.org>
80334
80335         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
80336         (from fencepost.gnu.org:/gd/gnuorg).
80337
80338 2004-02-23  Karl Berry  <karl@gnu.org>
80339
80340         * config/srclistvars.sh (GNUORG) [karl]: redefine.
80341         * config/srclist.txt: add maintain/standards documents.
80342
80343 2004-02-18  Bruno Haible  <bruno@clisp.org>
80344
80345         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
80346         Reported by Derek Robert Price <derek@ximbiot.com>.
80347
80348 2004-02-16  Karl Berry  <karl@gnu.org>
80349
80350         * config/mkinstalldirs, install-sh: update from automake.
80351
80352 2004-02-06  Karl Berry  <karl@gnu.org>
80353
80354         * m4/po.m4: update from gettext 0.14.1.
80355
80356 2004-02-06  Karl Berry  <karl@gnu.org>
80357
80358         * lib/config.charset: update from gettext 0.14.1.
80359
80360 2004-02-05  Paul Eggert  <eggert@twinsun.com>
80361
80362         Add comments and code, prompted by suggestions from Bruno Haible
80363         for sh-quote.
80364         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
80365         describing the enum quoting_style values.
80366         * lib/quotearg.c (quotearg_alloc): New function.
80367         (quotearg_buffer_restyled): Treat lone { and } as special.
80368         Treat = as special.  Work around bug with older shells
80369         that "see" a '\' that is really the 2nd byte of a multibyte char.
80370         Quote empty string with shell_quoting_style.
80371
80372 2004-02-03  Bruno Haible  <bruno@clisp.org>
80373
80374         * m4/pipe.m4: New file, from GNU gettext.
80375
80376 2004-02-03  Bruno Haible  <bruno@clisp.org>
80377
80378         * lib/pipe.h: New file, from GNU gettext.
80379         * lib/pipe.c: New file, from GNU gettext.
80380
80381 2004-01-27  Bruno Haible  <bruno@clisp.org>
80382
80383         * m4/execute.m4: New file, from GNU gettext.
80384
80385 2004-01-27  Bruno Haible  <bruno@clisp.org>
80386
80387         * lib/execute.h: New file, from GNU gettext.
80388         * lib/execute.c: New file, from GNU gettext.
80389         * lib/w32spawn.h: New file, from GNU gettext.
80390
80391 2004-01-24  Paul Eggert  <eggert@twinsun.com>
80392
80393         Merge from diffutils.
80394
80395         * lib/file-type.c (file_type): Add typed memory objects.
80396         * lib/file-type.h (S_TYPEISTMO): New macro.
80397
80398         * lib/c-stack.h (c_stack_action): Remove argv argument.
80399         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
80400         (die): Don't calculate message unless segv_action returns.
80401         (get_stack_location, min_address_from_argv, max_address_from_argv,
80402         volatile stack_base, volatile_stack_size): Remove.
80403         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
80404         that every segmentation violation is a stack overflow.  (Ouch!)
80405         See Debian bug 136249 (still outstanding) for more info about why
80406         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
80407
80408 2004-01-24  Paul Eggert  <eggert@twinsun.com>
80409
80410         Exit-status fix from coreutils.
80411
80412         Use exit_failure consistently in place of EXIT_FAILURE,
80413         so that program exit statuses are consistent on failure.
80414
80415         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
80416         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
80417         * lib/argmatch.h: Comment fix to match the above.
80418         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
80419         Now a macro referring to exit_failure, instead of a separate
80420         variable.  Include "exitfail.h" to get it.
80421         * lib/xstrtol.h: Include "exitfail.h".
80422         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
80423
80424         * lib/long-options.c (parse_long_options): Use prototype
80425         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
80426         for clarity.
80427
80428 2004-01-21  Jim Meyering  <jim@meyering.net>
80429
80430         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
80431         so as not to conflict with a different-sized __mktime_internal
80432         function in GNU libc.
80433         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
80434         Problem building statically-linked `ls' reported by Michael Brunnbauer.
80435
80436 2004-01-20  Karl Berry  <karl@gnu.org>
80437
80438         * config/config.guess: update from config.
80439
80440         * config/srclistvars.sh: GNUWWWLICENSES for karl.
80441
80442 2004-01-20  Bruno Haible  <bruno@clisp.org>
80443
80444         Safer stack allocation.
80445         * lib/setenv.c: Include allocsa.h.
80446         (alloca): Remove fallback definition.
80447         (freea): Remove macro.
80448         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
80449         instead of freea.
80450
80451 2004-01-20  Bruno Haible  <bruno@clisp.org>
80452
80453         * m4/eealloc.m4: New file, from GNU gettext.
80454
80455 2004-01-20  Bruno Haible  <bruno@clisp.org>
80456
80457         * m4/allocsa.m4: New file, from GNU gettext.
80458
80459 2004-01-20  Bruno Haible  <bruno@clisp.org>
80460
80461         * lib/xallocsa.h: New file, from GNU gettext.
80462         * lib/xallocsa.c: New file, from GNU gettext.
80463
80464 2004-01-20  Bruno Haible  <bruno@clisp.org>
80465
80466         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
80467
80468 2004-01-20  Bruno Haible  <bruno@clisp.org>
80469
80470         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
80471         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
80472         specially.
80473
80474 2004-01-20  Bruno Haible  <bruno@clisp.org>
80475
80476         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
80477         patch.
80478
80479 2004-01-20  Bruno Haible  <bruno@clisp.org>
80480
80481         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
80482
80483 2004-01-20  Bruno Haible  <bruno@clisp.org>
80484
80485         * lib/eealloc.h: New file.
80486
80487 2004-01-20  Bruno Haible  <bruno@clisp.org>
80488
80489         * lib/binary-io.h: Avoid warnings on Cygwin.
80490
80491 2004-01-20  Bruno Haible  <bruno@clisp.org>
80492
80493         * lib/allocsa.h: New file, from GNU gettext.
80494         * lib/allocsa.c: New file, from GNU gettext.
80495
80496 2004-01-18  Karl Berry  <karl@gnu.org>
80497
80498         * doc/gpl.texi, doc/lgpl.texi: new files.
80499
80500 2004-01-18  Karl Berry  <karl@gnu.org>
80501
80502         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
80503         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
80504
80505 2004-01-15  Paul Eggert  <eggert@twinsun.com>
80506
80507         Merge from coreutils.
80508
80509         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
80510         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
80511         (gl_DEFAULT_POSIX2_VERSION): Move
80512         the documentation from 'configure' into 'config.hin',
80513         so that 'configure --help' isn't burdened by it and
80514         we don't have to worry about its formatting there.
80515         Reword the documentation so that it's more succinct
80516         and can be run together into a single paragraph.
80517         * m4/same.m4 (gl_SAME): Check for pathconf.
80518
80519 2004-01-15  Paul Eggert  <eggert@twinsun.com>
80520
80521         Merge from coreutils.
80522
80523         * lib/posixver.c: Include posixver.h.
80524
80525         * lib/same.c: Include <stdbool.h>, <limits.h>.
80526         (_POSIX_NAME_MAX): Define if not defined.
80527         (MIN): New macro.
80528         (same_name): If file names are silently truncated, report
80529         that the file names are the same if they are the same after
80530         the silent truncation.
80531
80532         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
80533         conversion function.
80534         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
80535         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
80536         longer needed.
80537
80538 2004-01-15  Jim Meyering  <jim@meyering.net>
80539
80540         Merge from coreutils.
80541
80542         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
80543         if no library is required.
80544         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
80545         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
80546         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
80547         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
80548         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
80549         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
80550         value, $ac_cv_search_crypt, if it's "none required".
80551         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
80552         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
80553         not gl_FUNC_GETLOADAVG.
80554         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
80555         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
80556
80557 2004-01-15  Jim Meyering  <jim@meyering.net>
80558
80559         Merge from coreutils.
80560
80561         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
80562         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
80563         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
80564
80565         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
80566         optional configure-time default.
80567
80568         * lib/version-etc.c (version_etc_copyright): Update copyright date.
80569
80570         * lib/xreadlink.c (xreadlink): Correct outdated comment.
80571
80572 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
80573
80574         Merge from coreutils.
80575
80576         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
80577         value, $ac_cv_search_nanosleep, if it's "none required".
80578
80579 2004-01-14  Paul Eggert  <eggert@twinsun.com>
80580
80581         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
80582         with like-named macro in fnmatch.c.
80583         (EXT): Use an internal constant instead.
80584
80585         Merge fnmatch patches from glibc.
80586         * lib/fnmatch.c (mbsinit): Remove define.
80587         Add libc_hidden_ver (__fnmatch, fnmatch).
80588         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
80589         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
80590
80591 2004-01-14  Karl Berry  <karl@gnu.org>
80592
80593         * config/install-sh: update from automake.
80594
80595 2004-01-13  Karl Berry  <karl@gnu.org>
80596
80597         * config/install-sh: update from automake.
80598
80599 2004-01-09  Karl Berry  <karl@gnu.org>
80600
80601         * config/install-sh: update from automake.
80602
80603 2004-01-05  Karl Berry  <karl@gnu.org>
80604
80605         * config/config.{sub,guess}: update from config.
80606
80607 2003-12-31  Karl Berry  <karl@gnu.org>
80608
80609         * config/depcomp: update from automake.
80610
80611 2003-12-14  Karl Berry  <karl@gnu.org>
80612
80613         * lib/config.charset: update from gettext-runtime.
80614
80615 2003-12-03  Paul Eggert  <eggert@twinsun.com>
80616
80617         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
80618         Bug reported by Alfred M. Szmidt.
80619
80620 2003-12-03  Bruno Haible  <bruno@clisp.org>
80621
80622         * m4/gettext.m4: Upgrade from gettext-0.13.
80623         * m4/po.m4: Upgrade from gettext-0.13.
80624         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
80625         * m4/intmax.m4: New file, from gettext-0.13.
80626         * m4/printf-posix.m4: New file, from gettext-0.13.
80627
80628 2003-11-29  Karl Berry  <karl@gnu.org>
80629
80630         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
80631
80632 2003-11-25  Paul Eggert  <eggert@twinsun.com>
80633             Bruno Haible  <bruno@clisp.org>
80634
80635         * lib/printf-parse.h: Don't include sys/types.h.
80636         (ARG_NONE): New macro.
80637         (char_directive): Change type of *arg_index fields to size_t.
80638         * lib/printf-parse.c: Don't include sys/types.h.
80639         (SSIZE_MAX): Remove macro.
80640         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
80641         Remove unnecessary overflow check.
80642         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
80643         fields.
80644
80645 2003-11-25  Bruno Haible  <bruno@clisp.org>
80646
80647         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
80648
80649 2003-11-25  Bruno Haible  <bruno@clisp.org>
80650
80651         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
80652         gt_TYPE_SSIZE_T.
80653
80654 2003-11-24  Paul Eggert  <eggert@twinsun.com>
80655
80656         * modules/alloca: Remove dependency on xalloc.
80657
80658 2003-11-24  Paul Eggert  <eggert@twinsun.com>
80659
80660         * lib/alloca.c: Remove dependency on xalloc module.
80661         (xalloc_die): Remove.
80662         (memory_full) [!defined emacs]: New macro.
80663         [!defined emacs]: Don't include xalloc.h.
80664         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
80665         address arithmetic overflows.  Change datatypes a bit to avoid
80666         unnecessary casts.
80667
80668 2003-11-22  Jim Meyering  <jim@meyering.net>
80669
80670         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
80671         s/size/size_t/.
80672
80673 2003-11-21  Karl Berry  <karl@gnu.org>
80674
80675         * config/config.{sub,guess}: update from config.
80676
80677 2003-11-18  Karl Berry  <karl@gnu.org>
80678
80679         * config/config.{sub,guess}: update from config.
80680
80681         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
80682
80683 2003-11-17  Paul Eggert  <eggert@twinsun.com>
80684
80685         * README: Mention that S+T cannot overflow if S is the size of
80686         an existing object and T is sufficiently small.
80687
80688 2003-11-17  Jim Meyering  <jim@meyering.net>
80689
80690         On systems without utime and without a utimes function capable of
80691         dealing with a NULL struct utimbuf* argument, this utime replacement
80692         could -- in unusual circumstances -- leak a file descriptor.
80693         * lib/utime.c: Include <unistd.h> and <errno.h>.
80694         (utime_null): Be sure to close `fd' and to preserve errno.
80695         Reported by Geoff Collyer via Arnold Robbins.
80696
80697 2003-11-17  Bruno Haible  <bruno@clisp.org>
80698
80699         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
80700         (Depends-on): Add xsize.
80701
80702 2003-11-17  Bruno Haible  <bruno@clisp.org>
80703
80704         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
80705
80706 2003-11-17  Bruno Haible  <bruno@clisp.org>
80707
80708         * lib/vasnprintf.c (alloca): Remove fallback definition.
80709         (freea): Remove definition.
80710         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
80711         Reported by Paul Eggert.
80712
80713 2003-11-16  Paul Eggert  <eggert@twinsun.com>
80714             Bruno Haible  <bruno@clisp.org>
80715
80716         Protect against address arithmetic overflow.
80717         * lib/printf-args.h: Include stddef.h.
80718         (arguments): Change type of field 'count' to size_t.
80719         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
80720         'unsigned int' where appropriate.
80721         * lib/printf-parse.h: Include sys/types.h.
80722         (char_directive): Change type of *arg_index fields to ssize_t.
80723         (char_directives): Change type of fields 'count', max_*_length to
80724         size_t.
80725         * lib/printf-parse.c: Include sys/types.h and xsize.h.
80726         (SSIZE_MAX): Define fallback value.
80727         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
80728         instead of 'int' where appropriate. Check a_allocated, d_allocated
80729         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
80730         * lib/vasnprintf.c: Include xsize.h.
80731         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
80732         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
80733         overflow. Avoid wraparound when converting a width or precision from
80734         decimal to binary.
80735
80736 2003-11-16  Bruno Haible  <bruno@clisp.org>
80737
80738         Update from GNU gettext.
80739         * lib/printf-parse.c: Generalize to it can be compiled for wide
80740         strings.
80741         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
80742         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
80743         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
80744         SNPRINTF): New macros.
80745         Don't include <alloca.h> if the file is used inside libintl.
80746         (local_wcslen): New function, for Solaris 2.5.1.
80747         (VASNPRINTF): Use it instead of wcslen.
80748
80749 2003-11-16  Bruno Haible  <bruno@clisp.org>
80750
80751         * lib/xsize.h (xmax): New function.
80752         (xsum, xsum3, xsum4): Declare as "pure" functions.
80753
80754 2003-11-12  Paul Eggert  <eggert@twinsun.com>
80755
80756         * modules/xalloc (Files): Undo latest change, since xalloc.h
80757         no longer needs SIZE_MAX or PTRDIFF_MAX.
80758
80759 2003-11-12  Paul Eggert  <eggert@twinsun.com>
80760
80761         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
80762         gl_PTRDIFF_MAX.
80763
80764 2003-11-12  Paul Eggert  <eggert@twinsun.com>
80765
80766         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
80767         "return", to pacify some unknown compiler.  Problem reported
80768         by Joerg Schilling.
80769
80770 2003-11-12  Paul Eggert  <eggert@twinsun.com>
80771
80772         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
80773         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
80774         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
80775         heuristic is just as accurate as far as we know, and it removes a
80776         dependency on size_max.m4 and ptrdiff_max.m4.
80777
80778 2003-11-11  Bruno Haible  <bruno@clisp.org>
80779
80780         * modules/xsize (Files): Add m4/size_max.m4.
80781         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
80782
80783 2003-11-11  Bruno Haible  <bruno@clisp.org>
80784
80785         * m4/size_max.m4: New file.
80786         * m4/ptrdiff_max.m4: New file.
80787         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
80788         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
80789         (gl_XALLOC): Invoke it.
80790
80791 2003-11-11  Bruno Haible  <bruno@clisp.org>
80792
80793         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
80794         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
80795         defined.
80796
80797 2003-11-10  Paul Eggert  <eggert@twinsun.com>
80798
80799         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
80800         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
80801         rejected some allocations of exactly SIZE_MAX - 2 bytes.
80802         From Bruno Haible.
80803         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
80804         not (size_t) -1, since it's defined here.
80805
80806 2003-11-09  Karl Berry  <karl@gnu.org>
80807
80808         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
80809
80810 2003-11-06  Paul Eggert  <eggert@twinsun.com>
80811
80812         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
80813         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
80814         Reject sizes of exactly SIZE_MAX bytes.
80815         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
80816         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
80817
80818 2003-11-05  Bruno Haible  <bruno@clisp.org>
80819
80820         * lib/xsize.h: Include limits.h, to avoid a possible collision with
80821         SIZE_MAX defined in <limits.h> on Solaris.
80822
80823 2003-11-04  Jim Meyering  <jim@meyering.net>
80824
80825         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
80826         variable names, rather than @VAR@.
80827         * modules/poll: Likewise.
80828
80829 2003-11-04  Bruno Haible  <bruno@clisp.org>
80830
80831         * modules/xsize: New file.
80832         * modules/linebreak: Depend on xsize.
80833         * MODULES.html.sh (func_all_modules): Add xsize.
80834
80835 2003-11-04  Bruno Haible  <bruno@clisp.org>
80836
80837         * m4/xsize.m4: New file.
80838
80839 2003-11-04  Bruno Haible  <bruno@clisp.org>
80840
80841         * lib/xsize.h: New file.
80842         * lib/linebreak.c: Include xsize.h.
80843         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
80844         argument for overflow.
80845         Suggested by Paul Eggert.
80846
80847 2003-11-03  Karl Berry  <karl@gnu.org>
80848
80849         * config/config.{guess,sub}: update from config.
80850
80851 2003-11-03  Jim Meyering  <jim@meyering.net>
80852
80853         * modules/userspec (lib_SOURCES): Add userspec.h.
80854         (Include): Add "userspec.h".
80855         Improve description.
80856
80857 2003-11-03  Jim Meyering  <jim@meyering.net>
80858
80859         * lib/userspec.c: Include "userspec.h".
80860         * lib/userspec.h: New file.
80861
80862 2003-11-03  Bruno Haible  <bruno@clisp.org>
80863
80864         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
80865
80866 2003-11-03  Bruno Haible  <bruno@clisp.org>
80867
80868         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
80869         available, to avoid (extremely rare) race condition.
80870         Suggested by Paul Eggert.
80871
80872 2003-11-02  Karl Berry  <karl@gnu.org>
80873
80874         * config/srclist.txt (vasprintf.c): sync broken, sigh.
80875
80876 2003-10-31  Paul Eggert  <eggert@twinsun.com>
80877
80878         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
80879         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
80880         (read_filesystem_list): Set and use me_type_malloced.
80881         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
80882         whatever the type happens to be), for brevity and consistency.
80883         Check for size calculation overflow on Alphas running OSF/1.
80884
80885 2003-10-31  Jim Meyering  <jim@meyering.net>
80886
80887         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
80888
80889         * lib/linebuffer.c: Include <string.h> for declaration of memset.
80890
80891 2003-10-30  Paul Eggert  <eggert@twinsun.com>
80892             Bruno Haible  <bruno@clisp.org>
80893
80894         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
80895         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
80896
80897 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
80898
80899         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
80900         netbsd*-gnu*.  Suggested by Robert Millan.
80901
80902 2003-10-29  Paul Eggert  <eggert@twinsun.com>
80903
80904         * modules/group-member: Depend on stdbool.
80905
80906 2003-10-29  Paul Eggert  <eggert@twinsun.com>
80907
80908         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
80909
80910 2003-10-29  Paul Eggert  <eggert@twinsun.com>
80911
80912         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
80913         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
80914         after the 'gnu' in these cases.  This fixes some bugs in the
80915         previous change, and is based on suggestions by Robert Millan.
80916
80917 2003-10-29  Paul Eggert  <eggert@twinsun.com>
80918
80919         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
80920         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
80921         no longer needed.
80922         * lib/quotearg.c (quotearg_n_options): Use it.
80923         * lib/group-member.c: Include <stdbool.h>.
80924         (free_group_info): Arg is now const *; don't free arg.
80925         (get_group_info): Now returns bool and accepts struct group_info *,
80926         rather than returning a malloc'ed struct group_info *.
80927         All uses changed.  Check for overflow in internal size calculation.
80928
80929         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
80930         rather than xmalloc/xrealloc.
80931         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
80932         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
80933         conformance bug: the old code used a pointer after freeing the
80934         storage that it addressed.
80935         * lib/hash.c (hash_initialize): Simplify the code by using
80936         xalloc_oversized rather than doing it by hand.
80937         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
80938         the buffer preserved.  Use free and xmalloc instead.
80939         * lib/quotearg.c (quotearg_n_options): Likewise.
80940         Use a simpler test for size overflow.  Don't use xalloc_oversized
80941         because unsigned int might be wider than size_t (!); this suggests
80942         that we should switch from unsigned int to size_t for slot numbers.
80943
80944 2003-10-28  Paul Eggert  <eggert@twinsun.com>
80945
80946         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
80947         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
80948         NetBSD kernels.  Requested by Richard Stallman.
80949
80950 2003-10-27  Paul Eggert  <eggert@twinsun.com>
80951
80952         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
80953         to allocate the returned structure.  Do not allocate a subarray,
80954         as x2nrealloc will do that.
80955         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
80956         instead of xnrealloc.
80957         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
80958
80959 2003-10-27  Bruno Haible  <bruno@clisp.org>
80960
80961         * lib/stdbool_.h: Better support for BeOS.
80962
80963 2003-10-26  Paul Eggert  <eggert@twinsun.com>
80964
80965         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
80966         now uses inline.
80967
80968 2003-10-26  Paul Eggert  <eggert@twinsun.com>
80969
80970         * lib/xalloc.h (xalloc_oversized): New static inline function, for
80971         callers that want to do their own size-overflow checking.  Include
80972         <stdbool.h>, since xalloc_oversized returns bool.
80973         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
80974         to use xalloc_oversized.
80975
80976         Add two functions x2realloc, x2nrealloc, for programs that grow
80977         arrays dynamically by doubling their sizes.
80978         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
80979         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
80980         New functions.
80981
80982         Port to C99 semantics for 'inline' of external functions.
80983         Bug reported by Bruno Haible.
80984         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
80985         with the old contents of xnmalloc.
80986         (xnmalloc, xmalloc): Use it.
80987         (xnrealloc_inline): New static inline function,
80988         with the old contents of xnrealloc.
80989         (xnrealloc, xrealloc): Use it.
80990
80991         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
80992         that.
80993
80994 2003-10-26  Karl Berry  <karl@gnu.org>
80995
80996         * config/srclist.txt (COPYING.DOC): no longer available from
80997         /gd/gnuorg; don't know where the ultimate source is.
80998
80999 2003-10-25  Paul Eggert  <eggert@twinsun.com>
81000
81001         Fix several address-calculation bugs in the hash modules,
81002         plus some minor code cleanup.
81003
81004         * lib/hash.h: Include <stdbool.h>, for bool.
81005         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
81006         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
81007         hash_get_n_entries, hash_get_max_bucket_length,
81008         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
81009         hash_rehash): Use size_t rather than unsigned.
81010         * lib/hash.c (struct hash_table, hash_get_n_buckets,
81011         hash_get_n_buckets_used, hash_get_n_entries,
81012         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
81013         hash_get_entries, hash_do_for_each, hash_string, is_prime,
81014         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
81015         Likewise.
81016         (SIZE_MAX): Define if not defined.
81017         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
81018         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
81019         hash_print):
81020         Use const * when possible.
81021         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
81022         (check_tuning): Fix bug: if tuning parameters were very close to
81023         0 or 1, rounding errors could have caused subscript violations.
81024         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
81025         (hash_initialize): Add 'fail:' label
81026         to free table and return NULL, and use it to simplify code.
81027         Use calloc rather than clearing the storage ourself.
81028         (hash_initialize, hash_rehash): Check for arithmetic overflow in
81029         buffer size calculations.
81030         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
81031         Include <stddef.h>, for size_t.
81032         * lib/hash-pjw.c (hash_pjw): Likewise.
81033         Switch to method described by Bruno Haible.
81034         Include <limits.h>, for CHAR_BIT.
81035         (SIZE_BITS): New macro.
81036
81037 2003-10-23  Paul Eggert  <eggert@twinsun.com>
81038
81039         * m4/getline.m4 (AM_FUNC_GETLINE):
81040         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
81041         hosts.  Problem reported by Derek Robert Price in
81042         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
81043         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
81044         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
81045
81046 2003-10-21  Paul Eggert  <eggert@twinsun.com>
81047
81048         * lib/getndelim2.c (getndelim2): When size calculation overflows,
81049         ceiling the allocation at NMAX bytes rather than silently
81050         discarding input bytes before NMAX is reached.  This makes
81051         a difference only if NMAX exceeds SIZE_MAX / 2.
81052
81053         * lib/obstack.c: Merge from glibc.
81054         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
81055         Add libc_hidden_def (_obstack_newchunk).
81056         (_obstack_free) [! defined _LIBC]: Remove.
81057         [defined _LIBC]: Make a strong alias from obstack_free, rather than
81058         a clone of the function body.
81059         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
81060         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
81061
81062         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
81063         glibc.
81064         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
81065         arg to memcpy.
81066
81067         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
81068         (obstack_ptr_grow_fast, obstack_int_grow_fast):
81069         Don't use lvalue casts, as GCC plans to remove support for them
81070         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
81071         was also present in the non-GCC version, indicating that this
81072         code had always been buggy and had never been widely used.
81073         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
81074         Use the fast variant of each macro, rather than copying the
81075         definiens of the fast variant; that way, we'll be more likely to
81076         catch future bugs in the fast variants.
81077
81078 2003-10-20  Bruno Haible  <bruno@clisp.org>
81079
81080         * modules/wait-process: New file.
81081         * MODULES.html.sh (func_all_modules): Add wait-process.
81082
81083 2003-10-20  Bruno Haible  <bruno@clisp.org>
81084
81085         * m4/wait-process.m4: New file.
81086
81087 2003-10-20  Bruno Haible  <bruno@clisp.org>
81088
81089         * lib/wait-process.h: New file, from GNU gettext.
81090         * lib/wait-process.c: New file, from GNU gettext.
81091
81092 2003-10-19  Jim Meyering  <jim@meyering.net>
81093
81094         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
81095         HPUX 10.20.
81096
81097 2003-10-18  Karl Berry  <karl@gnu.org>
81098
81099         * config/config.guess: update from config.
81100
81101 2003-10-16  Paul Eggert  <eggert@twinsun.com>
81102
81103         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
81104         (getgroups): First arg is int, not size_t.
81105         Don't let 'free' mangle errno.
81106
81107 2003-10-16  Paul Eggert  <eggert@twinsun.com>
81108
81109         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
81110
81111 2003-10-16  Karl Berry  <karl@gnu.org>
81112
81113         * config/config.{guess,sub}: update from config.
81114
81115 2003-10-16  Jim Meyering  <jim@meyering.net>
81116
81117         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
81118         memcpy.
81119
81120 2003-10-15  Paul Eggert  <eggert@twinsun.com>
81121
81122         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
81123         (SIZE_MAX): Remove.
81124         (new_exclude, add_exclude_file): Initial size no longer needs to
81125         be a power of 2.
81126         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
81127         our own address arithmetic overflow checking.
81128
81129         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
81130         (fnmatch): Do not alloca more than 2000 wide characters;
81131         instead, use malloc for large buffers.
81132         Check for address arithmetic overflow, and return -1
81133         with errno set to ENOMEM in that case.
81134         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
81135         (NEW_PATTERN): Do not alloca more than 8000 bytes;
81136         instead, return -1.  Check for address arithmetic overflow.
81137
81138 2003-10-14  Paul Eggert  <eggert@twinsun.com>
81139
81140         Handle invalid suffixes and overflow independently, so that
81141         callers can treat them independently as needed.  Fix some bugs in
81142         suffix handling, e.g., "100k@" was not diagnosed as an invalid
81143         suffix for a human-readable blocksize.  The major caller-visible
81144         change is the addition of a new
81145         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
81146         that both overflow and suffix chars were found.
81147
81148         * lib/human.c (humblock): Don't check separately for invalid suffix
81149         char; that is xstrtoumax's job (now that its bug is fixed).
81150         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
81151         INTMAX_MAX]: New macros.
81152         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
81153         TYPE_MAXIMUM): New macros.
81154         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
81155         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
81156         if overflow occurs, as it's what __strtol does and it's more useful
81157         in practice.
81158         (__xstrtol): If __strtol reports some error other than ERANGE,
81159         reflect it to the caller as LONGINT_INVALID.  If it reports
81160         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
81161         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
81162         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
81163         value.
81164         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
81165         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
81166         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
81167         [defined UINTMAX_MAX]: New macros.
81168
81169 2003-10-14  Bruno Haible  <bruno@clisp.org>
81170
81171         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
81172
81173 2003-10-14  Bruno Haible  <bruno@clisp.org>
81174
81175         * m4/sig_atomic_t: New file, from GNU gettext.
81176         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
81177
81178 2003-10-14  Bruno Haible  <bruno@clisp.org>
81179
81180         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
81181         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
81182         Also use volatile where needed.
81183
81184 2003-10-12  Paul Eggert  <eggert@twinsun.com>
81185
81186         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
81187         Change maintainer from Bruno Haible to 'all'.
81188
81189 2003-10-12  Paul Eggert  <eggert@twinsun.com>
81190
81191         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
81192
81193 2003-10-12  Paul Eggert  <eggert@twinsun.com>
81194
81195         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
81196         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
81197         and define in terms of the other primitives.
81198         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
81199         (SIZE_MAX): Define if not already defined.
81200         (array_size_overflow): New function.
81201         (xalloc_die): Abort instead of exiting if 'error' returns.
81202         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
81203         (xmalloc, xrealloc): Use them.
81204         (xcalloc): Check for address arithmetic overflow.
81205         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
81206         a bit faster than strcpy.
81207
81208 2003-10-10  Simon Josefsson  <jas@extundo.com>
81209
81210         * modules/argp (Depends-on): Add restrict and strcase.
81211
81212 2003-10-10  Simon Josefsson  <jas@extundo.com>
81213
81214         * m4/argp.m4: Add AC_C_INLINE.
81215
81216 2003-10-08  Paul Eggert  <eggert@twinsun.com>
81217
81218         Merge getpass from libc, plus a few fixes.
81219
81220         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
81221         Include <stdbool.h>.
81222         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
81223         __fsetlocking to empty.
81224         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
81225         do include <bits/libc-lock.h>.
81226         Do not include <fcntl.h>; not needed.
81227         [_LIBC]: Include <wchar.h>.
81228         (NOTCANCEL_MODE): New macro.
81229         (flockfile, funlockfile) [_LIBC]: New macros.
81230         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
81231         [!_LIBC]: New macros.
81232         (call_fclose): New function.
81233         (getpass): Use it.  Save tty stream separately; this simplifies the
81234         code and makes it more reliable if stdin happens to equal stdout.
81235         Invoke __fsetlocking on tty.
81236         Handle thread cancellation if needed.
81237         Namespace cleanup (use __tcgetattr, __getline).
81238         Use bool for Booleans.
81239         [USE_IN_LIBIO]: Handle wide streams.
81240         [!_LIBC]: Unconditionally do the fseek, since we don't know what
81241         stream might go where.
81242
81243         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
81244         doesn't have to include <stdio.h> before us.
81245         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
81246         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
81247         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
81248         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
81249         if not declared, so that we can use getpass.c code from libc without
81250         rewriting it.
81251         (flockfile, ftrylockfile, funlockfile): New macros.
81252
81253 2003-10-08  Paul Eggert  <eggert@twinsun.com>
81254
81255         * modules/getpass: Depend on stdbool.
81256
81257 2003-10-08  Paul Eggert  <eggert@twinsun.com>
81258
81259         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
81260
81261 2003-10-07  Karl Berry  <karl@gnu.org>
81262
81263         * config/config.{guess,sub}: update from config.
81264
81265 2003-10-06  Jim Meyering  <jim@meyering.net>
81266             Bruno Haible  <bruno@clisp.org>
81267
81268         This lets translators provide better translations for the
81269         "Written by ..." part of --version output.
81270         * lib/version-etc.h: Include stdarg.h.
81271         (version_etc_copyright): Declare as readonly.
81272         (version_etc): Make this function variadic with a NULL-terminated list
81273         of author name strings.
81274         (version_etc_va): New declaration.
81275         * lib/version-etc.c: Include stdarg.h, stdlib.h.
81276         (version_etc_copyright): Declare as readonly.
81277         (version_etc_va): New function. Provide a different translatable string
81278         for each possible number of authors < 10. Abbreviate when there are 10
81279         authors or more.
81280         (version_etc): Make this function variadic. Call version_etc_va.
81281         Suggestion from Gary V. Vaughan.
81282
81283         * lib/long-options.h (parse_long_options): Change prototype: the
81284         authors string is moved to the end and becomes variadic.
81285         * lib/long-options.c: Include stdarg.h.
81286         (parse_long_options): Make this function variadic, too.
81287         Call version_etc_va, not version_etc.
81288
81289 2003-10-06  Bruno Haible  <bruno@clisp.org>
81290
81291         * modules/version-etc-2: Remove file.
81292         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
81293
81294 2003-10-06  Bruno Haible  <bruno@clisp.org>
81295
81296         * modules/fatal-signal: New file.
81297         * MODULES.html.sh (func_all_modules): Add fatal-signal.
81298
81299 2003-10-06  Bruno Haible  <bruno@clisp.org>
81300
81301         * m4/fatal-signal.m4: New file.
81302         * m4/signalblocking.m4: New file, from GNU gettext.
81303
81304 2003-10-06  Bruno Haible  <bruno@clisp.org>
81305
81306         * lib/version-etc-2.h: Remove file.
81307         * lib/version-etc-2.c: Remove file.
81308
81309 2003-10-06  Bruno Haible  <bruno@clisp.org>
81310
81311         * lib/fatal-signal.h: New file, from GNU gettext.
81312         * lib/fatal-signal.c: New file, from GNU gettext.
81313
81314 2003-10-05  Paul Eggert  <eggert@twinsun.com>
81315
81316         * README: Rework advice for preventing empty .o files.
81317         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
81318         not <sys/types.h>.
81319
81320 2003-10-04  Karl Berry  <karl@gnu.org>
81321
81322         * lib/argp*: update from libc.
81323
81324 2003-10-04  Karl Berry  <karl@gnu.org>
81325
81326         * config/config.{guess,sub}: update from config.
81327
81328 2003-10-02  Bruno Haible  <bruno@clisp.org>
81329
81330         * modules/lchown (Include): Add lchown.h.
81331         * modules/time_r (Include): Use "..." syntax.
81332         * modules/xgetdomainname (Include): Add xgetdomainname.h.
81333
81334 2003-10-01  Simon Josefsson  <jas@extundo.com>
81335
81336         * MODULES.html.sh (func_all_modules): Move gethostname from section
81337         'based on' to section 'lacking' POSIX:2001.
81338
81339 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
81340
81341         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
81342         to output mode on the same stream.
81343
81344 2003-09-29  Paul Eggert  <eggert@twinsun.com>
81345
81346         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
81347         Fix arg typo in previous patch.
81348
81349 2003-09-28  Jim Meyering  <jim@meyering.net>
81350
81351         * lib/error.c: Correct cpp indentation.
81352
81353 2003-09-27  Paul Eggert  <eggert@twinsun.com>
81354
81355         * modules/free: New file.
81356
81357 2003-09-27  Paul Eggert  <eggert@twinsun.com>
81358
81359         * m4/free.m4: New file.
81360
81361 2003-09-27  Paul Eggert  <eggert@twinsun.com>
81362
81363         * lib/minmax.h (MIN, MAX)
81364         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
81365         Omit the special code that used __typeof__, since we worry that
81366         it could be more trouble than it's worth.  See:
81367         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
81368         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
81369
81370         * lib/free.c: New file.
81371
81372 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
81373
81374         Trivial fixes to Makefile.am parts of module listings.
81375         * modules/strstr: Append strstr.h to lib_SOURCES.
81376         * modules/strcase: Likewise, for strcase.h.
81377
81378 2003-09-27  Karl Berry  <karl@gnu.org>
81379
81380         * config/mkinstalldirs: update from automake.
81381
81382 2003-09-26  Paul Eggert  <eggert@twinsun.com>
81383
81384         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
81385         (error_tail): Do not loop, reallocating temporary buffer, since
81386         the output cannot contain more wide characters than the input
81387         contains bytes, the size must be big enough already.  This avoids
81388         one potential size overflow calculation.  Check for size overflow
81389         when calculating temporary buffer size.  Free temporary buffer
81390         when done, if it was allocated with malloc; this plugs a memory
81391         leak.  Remove casts from void * to pointers, that are no longer
81392         needed now that we're assuming C89 or better.
81393
81394         Merge error changes from glibc.
81395
81396         * lib/error.c, error.h: Update copyright notice header to match glibc.
81397         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
81398         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
81399         Disable cancellation while printing error.
81400         * lib/error.h: Prepend __ to parameter names.
81401
81402 2003-09-26  Jim Meyering  <jim@meyering.net>
81403
81404         * lib/error.c (error_tail): Move some declarations
81405         into inner scope where the local variables are used.
81406
81407 2003-09-26  Bruno Haible  <bruno@clisp.org>
81408
81409         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
81410         stpncpy().
81411         Don't define stpncpy through config.h; it's now done through stpncpy.h.
81412
81413 2003-09-26  Bruno Haible  <bruno@clisp.org>
81414
81415         * lib/stpncpy.h (gnu_stpncpy): New declaration.
81416         (stpncpy): Define as alias for gnu_stpncpy.
81417         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
81418
81419 2003-09-25  Simon Josefsson  <jas@extundo.com>
81420
81421         * lib/xgetdomainname.h: New file.
81422         * lib/xgetdomainname.c: New file.
81423
81424 2003-09-25  Simon Josefsson  <jas@extundo.com>
81425             Bruno Haible  <bruno@clisp.org>
81426
81427         * modules/getdomainname: New file.
81428         * modules/xgetdomainname: New file.
81429         * MODULES.html.sh (func_all_modules): Add getdomainname,
81430         xgetdomainname.
81431
81432 2003-09-25  Simon Josefsson  <jas@extundo.com>
81433             Bruno Haible  <bruno@clisp.org>
81434
81435         * m4/getdomainname.m4: New file.
81436
81437 2003-09-25  Simon Josefsson  <jas@extundo.com>
81438             Bruno Haible  <bruno@clisp.org>
81439
81440         * lib/getdomainname.h: New file.
81441         * lib/getdomainname.c: New file.
81442
81443 2003-09-25  Karl Berry  <karl@gnu.org>
81444
81445         * lib/argp-fmtstream.c, argp-help.c: update from libc.
81446
81447 2003-09-25  Karl Berry  <karl@gnu.org>
81448
81449         * config/install-sh: update from automake.
81450
81451 2003-09-25  Bruno Haible  <bruno@clisp.org>
81452
81453         * modules/version-etc-2: New file, from modules/version-etc with
81454         modifications.
81455         * MODULES.html.sh (func_all_modules): Add version-etc-2.
81456
81457 2003-09-25  Bruno Haible  <bruno@clisp.org>
81458
81459         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
81460         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
81461
81462 2003-09-24  Simon Josefsson  <jas@extundo.com>
81463
81464         * modules/xgethostname: Add xgethostname.h.
81465
81466 2003-09-24  Paul Eggert  <eggert@twinsun.com>
81467
81468         * lib/linebuffer.c (freebuffer): Don't free the argument, just
81469         the buffer associated with the argument.  Bug reported by
81470         Simon Josefsson.
81471
81472 2003-09-24  Paul Eggert  <eggert@twinsun.com>
81473
81474         * README: Document assumptions that 'int' is at least 32 bits
81475         wide, that integer arithmetic is 2's complement without overflow,
81476         that there are no holes in integer values, that adding sizes of
81477         two nonoverlapping objects can't overflow, and that all-bits-zero
81478         yields scalar zero.  Fix spelling and capitalization typos.
81479
81480 2003-09-19  Karl Berry  <karl@gnu.org>
81481
81482         * lib/argp.h: update from libc.
81483
81484 2003-09-17  Paul Eggert  <eggert@twinsun.com>
81485
81486         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
81487         to avoid spurious warnings like "AC_RUN_IFELSE was called before
81488         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
81489
81490 2003-09-17  Paul Eggert  <eggert@twinsun.com>
81491
81492         * gnulib-tool: Use "test -h", not "test -L", for portability
81493         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
81494         (tags_regexp): Remove, since \| doesn't conform to POSIX.
81495         (sed_extract_prog): Issue s commands one-by-one, rather than
81496         using \| in one s command.
81497
81498 2003-09-16  Paul Eggert  <eggert@twinsun.com>
81499
81500         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
81501         input error, instead of returning NULL the next time we are called
81502         (and therefore losing track of errno).
81503
81504 2003-09-16  Bruno Haible  <bruno@clisp.org>
81505
81506         * gnulib-tool (func_create_testdir): Warn about duplicated
81507         dependencies.
81508
81509 2003-09-15  Paul Eggert  <eggert@twinsun.com>
81510
81511         * modules/argmatch, modules/fatal, modules/obstack,
81512         modules/xalloc, modules/xgethostname: Sort dependencies by
81513         importance, not alphabetically.
81514
81515 2003-09-15  Paul Eggert  <eggert@twinsun.com>
81516
81517         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
81518         fails, so that the caller gets the proper errno.
81519
81520         * lib/readutmp.c (read_utmp): Likewise.
81521         Check for fstat error.  Close stream and free storage
81522         when failing.
81523
81524 2003-09-14  Karl Berry  <karl@gnu.org>
81525
81526         * config/srclist.txt (strdup.c): disable for c89 changes.
81527
81528 2003-09-14  Jim Meyering  <jim@meyering.net>
81529
81530         * lib/getloadavg.c: Correct cpp indentation.
81531         * lib/strdup.c: Likewise.
81532         * lib/vasnprintf.c: Likewise.
81533
81534 2003-09-14  Bruno Haible  <bruno@clisp.org>
81535
81536         * modules/fwriteerror: New file.
81537         * MODULES.html.sh (func_all_modules): Add fwriteerror.
81538
81539 2003-09-14  Bruno Haible  <bruno@clisp.org>
81540
81541         * lib/fwriteerror.h: New file.
81542         * lib/fwriteerror.c: New file.
81543
81544 2003-09-12  Paul Eggert  <eggert@twinsun.com>
81545
81546         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
81547         modules/xgethostname, modules/xalloc: Depend on exit.
81548
81549 2003-09-12  Paul Eggert  <eggert@twinsun.com>
81550
81551         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
81552
81553         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
81554         and AC_MINIX, too, so that their extensions are available.
81555
81556         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
81557         This macro has been superseded by gl_BACKUPFILE.
81558
81559         More patches to assume C89 or better.
81560
81561         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
81562
81563         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
81564         unconditionally.
81565         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
81566         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
81567         Include <string.h>, <stdlib.h> unconditionally.
81568         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
81569         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
81570         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
81571         headers or for string.h.
81572         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
81573         or strtoul.
81574
81575         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
81576         headers.
81577         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
81578         * m4/userspec.m4 (gl_USERSPEC): Likewise.
81579         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
81580         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
81581         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
81582         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
81583         memcpy, memset.
81584         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
81585         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
81586         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
81587         strtol.
81588         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
81589         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
81590         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
81591         strtoul.
81592
81593 2003-09-12  Paul Eggert  <eggert@twinsun.com>
81594
81595         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
81596         * lib/obstack.c [!defined _LIBC]: Likewise.
81597         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
81598         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
81599         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
81600
81601         More changes to assume C89 or better.
81602
81603         * lib/error.c (error_tail): Assume vprintf.
81604
81605         * lib/argmatch.c (getenv): Remove decl.
81606         * lib/progreloc.c (get_full_program_name): Define via prototype.
81607         * lib/setenv.c (clearenv): Likewise.
81608         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
81609         needed.
81610         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
81611         (malloc, memcpy): Remove decls.
81612         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
81613         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
81614         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
81615         (memcpy): Remove macro.
81616         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
81617         (__P): Remove.  All uses removed.
81618         (PTR): Remove.  All uses changed to void *.
81619         (CHAR_BIT, NULL): Remove.
81620         (spaces, zeros, memset_space, memset_zero)
81621         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
81622         Remove.
81623         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
81624         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
81625         Define with prototype.
81626         Remove now-unnecessary prototype decl.
81627         (extra_args_spec): Assume ANSI C.  All uses changed.
81628         (extra_args_spec_iso): Remove.
81629         (my_strftime, emacs_strftimeu): Define via prototype.
81630         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
81631         unconditionally.
81632         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
81633         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
81634         (strtoul, strtol): Remove decls.
81635         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
81636         LONG_MAX): Remove.
81637         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
81638         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
81639         (LOCALE_PARAM_PROTO): New macro.
81640         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
81641         (INTERNAL (strtol), strtol): Define with a prototype.
81642         (PARAMS): Remove.  All uses removed.
81643         * lib/tempname.c: Include <string.h> unconditionally.
81644         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
81645         * lib/xgethostname.c (main): Define with a prototype.
81646         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
81647         Include <stdlib.h> unconditionally.
81648         (calloc, malloc, realloc, free): Remove decls.
81649         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
81650         Include <stdlib.h> unconditionally.  Sort include file names.
81651         (strtod): Remove.
81652         (xstrtod): Define with a prototype.
81653         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
81654         (strtol, strtoul): Remove decls.
81655
81656 2003-09-11  Paul Eggert  <eggert@twinsun.com>
81657
81658         More patches to assume C89 or better.
81659         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
81660         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
81661         string.h, memchr, STDC_HEADERS.
81662
81663 2003-09-11  Paul Eggert  <eggert@twinsun.com>
81664
81665         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
81666         Include <stdlib.h>, <string.h> unconditionally.
81667         Remove now-unnecessary cast to char *.
81668         * lib/strnlen.c: Include <string.h> unconditionally.
81669         * lib/yesno.c (yesno): Define with a prototype.
81670
81671 2003-09-11  Bruno Haible  <bruno@clisp.org>
81672
81673         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
81674
81675 2003-09-10  Jim Meyering  <jim@meyering.net>
81676
81677         * lib/error.c: Correct indentation of cpp directives.
81678
81679 2003-09-10  Bruno Haible  <bruno@clisp.org>
81680
81681         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
81682         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
81683         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
81684         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
81685         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
81686         <stdlib.h> and <string.h> checks.
81687         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
81688         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
81689
81690 2003-09-10  Bruno Haible  <bruno@clisp.org>
81691
81692         * lib/strcspn.c: Include <string.h> unconditionally.
81693         * lib/strpbrk.c: Include <string.h> unconditionally.
81694         * lib/strstr.c: Include <string.h> unconditionally.
81695         * lib/unicodeio.c: Include <string.h> unconditionally.
81696         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
81697         * lib/unsetenv.c: Likewise.
81698         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
81699         * lib/yesno.c: Include <stdlib.h> unconditionally.
81700         (rpmatch): Add prototype.
81701
81702 2003-09-09  Paul Eggert  <eggert@twinsun.com>
81703
81704         More patches to assume C89 or better.
81705         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
81706         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
81707         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
81708         or for string.h.
81709         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
81710         stdlib.h.
81711         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
81712         C headers.
81713         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
81714         string.h.
81715         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
81716         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
81717         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
81718         or for string.h.
81719         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
81720         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
81721         C headers.
81722         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
81723         memcpy.
81724         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
81725         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
81726         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
81727         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
81728         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
81729         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
81730         string.h, free.
81731         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
81732         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
81733         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
81734         C headers, or for string.h.
81735         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
81736         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
81737         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
81738         headers, memory.h, stdlib.h, string.h, strings.h.
81739         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
81740         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
81741         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
81742         strchr.
81743         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
81744         headers, memory.h, string.h.
81745         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
81746         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
81747         free.
81748         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
81749         headers.
81750         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
81751         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
81752         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
81753         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
81754         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
81755
81756 2003-09-09  Paul Eggert  <eggert@twinsun.com>
81757
81758         More K&R removal.
81759
81760         * lib/acosl.c (main): Use a prototype.
81761         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
81762         tanl.c: Likewise.
81763
81764         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
81765
81766         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
81767         (getopt, etopt_long, getopt_long_only, _getopt_internal)
81768         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
81769         with a prototype.
81770         * lib/getopt.c (const): Remove macro.
81771         Include <string.h> unconditionally.
81772         (my_index): Remove; all uses changed to strchr.
81773         (strlen): Remove decl.
81774         (exchange): Remove forward decl; no longer needed.
81775         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
81776         Define with prototype.
81777         * lib/getopt1.c (const): Remove macro.
81778         (getopt_long, getopt_long_only, main): Define with prototype.
81779
81780         * lib/getugroups.c: Include <string.h> unconditionally.
81781
81782         * lib/getusershell.c: Include <stdlib.h> unconditionally.
81783         (getusershell, setusershell, endusershell, readname, main):
81784         Define with prototypes.
81785
81786         * lib/group-member.c: Include group-member.h first.
81787         Include <stdlib.h> unconditionally.
81788
81789         * lib/hard-locale.c: Include hard-locale.h first.
81790         Include <stdlib.h>, <string.h> unconditionally.
81791
81792         * lib/hash.c (free, malloc): Remove decls.
81793         Include <stdlib.h> unconditionally.
81794
81795         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
81796         (getenv): Do not declare.
81797
81798         * lib/idcache.c: Include <string.h> unconditionally.
81799
81800         * lib/long-options.c: Include long-options.h first, to test interface.
81801         Include <stdlib.h> unconditionally.
81802
81803         * lib/makepath.c: Include makepath.h first, to test interface.
81804         Include <stdlib.h> and <string.h> unconditionally.
81805
81806         * lib/linebuffer.c: Include <stdlib.h>.
81807         (free): Remove decl.
81808
81809         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
81810         stddef.h. rpl_malloc returns void *, not char *.
81811         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
81812         prototype.
81813
81814         * lib/md5.h: Include <limits.h> unconditionally.
81815         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
81816         (__P): Remove; all uses removed.
81817         * lib/md5.c: Include "md5.h" first.
81818         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
81819         md5_buffer, md5_process_bytes, md5_process_block):
81820         Define with prototypes.
81821         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
81822         * lib/sha.c: Include "sha.h" first.
81823         Include <stdlib.h>, <string.h> unconditionally.
81824
81825         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
81826         * lib/memcmp.c (__ptr_t): Likewise.
81827         * lib/memrchr.c (__ptr_t): Likewise.
81828         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
81829         Include <string.h> unconditionally.
81830         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
81831         * lib/memchr.c: Include <stdlib.h> unconditionally.
81832         * lib/memchr.c (LONG_MAX): Remove.
81833         * lib/memrchr.c (LONG_MAX): Likewise.
81834         * lib/memchr.c (__memchr): Define via a prototype.
81835         * lib/memrchr.c (__memrchr): Likewise.
81836         * lib/memcmp.c (__P): Remove, and remove all uses.
81837         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
81838         Remove forward decls; no longer needed.
81839         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
81840         Use types required by C89 in prototype.
81841
81842         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
81843         * lib/savedir.c: Likewise.
81844         * lib/mkdir.c (free): Remove decl.
81845         * lib/rmdir.c (rmdir): Define with a prototype.
81846         * lib/savedir.c: Include savedir.h first, to test interface.
81847
81848         * lib/mktime.c (STDC_HEADERS): Remove.
81849         Include <stdlib.h>, <string.h> unconditionally.
81850
81851         * lib/modechange.c: Include <stdlib.h> unconditionally.
81852         (malloc): Remove decl.
81853
81854         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
81855         (free): Remove decl.
81856
81857         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
81858         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
81859         (This type really should be intptr_t, but that's a C99ism.)
81860         (_obstack_memcpy): Remove: all uses changed to memcpy.
81861         Include <string.h> unconditionally.
81862         (struct obstack): Assume __STDC__ for types of members
81863         chunkfun, freefun, extra_arg.
81864         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
81865         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
81866         obstack_begin, obstack_specify_allocation,
81867         obstack_specify_allocation_with_arg, obstack_chunkfun,
81868         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
81869         Remove unprototyped decls and the macros that use them.
81870         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
81871         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
81872         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
81873         (defined __STDC__ && __STDC__)]:
81874         Remove nonprototyped code.
81875         Include <stdlib.h> unconditionally.
81876         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
81877         _obstack_allocated_p, _obstack_free, obstack_free,
81878         _obstack_memory_used, print_and_abort):
81879         Define using prototypes.
81880         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
81881         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
81882         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
81883         obstack_next_free, obstack_object_size, obstack_room) [0]:
81884         Remove unused, unprototyped code.
81885
81886         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
81887
81888         * lib/physmem.c (physmem_total, physmem_available, main): Define
81889         with prototypes.
81890
81891         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
81892         (main): Define with a prototype.
81893
81894         * lib/posixver.c (getenv): Remove decl.
81895
81896         * lib/putenv.c (malloc): Returns void *, not char *.
81897         Include <string.h> unconditionally.
81898         (strchr, memcpy, NULL): Do not define.
81899
81900         * lib/readtokens.c: Include readtokens.h first, to test interface.
81901         Include <stdlib.h>, <string.h> unconditionally.
81902         (init_tokenbuffer): Define with a prototype.
81903
81904         * lib/regex.c (PARAMS): Remove.  All uses removed.
81905         All uses of _RE_ARGS removed, too.
81906         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
81907         unconditionally.
81908         (bzero): Assume memset exists.
81909         (memcmp, memcpy, NULL): Remove.
81910         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
81911         char, or assignments to local vars of type signed char.
81912         (init_syntax_once, PREFIX(extract_number_and_incr),
81913         PREFIX(print_partial_compiled_pattern),
81914         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
81915         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
81916         PREFIX(regex_grow_registers), PREFIX(regex_compile),
81917         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
81918         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
81919         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
81920         wcs_compile_range, byte_compile_range, truncate_wchar,
81921         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
81922         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
81923         count_mbs_length, wcs_re_match_2_internal,
81924         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
81925         PREFIX(alt_match_null_string_p),
81926         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
81927         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
81928         regfree, PREFIX(extract_number)): Define with prototype.  Remove
81929         now-unnecessary declaration, if any.
81930         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
81931         regcomp, regexec):
81932         Remove now-unnecessary casts among pointer types.
81933         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
81934
81935         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
81936         (free): Remove decl.
81937
81938         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
81939
81940         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
81941         (free): Remove decl.
81942
81943         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
81944         * lib/xgetcwd.c: Likewise.
81945
81946         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
81947         (free): Remove decl.
81948
81949         * lib/strchrnul.c (strchrnul): Define with a prototype.
81950         Fix bug: c_in was not converted to char before searching.
81951
81952         The following changes are not K&R related:
81953
81954         * lib/group-member.h: Include <sys/types.h>, so that this file is
81955         self-contained.
81956         * lib/makepath.h: Likewise.
81957
81958         * lib/getusershell.c (readname, default_index, line_size, readname):
81959         Use size_t, not int, for sizes.
81960         (readname): If the size overflows, report an error instead of
81961         looping forever.
81962
81963 2003-09-09  Paul Eggert  <eggert@twinsun.com>
81964
81965         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
81966         libc.
81967
81968 2003-09-09  Paul Eggert  <eggert@twinsun.com>
81969
81970         * README: New section: portability guidelines.
81971
81972 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
81973
81974         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
81975         C89 spec.
81976
81977 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
81978
81979         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
81980
81981 2003-09-08  Paul Eggert  <eggert@twinsun.com>
81982
81983         Assume C89 or better; remove K&R cruft.
81984         A few of these changes were first proposed by Derek Robert Price
81985         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
81986
81987         * lib/addext.c: Include <string.h> unconditionally.
81988         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
81989         Don't declare getenv or malloc.
81990
81991         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
81992         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
81993         (NULL): Remove.
81994         (find_stack_direction, alloca): Use prototypes.
81995
81996         * lib/atexit.c (atexit): Define using a prototype.
81997
81998         * lib/basename.c, dirname.c, stripslash.c:
81999         Include <string.h> unconditionally.
82000
82001         * lib/bcopy.c: Include <stddef.h>.
82002         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
82003
82004         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
82005
82006         * lib/error.h (error, error_at_line, error_print_progname)
82007         [! (defined (__STDC__) && __STDC__)]: Remove decls.
82008         * lib/error.c: Include error.h first, to check interface.
82009         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
82010         (VA_START): Remove; all uses changeed to va_start.
82011         (exit, strerror): Remove decls.
82012         (error_print_progname): Prototype uncondionally.
82013         Don't include <errno.h>; no longer needed.
82014         (private_strerror): Remove.
82015         (error_tail): Always define.
82016         (error, error_at_line): Assume C89 or better; always use prototypes.
82017         * lib/fatal.c: Include "fatal.h" first, to test interface.
82018         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
82019         (VA_START): Remove; all uses changed to va_start.
82020         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
82021         this case.
82022         (exit): Remove decl.
82023         (fatal): Prototype unconditionally.  Assume va_start works.
82024         Abort at end, to pacify gcc.
82025
82026         * lib/euidaccess.c (main): Define with a prototype.
82027
82028         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
82029
82030         * lib/exitfail.c: Include <stdlib.h> unconditionally.
82031
82032         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
82033         prototypes.
82034         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
82035         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
82036         (getenv): Remove decl.
82037         (fnmatch): Define using a prototype.
82038         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
82039         (FCT): Define using a prototype.
82040
82041         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
82042
82043         * lib/gethostname.c: Include <stddef.h>.
82044         (gethostname): Define with prototype.  Length is size_t, not int.
82045
82046 2003-09-08  Paul Eggert  <eggert@twinsun.com>
82047
82048         Assume C89 or better; remove K&R cruft.
82049         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
82050         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
82051         string.h, getenv, malloc.
82052         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
82053         headers.
82054         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
82055         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
82056         do not check for strerror.
82057         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
82058         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
82059         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
82060         do not check for doprnt or vprintf.
82061         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
82062         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
82063
82064 2003-09-08  Paul Eggert  <eggert@twinsun.com>
82065
82066         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
82067         getversion.c should have been removed then, but was accidentally
82068         preserved.
82069
82070         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
82071         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
82072
82073 2003-09-08  Karl Berry  <karl@gnu.org>
82074
82075         * config/config.sub, config.guess, srclistvars.sh: update from savannah
82076                 config, forget about prep.
82077
82078         * config/depcomp, missing: update from automake.
82079
82080 2003-09-07  Paul Eggert  <eggert@twinsun.com>
82081
82082         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
82083         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
82084
82085 2003-09-07  Paul Eggert  <eggert@twinsun.com>
82086
82087         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
82088         copy_tm_result.  Bug reported by Simon Josefsson in
82089         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
82090
82091 2003-09-06  Paul Eggert  <eggert@twinsun.com>
82092
82093         * m4/time_r.m4: New file.
82094         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
82095         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
82096         is. Check for timegm declaration.
82097         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
82098         Do not check for gmtime_r.
82099         Replace mktime if __mktime_internal does not exist and if mktime
82100         hasn't been replaced already.
82101
82102 2003-09-06  Paul Eggert  <eggert@twinsun.com>
82103
82104         * lib/time_r.c, lib/time_r.h: New files.
82105
82106         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
82107         __localtime_r.
82108         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
82109         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
82110
82111         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
82112         __gmtime_r.
82113         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
82114         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
82115         Include <time_r.h>.
82116
82117         * lib/timegm.c: Switch to glibc implementation, with the following
82118         changes:
82119         [defined HAVE_CONFIG_H]: Include <config.h>.
82120         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
82121         (__mktime_internal) [!defined _LIBC]: New decl.
82122         (__gmtime_r) [!defined _LIBC]: New macro and function.
82123         (timegm): Use a prototype, since gnulib assumes C89.
82124         Do not bother declaring tmp to be const, as it's not really usefu.
82125         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
82126         (timegm): Declare only if HAVE_DECL_TIMEGM.
82127
82128 2003-09-06  Paul Eggert  <eggert@twinsun.com>
82129
82130         * MODULES.html.sh (func_all_modules): Add time_r.
82131         * modules/time_r: New file.
82132         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
82133         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
82134
82135 2003-09-03  Paul Eggert  <eggert@twinsun.com>
82136
82137         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
82138         Bug reported by Lute Kamstra in
82139         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
82140
82141         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
82142         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
82143         course with correspondingly smaller numbers for tomorrow and
82144         yesterday.  From Tadayoshi Funaba.  Originally installed into
82145         sh-utils on 1999-08-07, but the patch got lost (I guess during the
82146         coreutils merge?).
82147
82148 2003-08-31  Simon Josefsson  <jas@extundo.com>
82149
82150         * modules/timegm: New file.
82151         * MODULES.html.sh (func_all_modules): Add timegm.
82152
82153 2003-08-31  Simon Josefsson  <jas@extundo.com>
82154
82155         * m4/timegm.m4: New file.
82156
82157 2003-08-31  Simon Josefsson  <jas@extundo.com>
82158
82159         * lib/timegm.h: New file.
82160         * lib/timegm.c: New file.  Based on
82161         wget-1.8.2/src/http.c:mktime_from_utc.
82162
82163 2003-08-31  Karl Berry  <karl@gnu.org>
82164
82165         * lib/argp.h: update from libc.
82166
82167 2003-08-28  Bruno Haible  <bruno@clisp.org>
82168
82169         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
82170         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
82171         followed by '#define fnmatch fnmatch_posix' gives an error.
82172
82173 2003-08-28  Bruno Haible  <bruno@clisp.org>
82174
82175         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
82176         warning on QNX, which defines O_BINARY to 000000.
82177
82178 2003-08-27  Jim Meyering  <jim@meyering.net>
82179
82180         * m4/mkstemp.m4: Require that the system mkstemp be able to create
82181         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
82182         would fail after 32.  Reported by Danny Levinson.  Details here:
82183         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
82184
82185 2003-08-24  Bruno Haible  <bruno@clisp.org>
82186
82187         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
82188         MSVC7 <stdio.h> is included later.
82189
82190 2003-08-22  Simon Josefsson  <jas@extundo.com>
82191
82192         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
82193
82194 2003-08-20  Karl Berry  <karl@gnu.org>
82195
82196         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
82197
82198 2003-08-20  Bruno Haible  <bruno@clisp.org>
82199
82200         * modules/progname: New file.
82201         * MODULES.html.sh (func_all_modules): Add progname.
82202
82203 2003-08-20  Bruno Haible  <bruno@clisp.org>
82204
82205         * lib/progname.h: New file, from GNU gettext.
82206         * lib/progname.c: New file, from GNU gettext.
82207         * lib/progreloc.c: New file, from GNU gettext.
82208
82209 2003-08-19  Jim Meyering  <jim@meyering.net>
82210
82211         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
82212         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
82213
82214 2003-08-19  Bruno Haible  <bruno@clisp.org>
82215
82216         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
82217         more.
82218
82219 2003-08-19  Bruno Haible  <bruno@clisp.org>
82220
82221         * lib/xstrdup.c: Assume <string.h> exists.
82222
82223 2003-08-18  Paul Eggert  <eggert@twinsun.com>
82224
82225         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
82226         in makefile rules.
82227
82228 2003-08-18  Jim Meyering  <jim@meyering.net>
82229
82230         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
82231         * m4/lib-ld.m4: Likewise.
82232
82233 2003-08-18  Jim Meyering  <jim@meyering.net>
82234
82235         * lib/setenv.h: Indent nested cpp directive.
82236         * lib/vasnprintf.c: Remove trailing blanks.
82237
82238 2003-08-17  Simon Josefsson  <jas@extundo.com>
82239
82240         * modules/xstrndup: New file.
82241         * MODULES.html.sh (func_all_modules): Add xstrndup.
82242
82243 2003-08-17  Simon Josefsson  <jas@extundo.com>
82244
82245         * modules/argp: Fix autoconf macro name. Add more dependencies.
82246
82247 2003-08-17  Simon Josefsson  <jas@extundo.com>
82248
82249         * m4/xstrndup.m4: New file.
82250
82251 2003-08-17  Simon Josefsson  <jas@extundo.com>
82252
82253         * m4/argp.m4: New file.
82254
82255 2003-08-17  Simon Josefsson  <jas@extundo.com>
82256             Bruno Haible  <bruno@clisp.org>
82257
82258         * lib/xstrndup.h: New file.
82259         * lib/xstrndup.c: New file.
82260
82261 2003-08-17  Bruno Haible  <bruno@clisp.org>
82262
82263         * modules/strndup (Files, Include): Add lib/strndup.h.
82264
82265 2003-08-17  Bruno Haible  <bruno@clisp.org>
82266
82267         * modules/euidaccess (Files): Add lib/euidaccess.h.
82268
82269 2003-08-17  Bruno Haible  <bruno@clisp.org>
82270
82271         * lib/strndup.h: New file.
82272
82273 2003-08-17  Bruno Haible  <bruno@clisp.org>
82274
82275         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
82276         like AC_GNU_SOURCE.
82277         * modules/extensions (configure.ac): Comment out the invocation of
82278         gl_USE_SYSTEM_EXTENSIONS.
82279
82280 2003-08-16  Paul Eggert  <eggert@twinsun.com>
82281
82282         Merges from coreutils, etc.
82283         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
82284         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
82285         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
82286         fixing a typo.
82287         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
82288         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
82289
82290 2003-08-16  Paul Eggert  <eggert@twinsun.com>
82291
82292         Document merge from coreutils.
82293         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
82294         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
82295         * modules/utime: Add m4/utimes-null.m4.
82296
82297 2003-08-16  Paul Eggert  <eggert@twinsun.com>
82298
82299         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
82300         space, undoing this 2003-08-12 change:
82301         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
82302
82303 2003-08-16  Paul Eggert  <eggert@twinsun.com>
82304
82305         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
82306         strtoul.c from libc, undoing this 2003-08-12 change:
82307         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
82308
82309 2003-08-16  Jim Meyering  <jim@meyering.net>
82310
82311         Merges from coreutils.
82312         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
82313         prefix.  Adjust cache variables similarly.  Create 500 rather than
82314         just 300 files, to exercise bug on Darwin6.5, too.
82315         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
82316         $missing_dir.
82317         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
82318         AM_SYS_POSIX_TERMIOS.
82319         Reported by mkc@mathdogs.com.
82320         Also change use of $am_cv_sys_posix_termios
82321         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
82322         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
82323         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
82324         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
82325         in /proc/mounts until it finds one with matching device number.  This
82326         is unnecessary when the FILE argument *is* a mount point.  No stat call
82327         is necessary in that case.  So, disable the statvfs-testing code on
82328         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
82329         as RedHat bug# 84846.
82330         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
82331         to 1MB, so as not to render systems with no stack size limit (e.g.,
82332         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
82333         Include <unistd.h>.  On some systems,
82334         it is required for the definition of _SC_PAGESIZE.
82335
82336 2003-08-16  Jim Meyering  <jim@meyering.net>
82337
82338         Merge from coreutils.
82339         * lib/xstrtoimax.c: #else #if -> #elif.
82340         * lib/xstrtoumax.c: Likewise.
82341
82342 2003-08-16  Jim Meyering  <jim@meyering.net>
82343
82344         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
82345         * m4/utimes.m4: Removed.
82346         * m4/utimes-null.m4: Renamed from utimes.m4.
82347
82348         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
82349         to 1MB, so as not to render systems with no stack size limit (e.g.,
82350         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
82351         Include <unistd.h>.  On some systems,
82352         it is required for the definition of _SC_PAGESIZE.
82353
82354 2003-08-16  Jim Meyering  <jim@meyering.net>
82355         and Paul Eggert  <eggert@cs.ucla.edu>
82356
82357         Merges from coreutils, etc.
82358
82359         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
82360         using the latest version from cvs.  This avoids problems with #line
82361         directives using a vendor (Sun) compiler.
82362         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
82363         Don't set GETGROUPS_LIB here; now it's
82364         done via getgroups.m4's wrapper function.
82365         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
82366         rather than just in sh-util/configure.in, so that the
82367         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
82368         same.
82369         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
82370         AC_FUNC_GETLOADAVG where to find getloadavg.c.
82371         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
82372         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
82373         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
82374         Remove code that is now done by the newly-required macros.
82375         Append $(EXEEXT) to DF_PROG.
82376         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
82377         Do not invoke or require the following here,
82378         since prereq.m4 or some gnulib .m4 now does this for us:
82379         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
82380         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
82381         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
82382         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
82383         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
82384         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
82385         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
82386         AC_FUNC_OBSTACK.
82387         Do not replace the following functions, as this is now the job
82388         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
82389         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
82390         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
82391         atexit getpass, strdup, getpagesize.
82392         Replace 'raise'.
82393         Do not check for the following functions, as this is now the job
82394         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
82395         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
82396         setregid.
82397         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
82398         Check for sys/sysctl.h.
82399         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
82400         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
82401         of checking for ssize_t ourselves.
82402
82403         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
82404         Require every macro that gnulib/modules/* suggests for us.
82405         (jm_PREREQ_ADDEXT): New macro.
82406         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
82407         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
82408
82409         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
82410         (gl_PHYSMEM): Use it.
82411         Also check for `table' function.
82412         Check for new headers and functions.
82413         Add check for sys/sysmp.h.
82414         With suggestions from Kaveh Ghazi.
82415         Ignore headers that are present but cannot be compiled.  This
82416         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
82417         C 5.4.
82418
82419 2003-08-15  Paul Eggert  <eggert@twinsun.com>
82420
82421         Document merge from coreutils.
82422         * modules/userspec: Depend on posixver.
82423         * modules/strftime: Depend on tzset.
82424
82425 2003-08-15  Paul Eggert  <eggert@twinsun.com>
82426
82427         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
82428         rather than tab, after '#' in shell-script copyright notices.
82429         Suggested by Bruno Haible.
82430
82431 2003-08-15  Paul Eggert  <eggert@twinsun.com>
82432
82433         * config/srclist-update: Use three spaces, rather than tab, after '#'
82434         in shell-script copyright notices.  Suggested by Bruno Haible.
82435         Remove unnecessary parenthesization in regular expression.
82436
82437 2003-08-15  Jim Meyering  <jim@meyering.net>
82438
82439         Merge from coreutils.
82440         * lib/xgethostname.c: Include <stdlib.h>.
82441         (xghostname): Don't exit for anything other than memory-related
82442         failure; just return NULL.
82443         * lib/userspec.c: Include "posixver.h".
82444         (parse_user_spec): Accept `.' as a separator only
82445         in pre-POSIX-200112 mode.
82446         * lib/strtoimax.c: Use #elif rather than #else #if.
82447         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
82448         Remove function, now that we can rely on a working tzset function.
82449         [!_LIBC]: Ensure that the required autoconf test has been run.
82450         [!defined _NL_CURRENT && HAVE_STRFTIME]:
82451         Use underlying_strftime for %r.
82452         * lib/sha.c: Merge in some clean-up and optimization changes from
82453         glibc.
82454         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
82455         Ensure that it is a multiple of 64.
82456         Rearrange loop exit tests so as to avoid performing an
82457         additional fread after encountering an error or EOF.
82458         * lib/realloc.c: Update copyright date.
82459
82460 2003-08-15  Jim Meyering  <jim@meyering.net>
82461         and Paul Eggert  <eggert@twinsun.com>
82462
82463         Merge from coreutils.
82464         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
82465         member but strut utmpx does not.  Needed for AIX 4.3.3.
82466         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
82467
82468 2003-08-15  Jim Meyering  <jim@meyering.net>
82469         and Paul Eggert  <eggert@cs.ucla.edu>
82470
82471         Merges from coreutils, etc.
82472         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
82473         Require gl_FUNC_TZSET_CLOBBER.
82474         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
82475         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
82476         members.
82477
82478 2003-08-14  Paul Eggert  <eggert@twinsun.com>
82479
82480         Help the merge from coreutils.
82481         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
82482         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
82483         * m4/tzset.m4: Use it too.
82484
82485 2003-08-14  Paul Eggert  <eggert@twinsun.com>
82486
82487         * modules/tzset: New file.
82488
82489 2003-08-14  Jim Meyering  <jim@meyering.net>
82490
82491         Merges from coreutils.
82492         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
82493         variable names, rather than @FNMATCH_H@.
82494         * modules/alloca: Likewise for $(ALLOCA_H).
82495
82496         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
82497         the three copies of the literal target, `fnmatch.h'.
82498         * modules/alloca (alloca.h): Likewise.
82499
82500 2003-08-14  Jim Meyering  <jim@meyering.net>
82501
82502         Merge from coreutils.
82503         * m4/tzset.m4: New file.
82504         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
82505         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
82506         otherwise, AIX 5.1 systems would end up using the latter.
82507         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
82508         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
82509         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
82510         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
82511
82512 2003-08-14  Jim Meyering  <jim@meyering.net>
82513
82514         Merge from coreutils.
82515         * lib/obstack.h: Whitespace changes.
82516         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
82517         and xcalloc return values.
82518         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
82519         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
82520         hang on OSF/1 5.1 for DIR on both local and remote file systems.
82521         Reported by (and fix confirmed by) Nelson H. F. Beebe.
82522         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
82523         error from mntctl.
82524         Use mntctl's return value to drive the entry-processing loop, since
82525         we can't rely on the value of the vmt_length member in the last
82526         entry.  On some systems doing so could result in exhausting
82527         virtual memory.  Based in part on a patch from Mike Jetzer.
82528
82529 2003-08-14  Jim Meyering  <jim@meyering.net>
82530         and Paul Eggert  <eggert@twinsun.com>
82531
82532         Merges from coreutils, plus other fixes.
82533         * lib/physmem.c: Merge in portability changes from gcc/libiberty
82534         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
82535         for credits and details.  Thanks to Kaveh Ghazi for helping
82536         to keep these files in sync.
82537         (ARRAY_SIZE): Define it.
82538         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
82539         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
82540         (memcasecmp): Don't assume size_t fits in unsigned int.
82541         Remove casts and duplicate code.
82542         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
82543         (memcpy): Remove definition.
82544         Merge in some clean-up and optimization changes from glibc.
82545         [BLOCKSIZE]: Move definition to top of file.
82546         Ensure that it is a multiple of 64.
82547         Rearrange loop exit tests so as to avoid performing an
82548         additional fread after encountering an error or EOF.
82549         * lib/md5.h (md5_uintptr): Define.
82550         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
82551         return to the initial working directory.  Preserve errno
82552         for caller.
82553         * lib/idcache.c: Include "xalloc.h".
82554         (xmalloc, xrealloc): Remove decls.
82555         (getuser): Remove casts no longer required in C89.
82556         * lib/human.c: Include stdio.h, for sprintf.
82557         * lib/group-member.c: Include "xalloc.h".
82558         (xmalloc, xrealloc): Remove decls.
82559         (get_group_info): Remove casts no longer required in C89.
82560         * lib/getusershell.c (readname): Remove casts no longer required in
82561         C89.
82562         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
82563         * lib/getline.c: Whitespace fix, from coreutils.
82564
82565 2003-08-13  Paul Eggert  <eggert@twinsun.com>
82566
82567         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
82568         Check for isascii.
82569
82570         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
82571         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
82572         Undo previous (whitespace-only) change.
82573
82574 2003-08-13  Paul Eggert  <eggert@twinsun.com>
82575
82576         * lib/exclude.c: Include <ctype.h>
82577         (IN_CTYPE_DOMAIN): New macro.
82578         (is_space): New fn.
82579         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
82580         and empty lines.
82581
82582         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
82583         Undo previous (whitespace-only) change.
82584
82585 2003-08-13  Paul Eggert  <eggert@twinsun.com>
82586
82587         * config/srclist-update: Change update back to the old behavior,
82588         leaving whitespace alone.  Use one 'sed' command rather than a
82589         pipeline.
82590         (fixlicense): Now a variable, not a function.
82591         (remove_trailing_blanks): Remove.
82592         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
82593         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
82594         Undo previous (whitespace-only) change.
82595
82596 2003-08-12  Paul Eggert  <eggert@twinsun.com>
82597
82598         Merge from coreutils.
82599         * modules/euidaccess: Add lib_SOURCES, include for new
82600         file euidaccess.h
82601
82602 2003-08-12  Paul Eggert  <eggert@twinsun.com>
82603
82604         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
82605         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
82606         Normalize leading white space and remove trailing white space.
82607
82608         Merge from coreutils
82609         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
82610
82611         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
82612         0.12.1.  These files are now being upgraded automatically by
82613         ../config/srclist-update.
82614
82615 2003-08-12  Paul Eggert  <eggert@twinsun.com>
82616
82617         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
82618         Normalize leading white space and remove trailing white space.
82619         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
82620         notice, as per ../config/srclist-update.
82621
82622         Merge from coreutils.
82623         * lib/euidaccess.h: New file.
82624         * lib/euidaccess.c: Include it.
82625         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
82626         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
82627         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
82628
82629 2003-08-12  Paul Eggert  <eggert@twinsun.com>
82630
82631         * config/srclist-update: Add copyright notice.
82632         (remove_id_lines, remove_trailing_blanks): New constants.
82633         (fixfile): Use them to normalize spacing a bit in copied files.
82634         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
82635         Normalize leading white space and remove trailing white space.
82636
82637         * config/texinfo.tex: Sync with texinfo.
82638
82639         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
82640         strtoul.c from libc, to merge coreutils whitespace changes.
82641
82642         * config/srclist.txt: Get the following m4 files from gettext:
82643         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
82644         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
82645         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
82646         wint_t.m4.
82647
82648 2003-08-12  Karl Berry  <karl@gnu.org>
82649
82650         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
82651         been made.
82652
82653 2003-08-11  Paul Eggert  <eggert@twinsun.com>
82654
82655         * modules/gnu-source, m4/gnu-source.m4:
82656         Remove; we're assuming Autoconf 2.54 or later now.
82657         Suggested by Bruno Haible.
82658         * MODULES.html.sh (func_all_modules): Remove gnu-source.
82659
82660 2003-08-11  Bruno Haible  <bruno@clisp.org>
82661
82662         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
82663
82664 2003-08-11  Bruno Haible  <bruno@clisp.org>
82665
82666         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
82667         (vasnprintf): Use it instead of wcslen.
82668
82669 2003-08-11  Bruno Haible  <bruno@clisp.org>
82670
82671         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
82672         value to ensure that _Bool promotes to int. Use #define for _Bool when
82673         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
82674
82675 2003-08-10  Karl Berry  <karl@gnu.org>
82676
82677         * lib/regex.h: update from libc (whitespace fix).
82678
82679 2003-08-09  Paul Eggert  <eggert@twinsun.com>
82680
82681         Merge some files from coreutils.  These changes were
82682         originally made by Jim Meyering.
82683         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
82684         many older Unixes require this.
82685         * lib/alloca.c (alloca): Remove cast to argument of free;
82686         no longer needed in C89.
82687         * lib/alloca_.h, regex.h: Fix white space to match
82688         what GNU indent does.
82689
82690 2003-08-09  Paul Eggert  <eggert@twinsun.com>
82691
82692         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
82693         apparently Emacs's Unicode mode got confused before my 2003-08-05
82694         checkin.
82695
82696 2003-08-08  Paul Eggert  <eggert@twinsun.com>
82697
82698         * m4/extensions.m4: New file.
82699         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
82700         Require gl_USE_SYSTEM_EXTENSIONS.
82701         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
82702         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
82703
82704 2003-08-08  Paul Eggert  <eggert@twinsun.com>
82705
82706         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
82707         * modules/extensions, modules/gnu-source: New files.
82708         * modules/timespec, modules/unlocked-io: Depend on extensions.
82709
82710 2003-08-07  Paul Eggert  <eggert@twinsun.com>
82711
82712         * modules/restrict: New file.
82713         * MODULES.html.sh (func_all_modules): Add restrict.
82714         * modules/regex: Depend on restrict.
82715
82716 2003-08-07  Paul Eggert  <eggert@twinsun.com>
82717
82718         * m4/restrict.m4: New file.
82719         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
82720
82721 2003-08-07  Bruno Haible  <bruno@clisp.org>
82722
82723         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
82724         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
82725
82726 2003-08-07  Bruno Haible  <bruno@clisp.org>
82727
82728         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
82729         makes the module 'getndelim2' compatible with the module 'getline'.
82730
82731 2003-08-05  Paul Eggert  <eggert@twinsun.com>
82732
82733         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
82734         byte with "\201" to avoid glitches when editing that source file
82735         with multi-gnome-terminal.
82736
82737 2003-08-05  Paul Eggert  <eggert@twinsun.com>
82738
82739         * lib/bumpalloc.h: Remove.
82740
82741 2003-08-05  Paul Eggert  <eggert@twinsun.com>
82742
82743         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
82744         * modules/bumpalloc: Remove.
82745
82746 2003-08-04  Paul Eggert  <eggert@twinsun.com>
82747
82748         * lib/getloadavg.c: Change copyright notice and spacing to conform to
82749         GNU coding style.
82750
82751         Merge from coreutils.
82752         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
82753         1. From glibc.
82754         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
82755         from Karl Berry, implemented by Jim Meyering.
82756         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
82757         from Dmitry V. Levin.
82758         Remove anachronistic cast of xrealloc.
82759         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
82760         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
82761         type. Otherwise, it wouldn't compile with at least /bin/cc on
82762         ymp-cray-unicos9.0.2.X.
82763         Combine two mostly-identical uses of alloca into one.
82764         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
82765
82766 2003-08-04  Dave Love  <d.love@dl.ac.uk>
82767
82768         [From Emacs.]
82769
82770         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
82771         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
82772         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
82773         obsolete NLIST_NAME_UNION.
82774         [__GNU__]: Undef BSD and FSCALE.
82775         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
82776
82777 2003-08-03  Paul Eggert  <eggert@twinsun.com>
82778
82779         * lib/stdbool_.h (_Bool): Make it signed char, instead of
82780         an enum type, so that it's guaranteed to promote to int.  See:
82781         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
82782
82783 2003-08-03  Karl Berry  <karl@gnu.org>
82784
82785         * config/depcomp: update from automake.
82786
82787 2003-07-31  Paul Eggert  <eggert@twinsun.com>
82788
82789         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
82790         (strerror): Don't assume that a printable int fits in 14 bytes.
82791
82792 2003-07-31  Bruno Haible  <bruno@clisp.org>
82793
82794         * modules/getpass-gnu: New file.
82795         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
82796
82797 2003-07-31  Bruno Haible  <bruno@clisp.org>
82798
82799         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
82800
82801 2003-07-24  Karl Berry  <karl@gnu.org>
82802
82803         * config/missing: update from automake.
82804
82805 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
82806             Bruno Haible  <bruno@clisp.org>
82807
82808         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
82809         * lib/getline.c (getline, getdelim): Likewise.
82810         Remove _GNU_SOURCE define; now it's defined in config.h through
82811         m4/getline.m4.
82812
82813 2003-07-23  Karl Berry  <karl@gnu.org>
82814
82815         * config/config.sub: update from prep.
82816
82817 2003-07-22  Paul Eggert  <eggert@twinsun.com>
82818
82819         * modules/xalloc (Depends-on): Add exitfail.
82820         * modules/xmemcoll: Likewise.
82821
82822 2003-07-22  Paul Eggert  <eggert@twinsun.com>
82823
82824         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
82825         over-parenthesization in macros.
82826
82827         Sync with coreutils.
82828
82829         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
82830         required by C99.
82831
82832         Use `exit_failure' for xalloc and xmemcoll instead of their own
82833         private exit-failure variables.
82834         * lib/xalloc.h (xalloc_exit_failure): Remove.
82835         * lib/xmalloc.c: Likewise.  Include exitfail.h.
82836         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
82837         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
82838         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
82839         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
82840
82841 2003-07-20  Jim Meyering  <jim@meyering.net>
82842
82843         * modules/closeout (Depends-on): Add exitfail.
82844         Suggestion from Bruno Haible.
82845
82846 2003-07-19  Karl Berry  <karl@gnu.org>
82847
82848         * config/config.sub: update from prep.
82849
82850 2003-07-18  Paul Eggert  <eggert@twinsun.com>
82851
82852         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
82853         Remove.
82854         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
82855         to test that it can stand by itself.  Include "exitfail.h".
82856         Clients should set exit_failure instead.
82857         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
82858
82859 2003-07-18  Bruno Haible  <bruno@clisp.org>
82860
82861         * modules/getndelim2: New file.
82862         * modules/getline: Share files with module getndelim2.
82863         * modules/getnline: Depend on getndelim2 instead of sharing files with
82864         it. Add getnline.c to lib_SOURCES.
82865         * MODULES.html.sh (func_all_modules): Add getndelim2.
82866
82867 2003-07-18  Bruno Haible  <bruno@clisp.org>
82868
82869         * m4/getndelim2.m4: New file.
82870         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
82871         invoke gl_PREREQ_GETNDELIM2.
82872         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
82873         gl_PREREQ_GETNDELIM2.
82874         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
82875         gl_GETNDELIM2.
82876
82877 2003-07-18  Bruno Haible  <bruno@clisp.org>
82878
82879         * lib/getndelim2.h: New file.
82880         * lib/getndelim2.c: Make into a module of its own. Include config.h,
82881         getndelim2.h.
82882         (getndelim2): Make non-static. Change return type to ssize_t.
82883         * lib/getline.h: Change argument names.
82884         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
82885         * lib/getnline.c: Include getndelim2.h.
82886
82887 2003-07-18  Andreas Schwab  <schwab@suse.de>
82888
82889         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
82890
82891 2003-07-17  Karl Berry  <karl@gnu.org>
82892
82893         * config/config.sub: update from prep.
82894
82895 2003-07-17  Bruno Haible  <bruno@clisp.org>
82896
82897         * modules/getnline: New file.
82898         * modules/getline: Add lib/getndelim2.c to source file list.
82899         * MODULES.html.sh (func_all_modules): Add getnline.
82900
82901 2003-07-17  Bruno Haible  <bruno@clisp.org>
82902
82903         * m4/getnline.m4: New file.
82904
82905 2003-07-17  Bruno Haible  <bruno@clisp.org>
82906
82907         * m4/Makefile.am.in: Remove file.
82908         * m4/Makefile.am: Remove file.
82909         * m4/Makefile.in: Remove file.
82910
82911 2003-07-17  Bruno Haible  <bruno@clisp.org>
82912
82913         * lib/getnline.h: New file.
82914         * lib/getnline.c: New file.
82915         * lib/getndelim2.c: New file, extracted from getline.c.
82916         (getndelim2): Renamed from getdelim2, with added nmax argument.
82917         * lib/getline.c: Include getndelim2.c.
82918         (getdelim2): Moved out to getndelim2.c.
82919         (getline, getdelim): Update.
82920
82921 2003-07-17  Bruno Haible  <bruno@clisp.org>
82922
82923         * lib/Makefile.am: Remove file.
82924         * lib/Makefile.in: Remove file.
82925
82926 2003-07-17  Bruno Haible  <bruno@clisp.org>
82927
82928         * configure.in: Remove file.
82929         * Makefile.in: Remove file.
82930
82931 2003-07-17  Bruno Haible  <bruno@clisp.org>
82932
82933         * MODULES.html.sh: Put the </BODY> right before </HTML>.
82934
82935 2003-07-16  Karl Berry  <karl@gnu.org>
82936
82937         * config/srclist-update: was running fixlicense twice, which caused
82938                 texinfo.tex to be nullified for some reason.  Simplify,
82939                 $gplsrc is no longer needed as far as I can see?
82940
82941 2003-07-16  Jim Meyering  <jim@meyering.net>
82942
82943         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
82944
82945 2003-07-15  Paul Eggert  <eggert@twinsun.com>
82946
82947         * config/srclist.txt: Get the following files from gettext-runtime/intl
82948         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
82949         ref-del.sin.  From Bruno Haible.
82950         * config/srclist-update (fixfile): Change grep pattern again, since the
82951         previous fix didn't work (there was another trailing $).  Use
82952         '[$]' to escape the $s.
82953
82954 2003-07-15  Karl Berry  <karl@gnu.org>
82955
82956         * lib/vasnprintf.c: update from gettext.
82957
82958 2003-07-15  Karl Berry  <karl@gnu.org>
82959
82960         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
82961         gets expanded when surrounded by '$'.
82962
82963 2003-07-15  Jim Meyering  <jim@meyering.net>
82964
82965         * modules/save-cwd: Don't depend on error.  From Derek Price.
82966
82967 2003-07-15  Jim Meyering  <jim@meyering.net>
82968
82969         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
82970
82971 2003-07-14  Simon Josefsson  <jas@extundo.com>
82972
82973         * modules/mempcpy: New file.
82974         * MODULES.html.sh (func_all_modules): Add mempcpy.
82975
82976 2003-07-14  Simon Josefsson  <jas@extundo.com>
82977
82978         * m4/mempcpy.m4: New file.
82979
82980 2003-07-14  Simon Josefsson  <jas@extundo.com>
82981
82982         * lib/mempcpy.h: New file.
82983         * lib/mempcpy.c: New file.
82984
82985 2003-07-14  Paul Eggert  <eggert@twinsun.com>
82986
82987         * modules/getdate, modules/posixtm: Depend on mktime.
82988
82989 2003-07-14  Paul Eggert  <eggert@twinsun.com>
82990
82991         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
82992         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
82993         unicodeio.c, unicodeio.h, unlocked-io.h:
82994         Switch from LGPL to GPL.
82995
82996 2003-07-14  Paul Eggert  <eggert@twinsun.com>
82997
82998         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
82999         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
83000         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
83001         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
83002         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
83003         updated automatically by ../config/srclist-update.  This changes
83004         their license from LPGL to GPL.
83005
83006 2003-07-14  Paul Eggert  <eggert@twinsun.com>
83007
83008         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
83009         assumed to refer to the root of the most recent stable gettext version.
83010         * config/srclistvars.sh: Add defaults for eggert.
83011         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
83012         Match "This program" as well as "The program".  This is needed
83013         for gettext.
83014
83015 2003-07-14  Jim Meyering  <jim@meyering.net>
83016
83017         Don't emit diagnostics.  Let callers do that.
83018         * lib/save-cwd.c: Don't include "error.h".
83019         (save_cwd): Don't call error.  Ensure that errno is valid
83020         when returning nonzero.
83021
83022         * lib/save-cwd.h (restore_cwd): Update prototype.
83023         * lib/save-cwd.c (restore_cwd): Remove two parameters.
83024         Simplify.  Don't call error upon failure.  Let callers do that.
83025         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
83026         when auditing is enabled.  But don't bother updating the #if.
83027
83028 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
83029
83030         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
83031         it breaks C++ compilation.
83032         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
83033
83034 2003-07-10  Simon Josefsson  <jas@extundo.com>
83035
83036         * modules/strchrnul (Makefile.am): Add strchrnul.h.
83037
83038 2003-07-10  Jim Meyering  <jim@meyering.net>
83039
83040         * m4/clock_time.m4: Remove trailing blank.
83041         * m4/intmax_t.m4: Likewise.
83042
83043 2003-07-10  Jim Meyering  <jim@meyering.net>
83044
83045         * lib/vasnprintf.c: Remove trailing blanks.
83046         Make cpp indentation consistent.
83047
83048 2003-07-09  Paul Eggert  <eggert@twinsun.com>
83049
83050         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
83051         posixver.c, strftime.c, strnlen.c, strverscmp.c:
83052         Switch from LGPL to GPL.
83053
83054 2003-07-09  Paul Eggert  <eggert@twinsun.com>
83055
83056         * config/srclist.txt: Sort sublists.  Add
83057         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
83058         that differ from gnulib for one reason or another; we'd like this list
83059         to be smaller but for now let's document what we have.
83060
83061 2003-07-08  Paul Eggert  <eggert@twinsun.com>
83062
83063         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
83064         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
83065         and sweeter "eval x=$x".
83066         * config/srclist.txt: Get lib/argp* from glibc.
83067
83068 2003-07-07  Paul Eggert  <eggert@twinsun.com>
83069
83070         * lib/mktime.c: Fix some boundary cases and remove need for floating
83071         point.
83072
83073         Issue a compile-time diagnostic if time_t is floating point, or if
83074         two's complement arithmetic is not in effect, or if arithmetic
83075         right shift does not propagate the sign.  These assumptions were
83076         all in the original code but they weren't checked.
83077
83078         (TIME_T_MIDPOINT, verify): New macros.
83079         (__isleap): Remove; it has integer overflow problems.
83080         (leapyear): New function, without those problems.
83081         (ydhms_tm_diff): Remove; splitting into two parts.
83082         (ydhms_diff): New function, containing the arithmetic part of
83083         the old ydhms_tm_diff function.  Issue a compile-time
83084         diagnostic if we are not using C99 integer division.
83085         Avoid casts when possible.
83086         (guess_time_tm): New function, containing the checking part of
83087         the old ydhms_tm_diff function.  Return the new value, rather than
83088         the difference between it and the old.  Accept a new argument T
83089         so that *T specifies the old value.  Check for overflow in the result.
83090
83091         (__mktime_internal): Use a time_t offset, not a long int offset.
83092         This undoes the 2003-06-04 change, which is no longer needed now
83093         that we have better overflow checking.
83094         (localtime_offset): Likewise.
83095
83096         (__mktime_internal): Avoid harmful overflow on hosts where time_t
83097         and long are 64-bit but int is only 32-bit.
83098         (ydhms_diff): Use long int to store year1 and yday1.
83099         Issue a compile-time diagnostic if long int is not wide enough.
83100
83101         (__mktime_internal): Use long int to store adjusted year and yday.
83102         Use plain C rather than preprocessor commands, if that doesn't
83103         affect efficiency.
83104         Check for overflow (and try to repair) after each probe
83105         rather than checking only at the very end.  This avoids some bugs
83106         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
83107         does not equal GMT offset at maximum time).
83108         Use integer to check for overflow rather than floating point; this
83109         is more portable to non-IEEE hosts, and is a tad faster.
83110         When we detect that we are oscillating between two values,
83111         don't check whether tm_isdst has the requested value, since
83112         we already know the answer.  When tm_isdst has the wrong value,
83113         use a different heuristic to find the right one, based on the
83114         extreme values actually observed in practice in tz2003a,
83115         rather than the (overly optimistic) "previous 3 calendar quarters".
83116
83117         (not_equal_tm, print_tm, check_result): Use "const T" rather than
83118         "T const" to accommodate glibc style.
83119         (check_result): Use less-confusing report format.  "long" -> "long int.
83120         (main): Likewise.
83121         Don't loop if the iteration overflows time_t.
83122         Allow a negative step in the iteration.
83123
83124 2003-07-06  Karl Berry  <karl@gnu.org>
83125
83126         * config/depcomp: update from automake.
83127         * config/config.sub: update from prep.
83128
83129 2003-07-03  Karl Berry  <karl@gnu.org>
83130
83131         * config/config.guess: update from prep.
83132
83133 2003-07-01  Paul Eggert  <eggert@twinsun.com>
83134
83135         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
83136         xreadlink.c now includes it unconditionally.
83137
83138 2003-07-01  Paul Eggert  <eggert@twinsun.com>
83139
83140         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
83141         having it depend on HAVE_SYS_TYPES_H.
83142
83143 2003-07-01  Bruno Haible  <bruno@clisp.org>
83144
83145         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
83146         <sys/types.h> should be sufficient.
83147         Reported by Paul Eggert.
83148
83149 2003-06-26  Karl Berry  <karl@gnu.org>
83150
83151         * config/depcomp: update from automake.
83152
83153 2003-06-26  Bruno Haible  <bruno@clisp.org>
83154
83155         * modules/human: Depend on module stdbool.
83156
83157 2003-06-25  Bruno Haible  <bruno@clisp.org>
83158
83159         * modules/readlink: New file.
83160         * modules/xreadlink: Depend on it.
83161         * MODULES.html.sh (func_all_modules): Add readlink.
83162
83163 2003-06-25  Bruno Haible  <bruno@clisp.org>
83164
83165         * m4/readlink.m4: New file.
83166
83167 2003-06-25  Bruno Haible  <bruno@clisp.org>
83168
83169         * lib/readlink.c: New file.
83170
83171 2003-06-22  Karl Berry  <karl@gnu.org>
83172
83173         * config/srclist.txt: update mkinstalldirs from automake.
83174         * config/mkinstalldirs: update.
83175
83176 2003-06-22  Bruno Haible  <bruno@clisp.org>
83177
83178         Portability to mingw32.
83179         * m4/ssize_t.m4: New file, from GNU gettext.
83180         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
83181         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
83182
83183 2003-06-22  Bruno Haible  <bruno@clisp.org>
83184
83185         * modules/safe-read: Add m4/ssize_t.m4.
83186         * modules/xreadlink: Add m4/ssize_t.m4.
83187
83188 2003-06-20  Bruno Haible  <bruno@clisp.org>
83189
83190         Assume C89, so PARAMS isn't needed.
83191         * lib/unicodeio.h (PARAMS): Remove.
83192         * lib/unicodeio.c: Don't use PARAMS.
83193
83194 2003-06-18  Karl Berry  <karl@gnu.org>
83195
83196         * config/config.{guess,sub}: update from prep.
83197
83198 2003-06-18  Jim Meyering  <jim@meyering.net>
83199
83200         Merge changes from coreutils.
83201         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
83202         Remove explicit declarations of xmalloc and realloc.
83203         Include xalloc.h.
83204         (read_utmp): Remove anachronistic cast of xmalloc.
83205
83206 2003-06-17  Paul Eggert  <eggert@twinsun.com>
83207
83208         Assume C89, so PARAMS isn't needed.
83209         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
83210         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
83211         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
83212         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
83213         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
83214         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
83215         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
83216         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
83217         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
83218         lib/xstrtod.h, lib/xstrtol.h: Likewise.
83219         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
83220         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
83221         no longer needed. Anyway, config.h should always be included before any
83222         other file.
83223
83224 2003-06-11  Simon Josefsson  <jas@extundo.com>
83225
83226         * modules/sysexits: New file.
83227         * MODULES.html.sh (func_all_modules): Add sysexits.
83228
83229 2003-06-11  Simon Josefsson  <jas@extundo.com>
83230
83231         * lib/sysexit_.h: New file.
83232
83233 2003-06-11  Derek Price  <derek@ximbiot.com>
83234
83235         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
83236         necessary.
83237
83238 2003-06-11  Bruno Haible  <bruno@clisp.org>
83239
83240         * m4/sysexits.m4: New file.
83241
83242 2003-06-10  Simon Josefsson  <jas@extundo.com>
83243
83244         * lib/argp.h: New file, from glibc.
83245         * lib/argp-ba.c: New file, from glibc.
83246         * lib/argp-eexst.c: New file, from glibc.
83247         * lib/argp-fmtstream.c: New file, from glibc.
83248         * lib/argp-fmtstream.h: New file, from glibc.
83249         * lib/argp-fs-xinl.c: New file, from glibc.
83250         * lib/argp-help.c: New file, from glibc.
83251         * lib/argp-namefrob.h: New file, from glibc.
83252         * lib/argp-parse.c: New file, from glibc.
83253         * lib/argp-pv.c: New file, from glibc.
83254         * lib/argp-pvh.c: New file, from glibc.
83255         * lib/argp-xinl.c: New file, from glibc.
83256
83257 2003-06-10  Simon Josefsson  <jas@extundo.com>
83258
83259         * modules/strchrnul: New file.
83260
83261 2003-06-10  Simon Josefsson  <jas@extundo.com>
83262
83263         * modules/argp: New file.
83264
83265 2003-06-10  Simon Josefsson  <jas@extundo.com>
83266
83267         * m4/strchrnul.m4: New file.
83268
83269 2003-06-10  Simon Josefsson  <jas@extundo.com>
83270
83271         * lib/strchrnul.h: New file.
83272         * lib/strchrnul.c: New file.
83273
83274 2003-06-10  Bruno Haible  <bruno@clisp.org>
83275
83276         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
83277
83278 2003-06-07  Karl Berry  <karl@gnu.org>
83279
83280         * config/config.{guess,sub}: update from prep.
83281
83282 2003-06-07  Jim Meyering  <jim@meyering.net>
83283
83284         * modules/strtod: Use $(...) notation, not @...@ for
83285         AC_REPLACE'd variables.
83286         * modules/localcharset: Likewise.
83287
83288 2003-06-07  Jim Meyering  <jim@meyering.net>
83289
83290         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
83291         in place of my name in the copyright comment.
83292         Remove definition and uses of __P.
83293
83294         From coreutils.
83295         * lib/stat.c: Don't declare xmalloc explicitly.
83296         Instead, include "xalloc.h".
83297         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
83298         xrealloc, and xcalloc return values.
83299         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
83300         Improve comment.
83301         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
83302
83303 2003-06-07  Bruno Haible  <bruno@clisp.org>
83304
83305         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
83306         avoid AC_CONFIG_LINKS.
83307         * modules/fnmatch (Makefile.am): Use explicit creation rule for
83308         fnmatch.h, to avoid AC_CONFIG_LINKS.
83309         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
83310
83311 2003-06-07  Bruno Haible  <bruno@clisp.org>
83312
83313         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
83314         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
83315         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
83316         directory.
83317         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
83318         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
83319         directory.
83320
83321 2003-06-06  Jim Meyering  <jim@meyering.net>
83322
83323         Merge from coreutils.
83324         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
83325         Consolidate declarations and initializations of *_base* locals.
83326
83327         Merge from coreutils.
83328         This avoids a core dump on systems without GNU putenv,
83329         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
83330         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
83331         (unsetenv): New static function, from GNU libc.
83332         (rpl_putenv): Use it.
83333
83334         * lib/modechange.c: Remove trailing blanks.
83335
83336         Merge from coreutils.
83337         * lib/fsusage.c: Remove declaration of statfs.
83338         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
83339
83340         * lib/posixtm.c: Include <stdbool.h> unconditionally.
83341
83342 2003-06-06  Jim Meyering  <jim@meyering.net>
83343
83344         * lib/stdbool_.h: Renamed from stdbool.h.in.
83345
83346 2003-06-06  Jim Meyering  <jim@meyering.net>
83347             Bruno Haible  <bruno@clisp.org>
83348
83349         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
83350         Adjust Makefile.am snippet not to redirect directly to target.
83351         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
83352
83353 2003-06-05  Paul Eggert  <eggert@twinsun.com>
83354
83355         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
83356         mismatch, look in future quarters as well as past.  This fixes a
83357         bug when processing fall-backwards gaps immediately after a long
83358         period of daylight-saving time.
83359
83360         * lib/mktime.c: Assume freestanding C89 or better.
83361         (HAVE_LIMITS_H): Remove.  Assume it's 1.
83362         (__P): Remove; not used.
83363         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
83364         (mktime, not_equal_tm, print_tm, check_result,
83365         main): Use prototypes.  Use const * where appropriate.
83366         (main): Fix typo in testing code that uncovered by above changes.
83367         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
83368
83369 2003-06-04  Paul Eggert  <eggert@twinsun.com>
83370
83371         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
83372         locale.h, localeconv.  This merges changes from coreutils.
83373
83374         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
83375         It can be removed after the next Autoconf is released.
83376         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
83377         needed.
83378
83379 2003-06-04  Paul Eggert  <eggert@twinsun.com>
83380
83381         * lib/mktime.c: Fix Debian bug 177940
83382         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
83383         (localtime_offset): Now long int, not time_t, because we want it
83384         to be guaranteed to be signed.  All uses changed.
83385         (__mktime_internal): If overflow would occur when adding offset,
83386         don't add it.
83387
83388         Merge 'human' changes from coreutils.  Rewrite to support
83389         locale-specific notations like thousands separators.
83390         * lib/human.c: Simplify authorship notice.
83391         Include human.h immediately after config.h.
83392         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
83393         <limits.h>: Do not include, since human.h does.
83394         (SIZE_MAX, UINTMAX_MAX): New macros.
83395         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
83396         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
83397         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
83398         (power_letter): Renamed from suffixes.
83399         (generate_suffix_backwards): Remove.
83400         (adjust_value): Now takes int style (because of human.h changes)
83401         and long double value (for greater precision on some platforms).
83402         (group_number): New function.
83403         (human_readable): Use it.  Use integer options, not enum.
83404         Put the options before the sizes in the arg list.
83405         Support all the new options.
83406         The old human_readable function has been removed;
83407         use inttostr.h instead.
83408         (human_readable, default_block_size, humblock):
83409         Use uintmax_t, not int, for block sizes.
83410         (human_readable_inexact, block_size_types): Remove.
83411         (block_size_opts): New constant.
83412         (human_options): Renamed from human_block_size, with new signature
83413         that allows block sizes up to UINTMAX_MAX.  All callers changed.
83414         * lib/human.h: Add copyright and authorship notice.
83415         Include <limits.h> and <stdbool.h> unconditionally.
83416         (PARAMS): Remove.  All uses removed.
83417         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
83418         (enum human_inexact_style): Remove tag; now a nameless enum.
83419         (human_floor, human_ceiling, human_round_to_even): Now have
83420         values 2, 0, 1 rather than -1, 1, 0.
83421         (human_group_digits, human_suppress_point_zero, human_autoscale,
83422         human_base_1024, human_SI, human_B): New constants.
83423         (human_readable_inexact, human_block_size): Remove.
83424         (human_readable): Size args are now uintmax_t, not int.
83425         (human_options): New decl.
83426
83427         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
83428         unnecessary now that we assume C89 or better.  This change
83429         imported from coreutils.
83430
83431         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
83432         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
83433         in the 2003-05-30 sync from glibc.
83434
83435         .h files should stand alone, but we shouldn't include <sys/types.h>
83436         if we can get away with just <stddef.h>.
83437
83438         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
83439         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
83440         rather than <sys/types.h>, as we merely need size_t.
83441         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
83442         to get size_t.
83443         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
83444         Include <stdio.h>, to get FILE.
83445         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
83446         memcasecmp.h has included <stddef.h> and all we need is size_t.
83447         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
83448         our interface, instead of including <sys/types.h>
83449
83450 2003-06-04  Paul Eggert  <eggert@twinsun.com>
83451
83452         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
83453         now, as glibc mktime is buggy on non-glibc systems.
83454
83455 2003-06-03  Karl Berry  <karl@gnu.org>
83456
83457         * config/config.sub: update from prep.
83458
83459 2003-06-02  Paul Eggert  <eggert@twinsun.com>
83460
83461         [from coreutils]
83462         Fix some minor time-related bugs with POSIX time arguments.
83463         Some valid time stamps were being rejected (notably -1, and
83464         time stamps before 1900 on 64-bit hosts).  And some invalid
83465         time stamps were being accepted, e.g. September 31.
83466
83467         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
83468         that we can return (time_t) -1 successfully.
83469         * lib/posixtm.c: Likewise.
83470         [HAVE_STDBOOL_H]: Include <stdbool.h>.
83471         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
83472         (t): Remove static var.
83473         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
83474         of static var.  All uses changed.
83475         (year): Do not reject years before 1900; they can occur with
83476         64-bit time_t.
83477         (posix_time_parse): Do not check for out-of-range components;
83478         that is now the caller's responsibility, since our checks were
83479         only approximations.
83480         (posixtime): Use mktime to check for out-of-range components,
83481         since it knows them exactly.
83482         If mktime returns (time_t) -1, check whether an error actually occurred
83483         by invoking localtime on -1.
83484         (main) [TEST_POSIXTIME]: Check for input data errors, and report
83485         posixtime failures better.
83486         Improve the test data (in comments only).
83487
83488 2003-06-02  Karl Berry  <karl@gnu.org>
83489
83490         * config/mkinstalldirs (version): new variable.
83491         (--version): new option.
83492         (usage): improve message.
83493
83494 2003-05-30  Karl Berry  <karl@gnu.org>
83495
83496         * lib/mktime.c: update from libc.
83497
83498 2003-05-30  Bruno Haible  <bruno@clisp.org>
83499
83500         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
83501         * config/config.rpath: Upgrade to gettext-0.12.1.
83502
83503 2003-05-30  Bruno Haible  <bruno@clisp.org>
83504
83505         * m4/gettext.m4: Upgrade to gettext-0.12.1.
83506         * m4/nls.m4: New file, from gettext-0.12.1.
83507         * m4/po.m4: New file, from gettext-0.12.1.
83508         * m4/progtest.m4: Upgrade to gettext-0.12.1.
83509
83510 2003-05-30  Bruno Haible  <bruno@clisp.org>
83511
83512         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
83513         * lib/localcharset.h: Likewise.
83514         * lib/localcharset.c: Likewise.
83515
83516 2003-05-29  Karl Berry  <karl@gnu.org>
83517
83518         * config/config.rpath: update from gettext.
83519
83520 2003-05-28  Paul Eggert  <eggert@twinsun.com>
83521
83522         Assume the headers required for C89 freestanding compilers.
83523         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
83524         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
83525         * m4/human.m4 (gl_HUMAN): Likewise.
83526         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
83527         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
83528         * m4/userspec.m4 (gl_USERSPEC): Likewise.
83529         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
83530         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
83531         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
83532
83533 2003-05-28  Paul Eggert  <eggert@twinsun.com>
83534
83535         Assume the headers required for C89 freestanding compilers.
83536         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
83537         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
83538         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
83539         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
83540         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
83541         define, since <limits.h> is guaranteed to do that.
83542         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
83543         * lib/exclude.c: Include <stdbool.h> unconditionally.
83544         * lib/tempname.c: Include <stddef.h> unconditionally.
83545         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
83546         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
83547         <stddef.h> does that.
83548         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
83549         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
83550         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
83551         needed.
83552         * lib/xstrtol.c: Likewise.
83553         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
83554         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
83555
83556         * lib/addext.c (addext): Use assignment rather than cast, to avoid
83557         warnings on some platforms.
83558
83559         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
83560         arbitrarily.
83561
83562 2003-05-26  Jim Meyering  <jim@meyering.net>
83563
83564         Merge in a change from coreutils:
83565         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
83566         that is guaranteed to be `no'.  Use `no_such_member' to indicate
83567         that condition, rather than `-1' which is slightly misleading.
83568         Change the name of the cache variable to have the gl_ prefix.
83569         Prompted by a patch from Richard Dawe for DJGPP.
83570
83571 2003-05-24  Karl Berry  <karl@gnu.org>
83572
83573         * config/config.guess: update from prep.
83574
83575 2003-05-22  Karl Berry  <karl@gnu.org>
83576
83577         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
83578
83579 2003-05-20  Karl Berry  <karl@gnu.org>
83580
83581         * config/config.guess: update from prep.
83582
83583 2003-05-18  Karl Berry  <karl@gnu.org>
83584
83585         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
83586         might actually be set by the user.
83587
83588         * config/depcomp, install-sh, mdate-sh: update from automake.
83589
83590 2003-05-17  Bruno Haible  <bruno@clisp.org>
83591
83592         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
83593         invalid expansion for AC_EGREP_CPP.
83594         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
83595         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
83596         Suggested by Akim Demaille <akim@epita.fr> in
83597         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
83598
83599 2003-05-12  Jim Meyering  <jim@meyering.net>
83600
83601         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
83602         the space-padded-by-default conversion specifiers, %e, %k, %l.
83603
83604 2003-05-12  Bruno Haible  <bruno@clisp.org>
83605
83606         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
83607         the string is longer than 4 KB.
83608
83609 2003-05-11  Karl Berry  <karl@gnu.org>
83610
83611         * config/config.{guess,sub}: update from prep.
83612
83613 2003-05-09  Bruno Haible  <bruno@clisp.org>
83614
83615         * modules/error: Add m4/strerror_r.m4 to file list.
83616
83617 2003-05-03  Bruno Haible  <bruno@clisp.org>
83618
83619         Upgrade to Unicode-4.0.
83620         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
83621         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
83622         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
83623         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
83624         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
83625         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
83626         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
83627         Change width of U+E0100..U+E01EF from 1 to 0.
83628
83629 2003-04-25  Jim Meyering  <jim@meyering.net>
83630
83631         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
83632         of type size_t, not int.
83633
83634 2003-04-25  Bruno Haible  <bruno@clisp.org>
83635
83636         * lib/copy-file.c: Include <stddef.h>, for size_t.
83637
83638 2003-04-21  Paul Eggert  <eggert@twinsun.com>
83639
83640         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
83641         code which expansion is under static control.  Patch imported from
83642         Akim Demaille's patch to Bison; see
83643         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
83644
83645 2003-04-14  Bruno Haible  <bruno@clisp.org>
83646
83647         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
83648
83649 2003-04-11  Jim Meyering  <jim@meyering.net>
83650
83651         Merge changes from Coreutils.
83652
83653         2003-03-22  Jim Meyering  <jim@meyering.net>
83654
83655         * lib/strftime.c (widen): Cast alloca return value to proper type.
83656
83657         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
83658
83659         From GNU libc.
83660         * lib/strftime.c (my_strftime): Handle very large width
83661         specifications for numeric values correctly.  Improve checks for
83662         overflow.
83663
83664         2003-01-19  Jim Meyering  <jim@meyering.net>
83665
83666         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
83667         definitions.
83668         (nl_get_alt_digit) [! defined my_strftime]: Define.
83669         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
83670         _nl_get_alt_digit and _nl_get_walt_digit.
83671
83672         * lib/strftime.c (my_strftime): Merge in locale-related changes from
83673         libc. These changes have no effect outside of _LIBC.
83674
83675 2003-04-10  Bruno Haible  <bruno@clisp.org>
83676
83677         * modules/findprog: New file.
83678         * MODULES.html.sh (func_all_modules): Add it.
83679
83680 2003-04-10  Bruno Haible  <bruno@clisp.org>
83681
83682         * m4/findprog.m4: New file.
83683         * m4/eaccess.m4: New file.
83684
83685 2003-04-10  Bruno Haible  <bruno@clisp.org>
83686
83687         * lib/findprog.h: New file, from GNU gettext.
83688         * lib/findprog.c: New file, from GNU gettext.
83689
83690 2003-04-05  Jim Meyering  <jim@meyering.net>
83691
83692         Merge changes from Coreutils.
83693
83694         * lib/exclude.h (PARAMS): Remove definition and uses.
83695         * lib/exclude.c: Remove uses of `PARAMS'.
83696
83697         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
83698         Add test-cases for DOS filenames. Declare program_name.
83699         (main): Set up program_name.  Patch by Rich Dawe.
83700
83701         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
83702         error from mntctl.
83703         Use mntctl's return value to drive the entry-processing loop, since
83704         we can't rely on the value of the vmt_length member in the last
83705         entry.  On some systems doing so could result in exhausting
83706         virtual memory.  Based in part on a patch from Mike Jetzer.
83707
83708 2003-04-04  Bruno Haible  <bruno@clisp.org>
83709
83710         * modules/linebreak: New file.
83711         * MODULES.html.sh (func_all_modules): Add it.
83712
83713 2003-04-04  Bruno Haible  <bruno@clisp.org>
83714
83715         * m4/linebreak.m4: New file.
83716
83717 2003-04-04  Bruno Haible  <bruno@clisp.org>
83718
83719         * lib/linebreak.h: New file, from GNU gettext.
83720         * lib/linebreak.c: New file, from GNU gettext with slight
83721         modifications.
83722         * lib/lbrkprop.h: New file, from GNU gettext.
83723
83724 2003-04-03  Bruno Haible  <bruno@clisp.org>
83725
83726         * modules/utf8-ucs4: New file.
83727         * modules/utf16-ucs4: New file.
83728         * modules/ucs4-utf8: New file.
83729         * modules/ucs4-utf16: New file.
83730         * MODULES.html.sh (func_all_modules): Add them.
83731
83732 2003-04-03  Bruno Haible  <bruno@clisp.org>
83733
83734         * m4/utf-ucs4.m4: New file.
83735         * m4/ucs4-utf.m4: New file.
83736
83737 2003-04-03  Bruno Haible  <bruno@clisp.org>
83738
83739         * lib/utf8-ucs4.h: New file, from GNU gettext.
83740         * lib/utf16-ucs4.h: New file, from GNU gettext.
83741         * lib/ucs4-utf8.h: New file, from GNU gettext.
83742         * lib/ucs4-utf16.h: New file, from GNU gettext.
83743
83744 2003-04-02  Bruno Haible  <bruno@clisp.org>
83745
83746         * modules/binary-io: New file.
83747         * MODULES.html.sh (func_all_modules): Add it.
83748
83749 2003-04-02  Bruno Haible  <bruno@clisp.org>
83750
83751         * lib/binary-io.h: New file, from GNU gettext.
83752
83753 2003-04-01  Bruno Haible  <bruno@clisp.org>
83754
83755         * modules/pathname: New file.
83756         * MODULES.html.sh (func_all_modules): Add it.
83757
83758 2003-04-01  Bruno Haible  <bruno@clisp.org>
83759
83760         * lib/pathname.h: New file, from GNU gettext.
83761         * lib/concatpath.c: New file, from GNU gettext.
83762
83763 2003-03-30  Bruno Haible  <bruno@clisp.org>
83764
83765         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
83766
83767 2003-03-30  Bruno Haible  <bruno@clisp.org>
83768
83769         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
83770         function chown() doesn't exist.
83771
83772 2003-03-28  Bruno Haible  <bruno@clisp.org>
83773
83774         * modules/copy-file: New file.
83775         * MODULES.html.sh (func_all_modules): Add it.
83776
83777 2003-03-28  Bruno Haible  <bruno@clisp.org>
83778
83779         * m4/copy-file.m4: New file.
83780
83781 2003-03-28  Bruno Haible  <bruno@clisp.org>
83782
83783         * lib/copy-file.h: New file, from GNU gettext.
83784         * lib/copy-file.c: New file, from GNU gettext.
83785
83786 2003-03-18  Jim Meyering  <jim@meyering.net>
83787
83788         * lib/quote.c (quote_n): Fix typo in comment.
83789
83790 2003-03-18  Bruno Haible  <bruno@clisp.org>
83791
83792         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
83793         checking.
83794         * m4/onceonly_2_57.m4: Likewise.
83795
83796 2003-03-17  Bruno Haible  <bruno@clisp.org>
83797
83798         * m4/onceonly.m4: Require autoconf 2.54 or newer.
83799         (m4_quote): Remove macro.
83800         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
83801
83802 2003-03-14  Jim Meyering  <jim@meyering.net>
83803
83804         Merge changes from Coreutils.
83805         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
83806         to be const, in order to avoid warnings.
83807         (obstack_room): Likewise.
83808         (obstack_empty_p): Likewise.
83809
83810 2003-03-14  Bruno Haible  <bruno@clisp.org>
83811
83812         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
83813         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
83814
83815 2003-03-13  Paul Eggert  <eggert@twinsun.com>
83816
83817         Merge changes from Bison.
83818         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
83819         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
83820         when compiling Bison 1.875's `bitset bset = obstack_alloc
83821         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
83822         * lib/hash.c: Include <stdbool.h> unconditionally.
83823
83824 2003-03-13  Paul Eggert  <eggert@twinsun.com>
83825
83826         * m4/onceonly.m4 (m4_quote): New macro.
83827         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
83828         Quote AC_FOREACH variable-expansions properly.
83829
83830 2003-03-13  Paul Eggert  <eggert@twinsun.com>
83831
83832         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
83833
83834 2003-03-09  Paul Eggert  <eggert@twinsun.com>
83835
83836         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
83837         Reported by Bruce Becker; see:
83838         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
83839
83840 2003-03-03  Paul Eggert  <eggert@twinsun.com>
83841             Bruno Haible  <bruno@clisp.org>
83842
83843         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
83844         Reported by John Hughes, see
83845         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
83846
83847 2003-02-20  Bruno Haible  <bruno@clisp.org>
83848
83849         * MODULES.html.sh (func_all_modules): Add poll.
83850
83851 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
83852
83853         * modules/poll: New file.
83854
83855 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
83856
83857         * lib/poll_.h: New file.
83858         * lib/poll.c: New file.
83859
83860 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
83861
83862         * m4/poll.m4: New file.
83863
83864 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
83865
83866         * modules/mathl: New file.
83867
83868 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
83869
83870         * lib/mathl.h: New file.
83871         * lib/acosl.c: New file.
83872         * lib/asinl.c: New file.
83873         * lib/atanl.c: New file.
83874         * lib/ceill.c: New file.
83875         * lib/cosl.c: New file.
83876         * lib/expl.c: New file.
83877         * lib/floorl.c: New file.
83878         * lib/frexpl.c: New file.
83879         * lib/ldexpl.c: New file.
83880         * lib/logl.c: New file.
83881         * lib/sincosl.c: New file.
83882         * lib/sinl.c: New file.
83883         * lib/sqrtl.c: New file.
83884         * lib/tanl.c: New file.
83885         * lib/trigl.c: New file.
83886         * lib/trigl.h: New file.
83887
83888 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
83889
83890         * m4/mathl.m4: New file.
83891
83892 2003-02-18  Bruno Haible  <bruno@clisp.org>
83893
83894         * MODULES.html.sh (func_all_modules): Add mathl.
83895
83896 2003-02-17  Bruno Haible  <bruno@clisp.org>
83897
83898         * modules/mkdtemp: New module.
83899         * MODULES.html.sh (func_all_modules): Add it.
83900
83901 2003-02-17  Bruno Haible  <bruno@clisp.org>
83902
83903         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
83904
83905 2003-02-17  Bruno Haible  <bruno@clisp.org>
83906
83907         * lib/mkdtemp.h: New file, from GNU gettext.
83908         * lib/mkdtemp.c: New file, from GNU gettext.
83909
83910 2003-02-02  Jim Meyering  <jim@meyering.net>
83911
83912         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
83913         e.g. glibc-2.2.93.
83914
83915 2003-01-31  Bruno Haible  <bruno@clisp.org>
83916
83917         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
83918         'rpl_rename'.
83919         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
83920         'rpl_strnlen'.
83921         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
83922         'rpl_strtod'.
83923         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
83924         'rpl_utime'.
83925
83926 2003-01-31  Bruno Haible  <bruno@clisp.org>
83927
83928         * lib/rename.c: #undef rename before defining rpl_rename.
83929         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
83930
83931 2003-01-30  Bruno Haible  <bruno@clisp.org>
83932
83933         * modules/vasnprintf, modules/vasprintf: New modules.
83934         * MODULES.html.sh (func_all_modules): Add them.
83935
83936 2003-01-30  Bruno Haible  <bruno@clisp.org>
83937
83938         * m4/signed.m4: New file, from GNU gettext.
83939         * m4/longdouble.m4: New file, from GNU gettext.
83940         * m4/wchar_t.m4: New file, from GNU gettext.
83941         * m4/wint_t.m4: New file, from GNU gettext.
83942         * m4/vasnprintf.m4: New file.
83943         * m4/vasprintf.m4: New file.
83944
83945 2003-01-30  Bruno Haible  <bruno@clisp.org>
83946
83947         * lib/printf-args.h: New file, from GNU gettext.
83948         * lib/printf-args.c: New file, from GNU gettext.
83949         * lib/printf-parse.h: New file, from GNU gettext.
83950         * lib/printf-parse.c: New file, from GNU gettext.
83951         * lib/vasnprintf.h: New file, from GNU gettext.
83952         * lib/vasnprintf.c: New file, from GNU gettext.
83953         * lib/asnprintf.c: New file, from GNU gettext.
83954         * lib/vasprintf.h: New file, from GNU gettext with modifications.
83955         * lib/vasprintf.c: New file, from GNU gettext.
83956         * lib/asprintf.c: New file, from GNU gettext.
83957
83958 2003-01-29  Bruno Haible  <bruno@clisp.org>
83959
83960         * modules/stpncpy: New module.
83961         * MODULES.html.sh (func_all_modules): Add it.
83962
83963 2003-01-29  Bruno Haible  <bruno@clisp.org>
83964
83965         * m4/stpncpy.m4: New file.
83966
83967 2003-01-29  Bruno Haible  <bruno@clisp.org>
83968
83969         * lib/stpncpy.h: New file, from GNU gettext with modifications.
83970         * lib/stpncpy.c: New file, from GNU gettext with modifications.
83971
83972 2003-01-28  Bruno Haible  <bruno@clisp.org>
83973
83974         * modules/c-ctype: New module.
83975         * MODULES.html.sh (func_all_modules): Add it.
83976
83977 2003-01-28  Bruno Haible  <bruno@clisp.org>
83978
83979         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
83980         Paul Eggert.
83981         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
83982         Paul Eggert.
83983
83984 2003-01-27  Bruno Haible  <bruno@clisp.org>
83985
83986         * modules/xsetenv: New module.
83987         * MODULES.html.sh (func_all_modules): Add it.
83988
83989 2003-01-27  Bruno Haible  <bruno@clisp.org>
83990
83991         * lib/xsetenv.h: New file, from GNU gettext.
83992         * lib/xsetenv.c: New file, from GNU gettext.
83993
83994 2003-01-23  Jim Meyering  <jim@meyering.net>
83995
83996         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
83997         from working on systems without dirfd (at least Irix and OSF1/Tru64).
83998
83999 2003-01-23  Bruno Haible  <bruno@clisp.org>
84000
84001         * modules/minmax: New module.
84002         * MODULES.html.sh (func_all_modules): Add it.
84003
84004 2003-01-23  Bruno Haible  <bruno@clisp.org>
84005
84006         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
84007         Eggert.
84008
84009 2003-01-22  Bruno Haible  <bruno@clisp.org>
84010
84011         * modules/exit: New module.
84012         * MODULES.html.sh (func_all_modules): Add it.
84013
84014 2003-01-22  Bruno Haible  <bruno@clisp.org>
84015
84016         * lib/exit.h: New file, from GNU gettext.
84017
84018 2003-01-19  Bruno Haible  <bruno@clisp.org>
84019
84020         * gnulib-tool: Recognize option --extract-maintainer.
84021         (func_get_maintainer): New function.
84022         * modules/*: Add Maintainer entry.
84023
84024 2003-01-16  Jim Meyering  <jim@meyering.net>
84025
84026         * m4/regex.m4: The `regex' struct is both input and output.
84027         Initialize it before each use.  Patch by Tim Waugh.
84028
84029 2003-01-16  Bruno Haible  <bruno@clisp.org>
84030
84031         * MODULES.html.sh: Add a table of contents. Add the module name as
84032         leftmost column. Add hyperlinks.
84033
84034 2003-01-15  Bruno Haible  <bruno@clisp.org>
84035
84036         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
84037
84038 2003-01-15  Bruno Haible  <bruno@clisp.org>
84039
84040         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
84041         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
84042         suffix.
84043
84044 2003-01-15  Bruno Haible  <bruno@clisp.org>
84045
84046         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
84047
84048 2003-01-15  Bruno Haible  <bruno@clisp.org>
84049
84050         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
84051         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
84052
84053 2003-01-14  Jim Meyering  <jim@meyering.net>
84054
84055         * lib/same.c (same_name): Tweak a comment.
84056
84057 2003-01-14  Bruno Haible  <bruno@clisp.org>
84058
84059         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
84060         when a string comparison is sufficient.
84061
84062 2003-01-14  Bruno Haible  <bruno@clisp.org>
84063
84064         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
84065         'unsigned int'.
84066
84067 2003-01-14  Bruno Haible  <bruno@clisp.org>
84068
84069         * lib/hash-pjw.c: Add comment about low quality of this function.
84070
84071 2003-01-13  Bruno Haible  <bruno@clisp.org>
84072
84073         * modules/stpcpy: Distribute lib/stpcpy.h.
84074         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
84075
84076 2003-01-13  Bruno Haible  <bruno@clisp.org>
84077
84078         * modules/*: Add a description.
84079         * modules/strpbrk: Fix Makefile.am snippet.
84080         * modules/strtoimax: Fix dependencies.
84081         * modules/strtoumax: Likewise.
84082
84083 2003-01-13  Bruno Haible  <bruno@clisp.org>
84084
84085         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
84086         * modules/alloca (Makefile.am): All object files depend on alloca.h.
84087         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
84088
84089 2003-01-13  Bruno Haible  <bruno@clisp.org>
84090
84091         * gnulib-tool (func_create_testdir): Store config/* files in the main
84092         directory.
84093         * config.rpath: Move to ...
84094         * config/config.rpath: ... here.
84095         * modules/gettext: Contains config/config.rpath, not config.rpath.
84096         * modules/iconv: Likewise.
84097
84098 2003-01-12  Paul Eggert  <eggert@twinsun.com>
84099
84100         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
84101         to avoid collisions with libcurses and libreadline.
84102
84103         * m4/getstr.m4: Remove.
84104         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
84105
84106 2003-01-12  Paul Eggert  <eggert@twinsun.com>
84107
84108         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
84109         to avoid collisions with libcurses and libreadline.
84110
84111         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
84112         * lib/getstr.h, getstr.c: Remove.
84113         * lib/getline.c: Include "getline.h", to check interface.
84114         Move body of old getstr.c here: this defines MIN_CHUNK and
84115         declares getdelim2, which is renamed from getstr.
84116         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
84117
84118         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
84119         All uses changed.
84120         * lib/linebuffer.h: Likewise.
84121         (readline): Remove backward-compatibility macro.
84122
84123 2003-01-12  Paul Eggert  <eggert@twinsun.com>
84124
84125         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
84126         to avoid collisions with libcurses and libreadline.
84127         * getstr: Remove.
84128         * MODULES.html.sh: Remove getstr.
84129         * modules/getline: Depend on unlocked-io, not getstr.
84130
84131 2003-01-12  Jim Meyering  <jim@meyering.net>
84132
84133         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
84134
84135 2003-01-10  Bruno Haible  <bruno@clisp.org>
84136
84137         * modules/alloca: Change Makefile.am requirements. Simplify Include
84138         requirements. Add lib/alloca_.h to file list.
84139
84140 2003-01-10  Bruno Haible  <bruno@clisp.org>
84141
84142         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
84143
84144 2003-01-10  Bruno Haible  <bruno@clisp.org>
84145
84146         * lib/alloca_.h: New file.
84147         * lib/getdate.y: Unconditionally include alloca.h.
84148         * lib/makepath.c: Likewise.
84149         * lib/setenv.c: Likewise.
84150         * lib/userspec.c: Likewise.
84151
84152 2003-01-09  Karl Berry  <karl@gnu.org>
84153
84154         * MODULES.html.sh: include `dirname $0` in PATH, to find
84155         gnulib-tool.
84156
84157 2003-01-09  Bruno Haible  <bruno@clisp.org>
84158
84159         * modules/stdbool: Change configure.ac, Makefile.am requirements.
84160         Simplify Include requirements. Add lib/stdbool.h.in to file list.
84161
84162 2003-01-09  Bruno Haible  <bruno@clisp.org>
84163
84164         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
84165
84166 2003-01-09  Bruno Haible  <bruno@clisp.org>
84167
84168         * lib/stdbool.h.in: New file.
84169
84170 2003-01-09  Bruno Haible  <bruno@clisp.org>
84171
84172         * gnulib-tool (func_all_modules): Ignore files ending in ~.
84173         * MODULES.html.sh: Likewise.
84174
84175 2003-01-08  Jim Meyering  <jim@meyering.net>
84176
84177         * lib/full-write.c: Undefine and define-away `const' after inclusion
84178         of errno.h, not before.  Suggestion from Bruno Haible.
84179
84180 2003-01-08  Bruno Haible  <bruno@clisp.org>
84181
84182         * modules/full-read: Depend on full-write.
84183
84184 2003-01-08  Bruno Haible  <bruno@clisp.org>
84185
84186         * lib/safe-read.c: Include specification header first, to ensure its
84187         selfcontainedness.
84188         * lib/full-write.c: Likewise.
84189
84190 2003-01-07  Jim Meyering  <jim@meyering.net>
84191
84192         * lib/full-write.c: Rework so that it may serve to define full_read,
84193         too.
84194         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
84195
84196 2003-01-07  Bruno Haible  <bruno@clisp.org>
84197
84198         * lib/strtoimax.c: Include <stdint.h> as an alternative to
84199         <inttypes.h>.
84200         * lib/xstrtol.h: Likewise.
84201         * lib/xstrtoimax.c: Likewise.
84202         * lib/xstrtoumax.c: Likewise.
84203         * lib/human.h: Likewise.
84204
84205         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
84206         on systems that have <inttypes.h> but not <stdint.h>.
84207
84208 2003-01-07  Bruno Haible  <bruno@clisp.org>
84209
84210         * MODULES.html.sh: Add copyright notice.
84211         (missed_files): Omit CVS directory entries.
84212         (func_module): Make it work with sed-3.02.
84213         * MODULES.txt: Remove file.
84214
84215 2003-01-06  Jim Meyering  <jim@meyering.net>
84216
84217         * lib/version-etc.c: Update year in translatable copyright string.
84218
84219 2003-01-03  Karl Berry  <karl@gnu.org>
84220
84221         * config/config.{guess,sub}: update from prep.
84222
84223 2003-01-02  Karl Berry  <karl@gnu.org>
84224
84225         * doc/COPYING.DOC: belatedly updated to 1.2.
84226
84227 2003-01-01  Karl Berry  <karl@gnu.org>
84228
84229         * gnulib-tool (func_verify_module): report module name $module in
84230         error message, not $1.
84231         * gnulib-tool (create-testdir): don't complain if destdir couldn't
84232         be created, only if it doesn't exist.
84233         * gnulib-tool (last_checkin_date): don't expand the $Date here.
84234
84235 2002-12-31  Paul Eggert  <eggert@twinsun.com>
84236
84237         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
84238
84239 2002-12-31  Paul Eggert  <eggert@twinsun.com>
84240
84241         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
84242         memcmp if strcoll doesn't work.
84243
84244 2002-12-31  Bruno Haible  <bruno@clisp.org>
84245
84246         * lib/utime.c (utime_null): No need to call ftruncate if the file was
84247         nonempty.
84248
84249 2002-12-31  Bruno Haible  <bruno@clisp.org>
84250
84251         * lib/memcoll.c (STRCOLL): New macro.
84252         (memcoll): Use it.
84253
84254 2002-12-31  Bruno Haible  <bruno@clisp.org>
84255
84256         * lib/localcharset.h: New file.
84257         * lib/localcharset.c: Include it.
84258         * lib/unicodeio.c: Likewise.
84259
84260 2002-12-31  Bruno Haible  <bruno@clisp.org>
84261
84262         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
84263         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
84264
84265 2002-12-31  Bruno Haible  <bruno@clisp.org>
84266
84267         * lib/getline.h: Include <stddef.h>, for size_t.
84268
84269         * lib/unicodeio.h: Include <stddef.h>, for size_t.
84270         * lib/unicodeio.c: Don't include <stddef.h>.
84271
84272 2002-12-31  Bruno Haible  <bruno@clisp.org>
84273
84274         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
84275         HAVE_TM_ZONE.
84276
84277 2002-12-24  Karl Berry  <karl@gnu.org>
84278
84279         * config/config.guess: update from prep.
84280
84281 2002-12-24  Bruno Haible  <bruno@clisp.org>
84282
84283         General infrasructure.
84284         * m4/README: Rewritten.
84285         * m4/onceonly.m4: New file.
84286         * m4/onceonly_2_57.m4: New file.
84287
84288         Module atexit.
84289         * m4/atexit.m4: New file.
84290
84291         Module strtod.
84292         * m4/strtod.m4: New file.
84293
84294         Module strtol.
84295         * m4/strtol.m4: New file.
84296
84297         Module strtoul.
84298         * m4/strtoul.m4: New file.
84299
84300         Module memchr.
84301         * m4/memchr.m4: New file.
84302
84303         Module memcmp.
84304         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
84305         (jm_FUNC_MEMCMP): Invoke it.
84306
84307         Module memcpy.
84308         * m4/memcpy.m4: New file.
84309
84310         Module memmove.
84311         * m4/memmove.m4: New file.
84312
84313         Module memset.
84314         * m4/memset.m4: New file.
84315
84316         Module strcspn.
84317         * m4/strcspn.m4: New file.
84318
84319         Module strpbrk.
84320         * m4/strpbrk.m4: New file.
84321
84322         Module strstr.
84323         * m4/strstr.m4: New file.
84324
84325         Module strerror.
84326         * m4/strerror.m4: New file.
84327
84328         Module mktime.
84329         * m4/mktime.m4: Renamed from jm-mktime.m4.
84330         (gl_PREREQ_MKTIME): New macro.
84331         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
84332
84333         Module malloc.
84334         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
84335         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
84336         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
84337
84338         Module realloc.
84339         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
84340         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
84341         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
84342
84343         Module strftime.
84344         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
84345         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
84346         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
84347         gl_TM_GMTOFF.
84348         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
84349
84350         Module xalloc.
84351         * m4/xalloc.m4: New file.
84352
84353         Module alloca.
84354         * m4/alloca.m4: New file.
84355
84356         Module putenv.
84357         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
84358         (jm_FUNC_PUTENV): Invoke it.
84359
84360         Module setenv.
84361         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
84362         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
84363         when invoked twice.
84364         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
84365         gt_FUNC_SETENV.
84366
84367         Module memrchr.
84368         * m4/memrchr.m4: New file.
84369
84370         Module stpcpy.
84371         * m4/stpcpy.m4: New file.
84372
84373         Module strcase.
84374         * m4/strcase.m4: New file.
84375
84376         Module strdup.
84377         * m4/strdup.m4: New file.
84378
84379         Module strnlen.
84380         * m4/strnlen.m4: New file.
84381
84382         Module strndup.
84383         * m4/strndup.m4: New file.
84384
84385         Module xstrtod.
84386         * m4/xstrtod.m4: New file.
84387
84388         Module xstrtol.
84389         * m4/xstrtol.m4: New file.
84390
84391         Module getdate.
84392         * m4/getdate.m4: New file.
84393
84394         Module unlocked-io.
84395         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
84396         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
84397         * m4/jm-glibc-io.m4n: Remove file.
84398
84399         Module long-options.
84400         * m4/long-options.m4: New file.
84401
84402         Module md5.
84403         * m4/md5.m4: New file.
84404
84405         Module sha.
84406         * m4/sha.m4: New file.
84407
84408         Module getstr.
84409         * m4/getstr.m4: New file.
84410
84411         Module getline.
84412         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
84413         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
84414         <sys/types.h>, for size_t. Use the function name gnu_getline, not
84415         simply getline. Infoke gl_PREREQ_GETLINE.
84416
84417         Module obstack.
84418         * m4/obstack.m4: New file.
84419
84420         Module hash.
84421         * m4/hash.m4: New file.
84422
84423         Module readtokens.
84424         * m4/readtokens.m4: New file.
84425
84426         Module strverscmp.
84427         * m4/strverscmp.m4: New file.
84428
84429         Module stdbool.
84430         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
84431         OSF/1.
84432
84433         Module strtoll.
84434         * m4/strtoll.m4: New file.
84435
84436         Module strtoull.
84437         * m4/strtoull.m4: New file.
84438
84439         Module strtoimax.
84440         * m4/strtoimax.m4: New file.
84441
84442         Module strtoumax.
84443         * m4/strtoumax.m4: New file.
84444
84445         Module xstrtoimax.
84446         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
84447         jm_AC_PREREQ_XSTRTOIMAX.
84448         Moved the strtol prerequisites to strtol.m4.
84449         Moved the strtoll prerequisites to strtoll.m4.
84450         Moved the strtoimax prerequisites to strtoimax.m4.
84451
84452         Module xstrtoumax.
84453         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
84454         jm_AC_PREREQ_XSTRTOUMAX.
84455         Moved the strtoul prerequisites to strtoul.m4.
84456         Moved the strtoull prerequisites to strtoull.m4.
84457         Moved the strtoumax prerequisites to strtoumax.m4.
84458
84459         Module chown.
84460         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
84461         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
84462
84463         Module dup2.
84464         * m4/dup2.m4: New file.
84465
84466         Module ftruncate.
84467         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
84468         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
84469
84470         Module getgroups.
84471         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
84472         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
84473
84474         Module gettimeofday.
84475         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
84476         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
84477         gl_PREREQ_GETTIMEOFDAY.
84478
84479         Module mkdir.
84480         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
84481         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
84482
84483         Module mkstemp.
84484         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
84485         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
84486         jm_AC_TYPE_UINTMAX_T.
84487         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
84488
84489         Module stat.
84490         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
84491         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
84492
84493         Module lstat.
84494         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
84495         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
84496
84497         Module timespec.
84498         * m4/timespec.m4 (gl_TIMESPEC): New macro.
84499         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
84500         * m4/st_mtim.m4: Indentation.
84501
84502         Module nanosleep.
84503         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
84504         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
84505         gl_PREREQ_NANOSLEEP.
84506
84507         Module regex.
84508         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
84509         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
84510         (gl_REGEX): New macro.
84511
84512         Module rename.
84513         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
84514         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
84515
84516         Module rmdir.
84517         * m4/rmdir.m4: New file.
84518
84519         Module utime.
84520         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
84521         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
84522         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
84523
84524         Module dirname.
84525         * m4/dirname.m4: New file.
84526
84527         Module getopt.
84528         * m4/getopt.m4: New file.
84529
84530         Module unistd-safer.
84531         * m4/unistd-safer.m4: New file.
84532
84533         Module fnmatch.
84534         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
84535         declaration.
84536         (gl_PREREQ_FNMATCH_EXTRA): New macro.
84537         (gl_FUNC_FNMATCH_POSIX): New macro.
84538         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
84539         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
84540         simply fnmatch.
84541
84542         Module exclude.
84543         * m4/exclude.m4: New file.
84544
84545         Module human.
84546         * m4/human.m4: New file.
84547
84548         Module acl.
84549         * m4/acl.m4: Nop.
84550
84551         Module backupfile.
84552         * m4/backupfile.m4: New file.
84553         * m4/d-ino.m4: Indentation.
84554
84555         Module fsusage.
84556         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
84557         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
84558         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
84559
84560         Module dirfd.
84561         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
84562         requirements.
84563
84564         Module euidaccess.
84565         * m4/euidaccess.m4: New file.
84566
84567         Module file-type.
84568         * m4/file-type.m4: New file.
84569
84570         Module fileblocks.
84571         * m4/fileblocks.m4: New file.
84572
84573         Module filemode.
84574         * m4/filemode.m4: New file.
84575
84576         Module isdir.
84577         * m4/isdir.m4: New file.
84578
84579         Module lchown.
84580         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
84581         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
84582
84583         Module makepath.
84584         * m4/makepath.m4: New file.
84585
84586         Module modechange.
84587         * m4/modechange.m4: New file.
84588
84589         Module mountlist.
84590         * m4/mountlist.m4: New file.
84591         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
84592         Indentation.
84593
84594         Module path-concat.
84595         * m4/path-concat.m4: New file.
84596
84597         Module pathmax.
84598         * m4/pathmax.m4: New file.
84599
84600         Module same.
84601         * m4/same.m4: New file.
84602
84603         Module save-cwd.
84604         * m4/save-cwd.m4: New file.
84605
84606         Module savedir.
84607         * m4/savedir.m4: New file.
84608
84609         Module xgetcwd.
84610         * m4/xgetcwd.m4: New file.
84611         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
84612
84613         Module xreadlink.
84614         * m4/xreadlink.m4: New file.
84615
84616         Module safe-read.
84617         * m4/safe-read.m4: New file.
84618
84619         Module safe-write.
84620         * m4/safe-write.m4: New file.
84621
84622         Module closeout.
84623         * m4/closeout.m4: New file.
84624
84625         Module stdio-safer.
84626         * m4/stdio-safer.m4: New file.
84627
84628         Module getpass.
84629         * m4/getpass.m4: New file.
84630
84631         Module getugroups.
84632         * m4/getugroups.m4: New file.
84633
84634         Module group-member.
84635         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
84636         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
84637
84638         Module idcache.
84639         * m4/idcache.m4: New file.
84640
84641         Module userspec.
84642         * m4/userspec.m4: New file.
84643
84644         Module gettime.
84645         * m4/clock_time.m4: New file.
84646         * m4/gettime.m4: New file.
84647
84648         Module settime.
84649         * m4/settime.m4: New file.
84650
84651         Module posixtm.
84652         * m4/posixtm.m4: New file.
84653
84654         Module gethostname.
84655         * m4/gethostname.m4: New file.
84656
84657         Module canon-host.
84658         * m4/canon-host.m4: New file.
84659
84660         Module gettext.
84661         * m4/codeset.m4: New file, from gettext-0.11.5.
84662         * m4/gettext.m4: New file, from gettext-0.11.5.
84663         * m4/glibc21.m4: New file, from gettext-0.11.5.
84664         * m4/iconv.m4: New file, from gettext-0.11.5.
84665         * m4/intdiv0.m4: New file, from gettext-0.11.5.
84666         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
84667         * m4/inttypes.m4: New file, from gettext-0.11.5.
84668         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
84669         * m4/isc-posix.m4: New file, from gettext-0.11.5.
84670         * m4/lcmessage.m4: New file, from gettext-0.11.5.
84671         * m4/lib-ld.m4: New file, from gettext-0.11.5.
84672         * m4/lib-link.m4: New file, from gettext-0.11.5.
84673         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
84674         * m4/progtest.m4: New file, from gettext-0.11.5.
84675         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
84676         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
84677         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
84678
84679         Module localcharset.
84680         * m4/localcharset.m4: New file.
84681
84682         Module hard-locale.
84683         * m4/hard-locale.m4: New file.
84684
84685         Module mbswidth.
84686         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
84687         onceonly macros.
84688         * m4/mbrtowc.m4: Add comment.
84689
84690         Module memcasecmp.
84691         * m4/memcasecmp.m4: New file.
84692
84693         Module memcoll.
84694         * m4/memcoll.m4: New file.
84695
84696         Module unicodeio.
84697         * m4/unicodeio.m4: New file.
84698
84699         Module rpmatch.
84700         * m4/rpmatch.m4: New file.
84701
84702         Module yesno.
84703         * m4/yesno.m4: New file.
84704
84705         Module exitfail.
84706         * m4/exitfail.m4: New file.
84707
84708         Module c-stack.
84709         * m4/c-stack.m4 (gl_C_STACK): New macro.
84710         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
84711
84712         Module error.
84713         * m4/error.m4 (gl_ERROR): New macro.
84714         (jm_PREREQ_ERROR): Use onceonly macros.
84715
84716         Module fatal.
84717         * m4/fatal.m4: New file.
84718
84719         Module getloadavg.
84720         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
84721         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
84722
84723         Module getpagesize.
84724         * m4/getpagesize.m4: New file.
84725
84726         Module getusershell.
84727         * m4/getusershell.m4: New file.
84728
84729         Module physmem.
84730         * m4/physmem.m4: New file.
84731
84732         Module posixver.
84733         * m4/posixver.m4: New file.
84734
84735         Module quotearg.
84736         * m4/quotearg.m4: New file.
84737
84738         Module quote.
84739         * m4/quote.m4: New file.
84740
84741         Module readutmp.
84742         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
84743
84744         Module sig2str.
84745         * m4/sig2str.m4: New file.
84746
84747         Other.
84748         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
84749         ulonglong.m4.
84750         * m4/intmax_t.m4: New file.
84751         * m4/d-type.m4: Indentation.
84752         * m4/jm-macros.m4: Update.
84753         * m4/prereq.m4 (jm_PREREQ): Update.
84754         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
84755         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
84756         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
84757         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
84758         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
84759         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
84760         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
84761         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
84762         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
84763         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
84764         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
84765         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
84766         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
84767         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
84768         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
84769         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
84770         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
84771         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
84772         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
84773
84774 2002-12-24  Bruno Haible  <bruno@clisp.org>
84775
84776         * MODULES.txt: Update according to m4/ changes.
84777
84778         Module gettext.
84779         * config.rpath: New file, from gettext-0.11.5.
84780
84781         * modules/*: New module descriptions.
84782         * gnulib-tool: New file.
84783         * MODULES.html.sh: New file.
84784
84785 2002-12-21  Karl Berry  <karl@gnu.org>
84786
84787         * doc/fdl.texi: update to version 1.2.
84788
84789 2002-12-19  Karl Berry  <karl@gnu.org>
84790
84791         * config/config.guess: update from prep.
84792
84793 2002-12-18  Bruno Haible  <bruno@clisp.org>
84794
84795         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
84796         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
84797
84798 2002-12-17  Bruno Haible  <bruno@clisp.org>
84799
84800         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
84801         stdlib.h, string.h.
84802
84803 2002-12-17  Bruno Haible  <bruno@clisp.org>
84804
84805         * lib/canon-host.c (strdup): Remove unused declaration.
84806
84807         * lib/fsusage.c: Include full_read.h.
84808         (get_fs_usage): Use full_read instead of safe_read.
84809
84810         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
84811
84812 2002-12-12  Karl Berry  <karl@gnu.org>
84813
84814         * config/config.guess: update from prep.
84815
84816 2002-12-11  Bruno Haible  <bruno@clisp.org>
84817
84818         * m4/setenv.m4: New file, from gettext-0.11.5.
84819
84820 2002-12-11  Bruno Haible  <bruno@clisp.org>
84821
84822         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
84823         not unsetenv().
84824         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
84825         modifications:
84826
84827         2002-12-11  Bruno Haible  <bruno@clisp.org>
84828
84829                 * setenv.c (alloca): Fall back to malloc.
84830                 (freea): New macro.
84831                 (setenv): Use freea() to free memory allocated with alloca().
84832
84833         2002-11-13  Bruno Haible  <bruno@clisp.org>
84834
84835                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
84836                 function declarations.
84837                 * unsetenv.c (unsetenv): Likewise.
84838
84839         2002-03-04  Bruno Haible  <bruno@clisp.org>
84840
84841                 Portability to AIX 4.3.3.
84842                 * unsetenv.c: New file, extracted from setenv.c.
84843                 * setenv.c: Move the unsetenv() function to unsetenv.c.
84844
84845         2001-12-20  Bruno Haible  <bruno@clisp.org>
84846
84847                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
84848                 use malloc instead. For SunOS 4.
84849
84850         2001-12-11  Bruno Haible  <bruno@clisp.org>
84851
84852                 * setenv.c: Declare alloca.
84853                 (compar_fn_t): New typedef.
84854                 (KNOWN_VALUE, STORE_VALUE): Use it.
84855
84856         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
84857         setenv.h.
84858
84859 2002-12-10  Paul Eggert  <eggert@twinsun.com>
84860
84861         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
84862         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
84863         Choose values that are less likely to collide with system fnmatch
84864         options.
84865         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
84866         defined (e.g., a pure POSIX system).
84867         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
84868         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
84869
84870 2002-12-06  Paul Eggert  <eggert@twinsun.com>
84871
84872         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
84873         a pain in practice to deal with generated m4 files.  This change
84874         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
84875
84876         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
84877         and jm-glibc-io.m4, as they are no longer a special case.
84878         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
84879         kludge and the auto-generation stuff.  Check only whether the
84880         functions are declared, not whether they exist, since older hosts
84881         that don't declare the functions can't use the optimization anyway.
84882
84883 2002-12-06  Jim Meyering  <jim@meyering.net>
84884
84885         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
84886
84887         Merge in changes from libc's misc/error.c, in preparation
84888         for the merge of gnulib's changes back into libc.
84889
84890         * lib/error.c (_): Define only if not already defined.
84891         Move definition to follow all #include directives.
84892         Include unlocked-io.h only if !_LIBC.
84893         [_LIBC]: Include <libio/libioP.h>.
84894         [USE_IN_LIBIO]: Include <libio/iolibio.h>
84895         (fflush): Tweak definition to use INTUSE.
84896         (putc): Define.
84897
84898 2002-12-05  Paul Eggert  <eggert@twinsun.com>
84899
84900         * lib/alloca.c [defined emacs]: Include "lisp.h".
84901         (xalloc_die) [defined emacs]: New macro.
84902         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
84903         [! defined emacs]: Include <xalloc.h>.
84904         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
84905         (pointer): Typedef to POINTER_TYPE *.
84906         (malloc): Remove decl; we now always use xmalloc.
84907         (alloca): Use old-style definition, since Emacs needs this.
84908         Check for arithmetic overflow when computing combined size.
84909
84910 2002-12-04  Paul Eggert  <eggert@twinsun.com>
84911
84912         Do not generate unlocked-io.h automatically, since it's easier to
84913         maintain it by hand.
84914
84915         * lib/unlocked-io.h: New file, from GNU diffutils,
84916         but with proper copyright notice and attribution.
84917         * lib/gen-uio: Remove.
84918         * lib/Makefile.am: Add copyright notice.
84919         (libfetish_a_SOURCES): Add unlocked-io.h.
84920         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
84921         (DISTCLEANFILES, io_functions): Remove macros.
84922         (EXTRA_DIST): Remove gen_uio.
84923         (unlocked-io.h): Remove rule.
84924
84925 2002-12-04  Jim Meyering  <jim@meyering.net>
84926
84927         Reflect the fact that stat.c and lstat.c are no longer generated.
84928         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
84929         (DISTCLEANFILES): Likewise.
84930         (EXTRA_DIST): Likewise.
84931         (all_local): Don't depend on stat.c or lstat.c.
84932         (stat.c, lstat.c): Remove rules.
84933         (EXTRA_DIST): Remove xstat.in.
84934
84935         * lib/xstat.in: Remove file.  Contents moved into stat.c.
84936         * lib/stat.c: New file.  Contents mostly from xstat.in.
84937         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
84938         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
84939
84940         * lib/safe-read.c: Rework so that it may serve to define safe_write,
84941         too.
84942         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
84943
84944 2002-12-03  Jim Meyering  <jim@meyering.net>
84945
84946         * lib/safe-read.c, safe-write.c: Change variable names and comments,
84947         but not semantics, to minimize the differences between these two files.
84948         (safe_read): Change comment to mention SAFE_READ_ERROR.
84949
84950         * lib/safe-read.c (IS_EINTR): Define.
84951         (safe_read): Use IS_EINTR in place of in-function cpp directives.
84952
84953 2002-12-02  Jim Meyering  <jim@meyering.net>
84954
84955         * lib/safe-read.c (EINTR): Define.
84956         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
84957         (INT_MAX): Provide fallback.
84958         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
84959
84960         * lib/safe-read.h (SAFE_READ_ERROR): Define.
84961
84962 2002-12-02  Bruno Haible  <bruno@clisp.org>
84963
84964         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
84965         Define, taken from safe-read.c.
84966         (INT_MAX): Provide fallback.
84967         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
84968         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
84969
84970         * lib/safe-read.c (EINTR): Remove definition.
84971         (safe_read): Don't use EINTR if it is absent.
84972
84973 2002-12-01  Jim Meyering  <jim@meyering.net>
84974
84975         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
84976         zero.
84977         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
84978
84979 2002-11-27  Paul Eggert  <eggert@twinsun.com>
84980
84981         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
84982         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
84983         with `if (! (value < limit)) abort ();', for readability.
84984
84985 2002-11-26  Karl Berry  <karl@gnu.org>
84986
84987         * lib/strdup.c: copy from libc again, with jim's ok.
84988         * lib/.cppi-disable: re-add strdup.c
84989
84990 2002-11-25  Karl Berry  <karl@gnu.org>
84991
84992         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
84993         instead of "strtol.c".
84994
84995 2002-11-25  Karl Berry  <karl@gnu.org>
84996
84997         * config/install-sh: update from automake for variable quoting, $0 in
84998         error msgs, etc.
84999
85000         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
85001         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
85002         entry.
85003
85004 2002-11-25  Jim Meyering  <jim@meyering.net>
85005
85006         * lib/mktime.c: Sync from libc, now that it has the latest fix.
85007
85008 2002-11-24  Karl Berry  <karl@gnu.org>
85009
85010         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
85011         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
85012
85013 2002-11-24  Jim Meyering  <jim@meyering.net>
85014
85015         Update from coreutils:
85016
85017         * lib/mktime.c: Merge in changes from libc.
85018
85019         Avoid a link-time failure on some Linux systems.
85020         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
85021         (otherwise).
85022         (__mon_yday): Declare with the STATIC attribute.
85023         (__mktime_internal): Likewise.
85024         Based on a report from Greg Schafer.
85025
85026 2002-11-23  Jim Meyering  <jim@meyering.net>
85027
85028         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
85029         Use `unsigned', not `int', as type of index.
85030
85031         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
85032
85033         * lib/fsusage.c: Remove unneeded parentheses around operands of
85034         `defined'.
85035
85036 2002-11-22  Paul Eggert  <eggert@twinsun.com>
85037
85038         * lib/quotearg.h: Allow multiple inclusion by surrounding with
85039         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
85040         so that we can be included first.
85041         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
85042         * lib/quotearg.c: Include quotearg.h immediately after config.h.
85043         No need to include stddef.h or sys/types.h any more.
85044         Surround local include files with "", not "<>".
85045         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
85046         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
85047         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
85048         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
85049         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
85050         (ISPRINT): Remove; no longer needed now that we assume C89.
85051
85052         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
85053         Preserve errno.
85054
85055         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
85056         quotearg_char): Use SIZE_MAX rather than
85057         (size_t) -1 when we are talking about "infinity".
85058
85059         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
85060
85061 2002-11-22  Paul Eggert  <eggert@twinsun.com>
85062
85063         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
85064         hint that one should use `if (! x) abort ();' rather than `assert
85065         (x);', and anyway it's one less thing to worry about configuring.
85066         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
85067         hash_rehash, hash_insert): Use abort rather than assert.
85068
85069 2002-11-22  Bruno Haible  <bruno@clisp.org>
85070
85071         * lib/safe-read.h: Assume C89. Add comments.
85072         (safe_read): Change return type to size_t.
85073         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
85074         byte counts > SSIZE_MAX correctly.
85075         * lib/safe-write.h: New file.
85076         * lib/safe-write.c: New file.
85077         * lib/full-read.h: New file.
85078         * lib/full-read.c: New file.
85079         * lib/full-write.h: Assume C89. Add comments.
85080         * lib/full-write.c: Include safe-write.h.
85081         (full_write): Rewritten to use safe_write.
85082         Suggested by Jim Meyering and Paul Eggert.
85083
85084 2002-11-21  Jim Meyering  <jim@meyering.net>
85085
85086         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
85087
85088         Merge in changes from the coreutils.
85089
85090         2002-09-25  Paul Eggert  <eggert@twinsun.com>
85091         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
85092         <stdint.h>.
85093         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
85094         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
85095         int.  Work more efficiently if X is the same width as uintmax_t.
85096         Do not compare X to -1, to avoid bogus compiler warning.
85097         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
85098         Don't assume that f_frsize and f_bsize are the same type.
85099
85100         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
85101         warning on FreeBSD.
85102
85103         * lib/makepath.c (make_path): Restore umask *before* creating the final
85104         component.
85105         (make_path): Minor reformatting.
85106
85107         * lib/xmalloc.c: Adjust to work with new autoconf macros,
85108         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
85109         HAVE_MALLOC/HAVE_REALLOC.
85110
85111         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
85112         dummy ones.  At least on GNU/Linux systems, `auto' means something
85113         else.
85114         From Michael Stone.
85115
85116 2002-11-21  Bruno Haible  <bruno@clisp.org>
85117
85118         Remove case insensitive option matching.
85119         * lib/argmatch.h (argcasematch): Remove declaration.
85120         (ARGCASEMATCH): Remove macro.
85121         (__xargmatch_internal): Remove case_sensitive argument.
85122         (XARGMATCH): Update.
85123         (XARGCASEMATCH): Remove macro.
85124         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
85125         case_sensitive argument.
85126         (argcasematch): Remove function.
85127         (__xargmatch_internal): Remove case_sensitive argument.
85128         (main): Use XARGMATCH instead of XARGCASEMATCH.
85129
85130         * lib/xmalloc.c: Change compile-time error message. Add comment about
85131         required autoconf version.
85132
85133 2002-11-20  Paul Eggert  <eggert@twinsun.com>
85134
85135         Merge argmatch cleanups from Bison.  Assume C89.
85136
85137         * lib/argmatch.c: Include config.h here, not in argmatch.h.
85138         Include stdlib.h, for EXIT_FAILURE.
85139         Always include <string.h>, since we assume C89.
85140         (EXIT_FAILURE): Remove pre-C89 bug workaround.
85141         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
85142         Include <stddef.h> instead, since it's all we need for size_t.
85143         (PARAMS): Remove.  All uses removed.
85144         (ARRAY_CARDINALITY): Do not bother to #undef.
85145         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
85146         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
85147         Remove unnecessary parentheses.
85148         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
85149         Insert necessary parentheses.
85150         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
85151         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
85152
85153 2002-11-19  Bruno Haible  <bruno@clisp.org>
85154
85155         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
85156         * lib/mbswidth.h: Include <stddef.h>, for size_t.
85157
85158         * lib/mbswidth.h (PARAMS): Remove macro.
85159         (mbswidth, mbsnwidth): Use ANSI C function declarations.
85160         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
85161
85162         * lib/gcd.h (PARAMS): Remove macro.
85163         (gcd): Use ANSI C function declarations.
85164         * lib/gcd.c (gcd): Likewise.
85165
85166 2002-11-15  Bruno Haible  <bruno@clisp.org>
85167
85168         * lib/strcspn.c: Include <stddef.h>.
85169         (strcspn): Use ANSI C function declaration. Change return type to
85170         size_t. Use NULL.
85171         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
85172         (strpbrk): Use NULL.
85173         * lib/strpbrk.h (PARAMS): Remove macro.
85174         (strpbrk): Use ANSI C function declaration.
85175         * lib/strstr.c: Don't include <sys/types.h>.
85176         * lib/strstr.h (PARAMS): Remove macro.
85177         (strstr): Use ANSI C function declarations.
85178
85179 2002-11-14  Karl Berry  <karl@gnu.org>
85180
85181         * config/mkinstalldirs: `do' on separate line, instead of
85182         `for var; do'.
85183
85184 2002-11-06  Bruno Haible  <bruno@clisp.org>
85185
85186         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
85187         * lib/gcd.c (gcd): Likewise.
85188
85189 2002-11-05  Bruno Haible  <bruno@clisp.org>
85190
85191         * lib/gcd.h: New file, from gettext-0.11.5.
85192         * lib/gcd.c: New file, from gettext-0.11.5.
85193
85194 2002-11-05  Bruno Haible  <bruno@clisp.org>
85195
85196         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
85197         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
85198         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
85199         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
85200
85201         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
85202         <libintl.h>.
85203         * lib/makepath.c: Include gettext.h instead of <locale.h> and
85204         <libintl.h>.
85205
85206         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
85207         * lib/human.c: Include gettext.h instead of <libintl.h>.
85208         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
85209         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
85210         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
85211         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
85212         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
85213         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
85214         (textdomain): Remove definition.
85215         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
85216
85217         * lib/long-options.c: Remove include of <libintl.h> and definition of
85218         _.
85219         * lib/same.c: Remove include of <libintl.h> and definition of _.
85220
85221 2002-11-04  Owen Taylor  <otaylor@redhat.com>
85222
85223         * lib/config.charset: A few additions for Solaris.
85224
85225 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
85226
85227         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
85228         * lib/localcharset.c (locale_charset): Declare as extern "C".
85229
85230 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
85231
85232         * lib/config.charset: msdos in uk_UA uses CP1125.
85233
85234 2002-11-04  Bruno Haible  <bruno@clisp.org>
85235
85236         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
85237         * lib/strcase.h: New file, from GNU gettext-0.11.5.
85238         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
85239         * lib/strstr.h: New file, from GNU gettext-0.11.5.
85240         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
85241
85242 2002-11-04  Bruno Haible  <bruno@clisp.org>
85243
85244         * lib/localcharset.c (locale_charset): Don't return an empty string.
85245
85246 2002-11-04  Bruno Haible  <bruno@clisp.org>
85247
85248         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
85249         aliases.
85250
85251 2002-11-04  Bruno Haible  <bruno@clisp.org>
85252
85253         * lib/config.charset: Update for newest glibc. Add canonical names
85254         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
85255
85256 2002-11-04  Bruno Haible  <bruno@clisp.org>
85257
85258         * lib/config.charset: Add support for NetBSD.
85259
85260 2002-11-04  Bruno Haible  <bruno@clisp.org>
85261
85262         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
85263
85264 2002-11-01  Bruno Haible  <bruno@clisp.org>
85265
85266         * configure.in: Add AC_CONFIG_AUX_DIR call.
85267         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
85268         test/Makefile.
85269         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
85270
85271 2002-09-28  Karl Berry  <karl@gnu.org>
85272
85273         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
85274         installed automake until the next release, since changes have been
85275         made.
85276
85277 2002-09-25  Karl Berry  <karl@gnu.org>
85278
85279         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
85280         * lib/getopt*: copy from libc/posix.
85281         * lib/gettext.h: copy from gettext.
85282         * lib/.cppi-disable: add strdup.c, gettext.h.
85283
85284 2002-09-25  Karl Berry  <karl@gnu.org>
85285
85286         * config/srclist.txt: enable gettext.h check.
85287         * config/config.{guess,sub}: update from prep.
85288         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
85289                 from automake 1.6.3.
85290         See srclist*.
85291
85292 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
85293
85294         * regex.c (PATFETCH): Remove the translating fetch.
85295         (PATFETCH_RAW): Rename to PATFETCH.
85296         (set_image_of_range): New fun.
85297         (SET_RANGE_TABLE_WORK_AREA): Use it.
85298         (regex_compile): Don't translate the pattern chars so eagerly.
85299         Only do it when inserting an `exactn' bytecode or when handling
85300         a char-range.
85301         (mutually_exclusive_p): Avoid empty statement.
85302
85303 2002-07-06  Jim Meyering  <meyering@lucent.com>
85304
85305         * m4/README: Don't mention Makefile.am.in.
85306         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
85307
85308 2002-07-01  Jim Meyering  <meyering@lucent.com>
85309
85310         * lib/c-stack.c: Include sys/time.h.
85311         From Volker Borchert.
85312
85313 2002-06-26  Paul Eggert  <eggert@twinsun.com>
85314
85315         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
85316
85317 2002-06-26  Paul Eggert  <eggert@twinsun.com>
85318
85319         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
85320         New macro.  Use it uniformly instead of
85321         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
85322         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
85323         reported by Vin Shelton.
85324
85325 2002-06-22  Paul Eggert  <eggert@twinsun.com>
85326
85327         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
85328         Do not assume SA_SIGINFO behavior.
85329         Bug reported by Jim Meyering on NetBSD 1.5.2.
85330
85331 2002-06-22  Jim Meyering  <meyering@lucent.com>
85332
85333         * m4/c-stack.m4: New file, from diffutils-2.8.2.
85334         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
85335
85336         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
85337         now that configure.ac uses AC_GNU_SOURCE.
85338         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
85339         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
85340
85341         Update to latest tools.  Suggestions from Paul Eggert.
85342         * m4/stdbool.m4: New file, from diffutils-2.8.2.
85343         * m4/gnu-source.m4: Update from diffutils-2.8.2.
85344         * m4/fnmatch.m4: Likewise.
85345         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
85346         to AC_HEADER_STDBOOL
85347
85348 2002-06-22  Jim Meyering  <meyering@lucent.com>
85349
85350         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
85351         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
85352
85353 2002-06-22  Jim Meyering  <meyering@lucent.com>
85354
85355         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
85356
85357         * lib/exitfail.c, exitfail.h: Likewise.
85358         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
85359
85360         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
85361         of fnmatch.h.
85362         (EXTRA_DIST): Add fnmatch_loop.c.
85363         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
85364
85365         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
85366         * lib/fnmatch.c: Update from diffutils-2.8.2.
85367         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
85368         * lib/fnmatch.h: Remove file.
85369
85370 2002-06-21  Jim Meyering  <meyering@lucent.com>
85371
85372         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
85373         * m4/mbrtowc.m4: Likewise.
85374
85375         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
85376         * m4/mbswidth.m4: Reflect name change:
85377         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
85378         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
85379
85380         * m4/lib-link.m4: Update from gettext-0.11.2.
85381         * m4/gettext.m4: Likewise.
85382
85383         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
85384         From Alfred M. Szmidt.
85385
85386 2002-06-18  Paul Eggert  <eggert@twinsun.com>
85387
85388         * lib/file-type.h: Report an error if neither S_ISREG nor
85389         S_IFREG is defined, instead of using a test specific to glibc
85390         2.2.  This should be safe, since POSIX requires S_ISREG and
85391         Unix Version 7 had S_IFREG.  We don't need to check for
85392         <sys/types.h> since we don't use any symbols that it defines.
85393
85394 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
85395
85396         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
85397         $@-t, so that each temporary file name is unique and valid in the first
85398         8 characters, for operation under DOS.
85399
85400 2002-06-15  Paul Eggert  <eggert@twinsun.com>
85401
85402         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
85403
85404 2002-06-15  Jim Meyering  <meyering@lucent.com>
85405
85406         Work even with DJGPP 2.03, which lacks support for symlinks.
85407         From Richard Dawe.
85408         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
85409         is defined.
85410         * lib/lchown.c (S_ISLNK): Likewise.
85411
85412 2002-06-15  Jim Meyering  <meyering@lucent.com>
85413
85414         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
85415         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
85416         have been included before this file.
85417
85418 2002-06-14  Jim Meyering  <meyering@lucent.com>
85419
85420         * lib/file-type.h: Use the version from diffutils-2.8.2.
85421         * lib/file-type.c: Likewise.
85422
85423 2002-06-07  Jim Meyering  <meyering@lucent.com>
85424
85425         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
85426         They're needed at least for NetBSD 1.5.2.
85427         ($statxfs_includes): Include those same headers.
85428         ($statxfs_includes): Include sys/vfs.h if available.
85429         ($statxfs_includes): Likewise for sys/statvfs.h.
85430         Check for the following members in both structs statfs and statvfs:
85431         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
85432
85433 2002-06-01  Jim Meyering  <meyering@lucent.com>
85434
85435         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
85436         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
85437
85438 2002-05-28  Jim Meyering  <meyering@lucent.com>
85439
85440         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
85441         Reported by Volker Borchert.
85442
85443 2002-05-27  Jim Meyering  <meyering@lucent.com>
85444
85445         Fix a problem seen only on nonconforming systems whereby ls.c's
85446         use of localtime, and then of gettimeofday would cause trouble:
85447         the localtime call used to initialize rpl_gettimeofday's save
85448         mechanism would clobber ls's current local time information so
85449         that in any long listing the first file would always be listed
85450         with date 1970-01-01.  Analysis by Volker Borchert.
85451
85452         * lib/gettimeofday.c (localtime): Undefine.
85453         (rpl_localtime): New function.
85454
85455 2002-05-27  Jim Meyering  <meyering@lucent.com>
85456
85457         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
85458         localtime.
85459
85460         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
85461         use the replacement function; it wouldn't resolve at link time.
85462         Reported by Volker Borchert.
85463
85464 2002-05-22  Jim Meyering  <meyering@lucent.com>
85465
85466         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
85467         file-type.h.
85468         * lib/file-type.h: New file.
85469         * lib/file-type.c (file_type): New file/function.  Extracted from
85470         diffutils.
85471
85472 2002-04-30  Jim Meyering  <meyering@lucent.com>
85473
85474         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
85475
85476 2002-04-29  Paul Eggert  <eggert@twinsun.com>
85477
85478         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
85479
85480 2002-04-29  Paul Eggert  <eggert@twinsun.com>
85481
85482         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
85483         Do not check for alloca.h (no longer used) or stdbool.h (was never
85484         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
85485
85486 2002-04-29  Paul Eggert  <eggert@twinsun.com>
85487
85488         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
85489
85490 2002-04-29  Jim Meyering  <meyering@lucent.com>
85491
85492         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
85493         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
85494         Use AC_FUNC_STRNLEN here instead.
85495
85496         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
85497         With autoconf-2.53a, it's part of AC_PROG_CC.
85498
85499 2002-04-28  Paul Eggert  <eggert@twinsun.com>
85500
85501         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
85502         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
85503
85504 2002-04-28  Paul Eggert  <eggert@twinsun.com>
85505
85506         * lib/sig2str.h, lib/sig2str.c: New files.
85507         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
85508
85509 2002-04-28  Paul Eggert  <eggert@twinsun.com>
85510
85511         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
85512         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
85513         of 127, since 64 is the largest conceivable number for ancient
85514         nonstandard hosts.
85515         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
85516
85517 2002-04-28  Jim Meyering  <meyering@lucent.com>
85518
85519         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
85520
85521 2002-04-24  Jim Meyering  <meyering@lucent.com>
85522
85523         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
85524         (jm_PREREQ): Use it.
85525
85526         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
85527         mach/mach.h fcntl.h.
85528         Check for this function: setlocale.
85529
85530 2002-04-24  Jim Meyering  <meyering@lucent.com>
85531
85532         * lib/gettext.h: New file, from Gettext.
85533         * lib/Makefile.am (INCLUDES): Remove -I../intl.
85534         (libfetish_a_SOURCES): Add gettext.h.
85535
85536 2002-04-16  Jim Meyering  <meyering@lucent.com>
85537
85538         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
85539         ut_pid, ut_id, ut_exit.
85540
85541 2002-04-16  Jim Meyering  <meyering@lucent.com>
85542
85543         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
85544         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
85545         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
85546
85547 2002-04-12  Jim Meyering  <meyering@lucent.com>
85548
85549         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
85550         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
85551         existence of the getmntinfo function.  Needed for Darwin 5.3.
85552
85553         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
85554         This is necessary at least on Darwin 5.3.
85555
85556         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
85557         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
85558         strnlen.o in the library, and that makes some versions of ranlib
85559         object.
85560
85561 2002-04-12  Jim Meyering  <meyering@lucent.com>
85562
85563         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
85564
85565 2002-04-09  Jim Meyering  <meyering@lucent.com>
85566
85567         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
85568         to be more precise.  Rather than saying we're checking whether the
85569         function `works', say what we're testing.
85570         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
85571         Reported by Bruno Haible.
85572
85573 2002-03-10  Jim Meyering  <meyering@lucent.com>
85574
85575         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
85576         Suggestion from Santiago Vila.
85577
85578 2002-03-08  Jim Meyering  <meyering@lucent.com>
85579
85580         * lib/rename.c: Mention that this wrapper is needed also on
85581         mips-dec-ultrix4.4 systems.
85582
85583 2002-03-02  Jim Meyering  <meyering@lucent.com>
85584
85585         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
85586         not HAVE_CLOCK_SETTIME.
85587
85588 2002-02-27  Paul Eggert  <eggert@twinsun.com>
85589
85590         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
85591         Check for clock_settime.
85592
85593 2002-02-27  Paul Eggert  <eggert@twinsun.com>
85594
85595         * lib/nanosleep.h: Rename to....
85596         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
85597
85598         * lib/gettime.c: New file.
85599         * lib/settime.c: New file.
85600         * lib/stime.c: Remove.
85601
85602         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
85603         timespec.h.  Remove nanosleep.h.
85604
85605 2002-02-25  Paul Eggert  <eggert@twinsun.com>
85606
85607         * m4/acl.m4: New file.
85608         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
85609         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
85610
85611 2002-02-25  Paul Eggert  <eggert@twinsun.com>
85612
85613         * lib/acl.c, lib/acl.h: New files.
85614         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
85615
85616 2002-02-24  Jim Meyering  <meyering@lucent.com>
85617
85618         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
85619         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
85620         cause trouble.  Reported by Nelson Beebe.
85621
85622 2002-02-23  Paul Eggert  <eggert@twinsun.com>
85623
85624         * lib/path-concat.c (xpath_concat): Reorder code to pacify
85625         compilers that don't know that xalloc_die never returns.
85626
85627 2002-02-20  Jim Meyering  <meyering@lucent.com>
85628
85629         * lib/getdate.c: Regenerate using bison-1.33.
85630
85631 2002-02-17  Jim Meyering  <meyering@lucent.com>
85632
85633         * config/config.guess (main): Don't use `head -1'; it's no longer
85634         portable. Use `sed 1q' instead.
85635
85636 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
85637
85638         * m4/codeset.m4: Upgrade to gettext-0.11.
85639         * m4/gettext.m4: Upgrade to gettext-0.11.
85640         * m4/glibc21.m4: Upgrade to gettext-0.11.
85641         * m4/iconv.m4: Upgrade to gettext-0.11.
85642         * m4/isc-posix.m4: Upgrade to gettext-0.11.
85643         * m4/lcmessage.m4: Upgrade to gettext-0.11.
85644         * m4/lib-ld.m4: New file, from gettext-0.11.
85645         * m4/lib-link.m4: New file, from gettext-0.11.
85646         * m4/lib-prefix.m4: New file, from gettext-0.11.
85647         * m4/progtest.m4: Upgrade to gettext-0.11.
85648
85649 2002-02-15  Paul Eggert  <eggert@twinsun.com>
85650
85651         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
85652         (jm_PREREQ): Use it.
85653
85654 2002-02-15  Paul Eggert  <eggert@twinsun.com>
85655
85656         * lib/posixver.c, lib/posixver.h: New files.
85657         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
85658
85659 2002-02-02  Paul Eggert  <eggert@twinsun.com>
85660             Bruno Haible  <bruno@clisp.org>
85661
85662         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
85663         (fwrite_success_callback): New declaration.
85664         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
85665         print_unicode_char. Call failure callback instead of error.
85666         (fwrite_success_callback): New function.
85667         (exit_failure_callback): New function.
85668         (fallback_failure_callback): New function.
85669         (print_unicode_char): Call unicode_to_mb.
85670
85671 2002-01-26  Jim Meyering  <meyering@lucent.com>
85672
85673         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
85674         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
85675
85676 2002-01-26  Jim Meyering  <meyering@lucent.com>
85677
85678         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
85679
85680 2002-01-22  Paul Eggert  <eggert@twinsun.com>
85681
85682         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
85683
85684 2002-01-22  Jim Meyering  <meyering@lucent.com>
85685
85686         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
85687         Otherwise, some versions of automake would omit the rule that makes
85688         Makefile from Makefile.in.
85689
85690 2002-01-21  Paul Eggert  <eggert@twinsun.com>
85691
85692         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
85693         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
85694         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
85695         (memcoll): Set errno to zero if there is no error.
85696
85697         * lib/quotearg.c (quotearg_buffer_restyled):
85698         Fix bug with quoting buffers containing NUL when backslashing escapes.
85699         This bug was exposed by the other changes in this patch.
85700         (quotearg_n_options): New arg ARGSIZE.
85701         All callers changed.
85702         (quoting_options_from_style): New function.
85703         (quotearg_n_style): Use it.
85704         (quotearg_n_style_mem): New function.
85705
85706         * lib/quotearg.h (quotearg_n_style_mem): New function.
85707
85708 2002-01-19  Jim Meyering  <meyering@lucent.com>
85709
85710         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
85711         Remove useless quotes: DF_PROG="df".
85712         * m4/strnlen.m4: New file.
85713
85714 2002-01-16  Paul Eggert  <eggert@twinsun.com>
85715
85716         * lib/backupfile.c (ISDIGIT): Comment fix.
85717         * lib/getdate.y (ISDIGIT): Likewise.
85718         * lib/posixtm.c (ISDIGIT, year): Likewise.
85719         * lib/strverscmp.c (ISDIGIT): Likewise.
85720         * lib/userspec.c (ISDIGIT): Likewise.
85721
85722 2002-01-16  Jim Meyering  <meyering@lucent.com>
85723
85724         * lib/getdate.y: Add three semicolons, each just before a closing
85725         brace. Bison (as of version 1.31) no longer papers over that mistake.
85726
85727 2002-01-05  Jim Meyering  <meyering@lucent.com>
85728
85729         * lib/version-etc.c (version_etc_copyright): Update copyright year.
85730
85731 2001-12-19  Paul Eggert  <eggert@twinsun.com>
85732
85733         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
85734         not silently exit merely because the output buffer happens to
85735         have nothing pending.
85736
85737 2001-12-18  Paul Eggert  <eggert@twinsun.com>
85738
85739         See the big note in ../ChangeLog.
85740         * lib/human.c (suffixes): Prefer K to k for 1024.
85741         (generate_suffix_backwards): New function.
85742         (human_readable_inexact): Use it.
85743         * lib/xstrtol.c (__xstrtol): If there is no number but there
85744         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
85745         Accept 'K' as well as 'k'.
85746
85747 2001-12-15  Jim Meyering  <meyering@lucent.com>
85748
85749         * lib/regex.h (__restrict_arr): Update from libc.
85750
85751         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
85752         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
85753         (STREQ): Define.
85754
85755 2001-12-14  Jim Meyering  <meyering@lucent.com>
85756
85757         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
85758         Suggestion from Bruno Haible.
85759
85760 2001-12-10  Jim Meyering  <meyering@lucent.com>
85761
85762         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
85763         xrealloc, Instead, include "xalloc.h".
85764         (initbuffer): Don't cast xmalloc return value to char*.
85765         (readline): Reword comment.
85766         Don't cast xrealloc return value to char*
85767         Return NULL, not 0.
85768
85769 2001-12-09  Jim Meyering  <meyering@lucent.com>
85770
85771         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
85772         about `signed and unsigned type in conditional expression'.
85773         * lib/posixtm.c (posix_time_parse): Likewise.
85774
85775         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
85776
85777         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
85778         to avoid a pedantic warning.
85779
85780         * lib/getstr.c: Don't include assert.h.
85781         (getstr): Remove warning-evoking assertions.
85782         Return -1 if offset parameter is out of bounds.
85783         Change the type of a local from int to size_t.
85784
85785         * lib/strftime.c (my_strftime_localtime_r): Include this function
85786         definition in the `#if ! HAVE_TM_GMTOFF' block.
85787
85788         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
85789         Include xalloc.h instead.
85790
85791 2001-12-02  Jim Meyering  <meyering@lucent.com>
85792
85793         * lib/tempname.c: Don't declare getenv, thus reverting the change of
85794         2001-11-18.  It's no longer necessary, now that stdlib.h is always
85795         included.
85796
85797         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
85798         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
85799
85800 2001-11-30  Akim Demaille  <akim@epita.fr>
85801
85802         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
85803         before being defined.
85804
85805 2001-11-27  Paul Eggert  <eggert@twinsun.com>
85806
85807         * lib/quotearg.h (quotearg_n, quotearg_n_style):
85808         First arg is int, not unsigned.
85809         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
85810         (SIZE_MAX, UINT_MAX): New macros.
85811         (quotearg_n_options): Abort if N is negative.
85812         Avoid overflow check on hosts where size_t is 64 bits and int
85813         is 32 bits, as overflow is impossible there.
85814         Fix off-by-one typo that caused unnecessary reallocation.
85815
85816 2001-11-27  Jim Meyering  <meyering@lucent.com>
85817
85818         * lib/tempname.c: Merge with version from libc.
85819         * lib/regex.c: Likewise.
85820
85821         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
85822         systems for which STDC_HEADERS is 0, it was not included, resulting in
85823         a warning about an integer-to-pointer conversion problem with getenv.
85824         Reported by Volker Borchert.
85825
85826 2001-11-26  Jim Meyering  <meyering@lucent.com>
85827
85828         * lib/gtod.h: Remove file.
85829         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
85830         * lib/gettimeofday.c: Don't include gtod.h.
85831         (GTOD_init): Remove function.
85832         (rpl_gettimeofday): Do its job here instead, rather than aborting.
85833         Suggestion from Volker Borchert.
85834
85835 2001-11-23  Jim Meyering  <meyering@lucent.com>
85836
85837         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
85838         it.
85839         * lib/hash.c (struct hash_table): Define it here instead.
85840
85841 2001-11-22  Jim Meyering  <meyering@lucent.com>
85842
85843         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
85844
85845 2001-11-20  Jim Meyering  <meyering@lucent.com>
85846
85847         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
85848         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
85849
85850 2001-11-19  Jim Meyering  <meyering@lucent.com>
85851
85852         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
85853         directory.  Use "conftestXXXXXX" as the template.
85854         Suggestion from Paul Eggert.
85855
85856         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
85857         immediately, so the test doesn't mistakenly hit the max-open-files
85858         limit.
85859
85860 2001-11-18  Paul Eggert  <eggert@twinsun.com>
85861
85862         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
85863         (TEMPORARIES): New macro.
85864         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
85865         removes an artificial limitation (e.g. HP-UX 10.20, where
85866         TMP_MAX is 17576).
85867
85868 2001-11-18  Jim Meyering  <meyering@lucent.com>
85869
85870         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
85871
85872 2001-11-18  Jim Meyering  <meyering@lucent.com>
85873
85874         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
85875         on SunOS 4.
85876
85877         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
85878         files will be created before anything else.
85879
85880 2001-11-17  Paul Eggert  <eggert@twinsun.com>
85881
85882         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
85883         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
85884
85885 2001-11-17  Jim Meyering  <meyering@lucent.com>
85886
85887         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
85888         Prompted by a report from Bob Proulx.
85889
85890         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
85891         Instead, require UTILS_FUNC_MKSTEMP.
85892
85893 2001-11-17  Jim Meyering  <meyering@lucent.com>
85894
85895         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
85896         Now, that's done as part of AC_FUNC_STRTOD.
85897
85898 2001-11-17  Jim Meyering  <meyering@lucent.com>
85899
85900         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
85901         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
85902         rather than group writable.  Patch by Juan F. Codagnone.
85903
85904         * lib/readtokens.c: Remove explicit declarations of xmalloc and
85905         xrealloc, Instead, include "xalloc.h".
85906
85907         * lib/mountlist.c: Include unlocked-io.h after all system headers.
85908         Remove explicit declarations of xmalloc, xrealloc,
85909         and xstrdup.  Instead, include "xalloc.h".
85910
85911         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
85912         unlocked-io.h.
85913         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
85914         Likewise.
85915         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
85916
85917         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
85918         Reported by Padraig Brady.
85919
85920         * lib/mkstemp.c: #undef mkstemp.
85921         Include config.h.
85922         (rpl_mkstemp): Rename from mkstemp.
85923         Protoize.
85924
85925 2001-11-16  Jim Meyering  <meyering@lucent.com>
85926
85927         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
85928         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
85929         determine the amount of total physical memory, use pstat_getstatic.
85930         HPUX-11 doesn't define _SC_PHYS_PAGES.
85931         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
85932         If sysconf couldn't be used to determine the amount of available
85933         physical memory, use both pstat_getstatic and pstat_getdynamic.
85934         Based on a patch from Bob Proulx.
85935
85936 2001-11-10  Jim Meyering  <meyering@lucent.com>
85937
85938         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
85939         (jm_PREREQ): Use it.
85940
85941 2001-11-09  Jim Meyering  <meyering@lucent.com>
85942
85943         * m4/jm-macros.m4: Require autoconf-2.52f.
85944         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
85945         Use these AC_-prefixed names, not the AM_-prefixed ones.
85946
85947         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
85948
85949 2001-11-05  Jim Meyering  <meyering@lucent.com>
85950
85951         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
85952
85953 2001-11-04  Jim Meyering  <meyering@lucent.com>
85954
85955         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
85956         $DEFS.
85957
85958 2001-11-03  Jim Meyering  <meyering@lucent.com>
85959
85960         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
85961         of AC_DEFUN.
85962
85963         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
85964         know the name of the variable in the macro definition.
85965
85966 2001-11-03  Jim Meyering  <meyering@lucent.com>
85967
85968         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
85969         in argmatch_to_argument call.
85970
85971         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
85972         argument.
85973
85974         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
85975         e.g., a fault due to an attempt to free a NULL pointer.
85976
85977 2001-11-01  Jim Meyering  <meyering@lucent.com>
85978
85979         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
85980         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
85981
85982 2001-11-01  Jim Meyering  <meyering@lucent.com>
85983
85984         * lib/dirfd.c, lib/dirfd.h: New files.
85985         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
85986
85987         * lib/hash.c (hash_print) [TESTING]: Clean up.
85988
85989 2001-10-22  Paul Eggert  <eggert@twinsun.com>
85990
85991         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
85992         to avoid a warning if -Wall.
85993
85994 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
85995
85996         * README: New file
85997         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
85998         (per RMS's instructions, this is now the canonical source)
85999         * lgpl/, gpl/: New directories.
86000
86001 2001-10-21  Paul Eggert  <eggert@twinsun.com>
86002
86003         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
86004
86005 2001-10-21  Jim Meyering  <meyering@lucent.com>
86006
86007         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
86008         this code would end up calling gettext even in packages built
86009         with --disable-nls.
86010         * lib/getopt.c (_): Likewise.
86011         * lib/regex.c (_): Likewise.
86012
86013 2001-10-20  Paul Eggert  <eggert@twinsun.com>
86014
86015         * m4/error.m4 (jm_PREREQ_ERROR):
86016         Do not invoke AC_CHECK_FUNCS with strerror_r, as
86017         AC_FUNC_STRERROR_R does that.
86018         Check for strerror declaration.
86019
86020         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
86021         are supposed to have them these days.
86022         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
86023         Merge changes from latest Autoconf CVS.
86024         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
86025         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
86026         POSIX decided to standardize on the int flavor of strerror_r.
86027
86028 2001-10-20  Paul Eggert  <eggert@twinsun.com>
86029
86030         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
86031         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
86032         Use strerror_r that is only a macro, even if it is not a function.
86033         (strerror): Check for HAVE_DECL_STRERROR before declaring.
86034         (private_strerror): Use prototypes, not old-style function definition.
86035         (print_errno_message): New function.
86036         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
86037         char*-flavored one.
86038         (error_tail, error, error_at_line): Use it.
86039
86040 2001-10-11  Jim Meyering  <meyering@lucent.com>
86041
86042         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
86043         and quote_n (1, ... to avoid clobbering a buffer.
86044
86045 2001-10-05  Jim Meyering  <meyering@lucent.com>
86046
86047         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
86048         hash-pjw.h.
86049         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
86050         * lib/hash-pjw.h: New file.
86051
86052 2001-09-30  Jim Meyering  <meyering@lucent.com>
86053
86054         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
86055         `struct fsstat' has the `f_fstypename' member.
86056         Use that to define FS_TYPE, which is now used to make
86057         the getfsstat link test tighter.
86058
86059 2001-09-30  Jim Meyering  <meyering@lucent.com>
86060
86061         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
86062         Include <sys/ucred.h>, for Apple Darwin.
86063         Include sys/mount.h and sys/fs_types.h only if available.
86064         (FS_TYPE): Define.
86065         (read_filesystem_list): Use FS_TYPE.
86066
86067 2001-09-29  Paul Eggert  <eggert@twinsun.com>
86068
86069         * lib/exclude.c (excluded_filename): 0 -> false, since it's
86070         a boolean context.
86071
86072 2001-09-29  Jim Meyering  <meyering@lucent.com>
86073
86074         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
86075         [one-argument getmntent function]): Include stdio.h before mntent.h.
86076         SunOS 4.1.x needs it for the declaration of `FILE'.
86077         Patch by Volker Borchert.
86078
86079         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
86080         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
86081         sys/fs_types.h, and make the link-test for getfsstat guard #include
86082         directives with appropriate #if HAVE_*_H tests so that we can
86083         detect getfsstat on Apple Darwin1.3.7 systems.
86084         Reported by Nelson Beebe.
86085         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
86086
86087 2001-09-28  Paul Eggert  <eggert@twinsun.com>
86088
86089         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
86090         #defines strtoimax.  Also treat the other strto* functions
86091         like strtoimax.
86092
86093         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
86094         Check for strtoul and strtoumax,
86095         as those declarations are made even in the signed case.
86096         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
86097         Likewise, for strtol and strtoimax.
86098
86099 2001-09-28  Paul Eggert  <eggert@twinsun.com>
86100
86101         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
86102         #defines strtoimax.  Also treat the other strto* functions
86103         like strtoimax.
86104
86105         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
86106         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
86107         (strtoimax, strtoumax): Do not declare if already defined as a macro.
86108
86109 2001-09-26  Jim Meyering  <meyering@lucent.com>
86110
86111         Most macros in unlocked-io.h had the wrong number of arguments.
86112         * lib/gen-uio: New script.
86113         (USE_UNLOCKED_IO): Define to 1 if not already defined.
86114         * lib/unlocked-io.hin: Remove file.
86115         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
86116         rather than trying to embed it here.
86117         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
86118         Reported by Padraig Brady.
86119
86120 2001-09-25  Volker Borchert  <bt@teknon.de>
86121
86122         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
86123         `result'.
86124
86125 2001-09-24  Jim Meyering  <meyering@lucent.com>
86126
86127         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
86128
86129 2001-09-23  Jim Meyering  <meyering@lucent.com>
86130
86131         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
86132         instead of the mere test for existence of mntent.h.  The latter
86133         would get a false-positive on AIX 3.4 systems.
86134         In the outer getmntent if-block, don't die if neither of the getmntent
86135         tests succeeds.  Instead, just fall through and continue with the
86136         remaining tests.
86137
86138 2001-09-23  Jim Meyering  <meyering@lucent.com>
86139
86140         * lib/mountlist.c: Remove useless parentheses in #if directives.
86141         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
86142         the deprecated MOUNTED symbol is no longer defined in mntent.h.
86143
86144 2001-09-22  Jim Meyering  <meyering@lucent.com>
86145
86146         * m4/gettext.m4: New file.  From gettext.
86147         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
86148         * m4/progtest.m4: Likewise
86149         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
86150         * m4/glibc21.m4: Likewise.
86151
86152         * m4/libintl.m4: Remove.  No longer used.
86153
86154 2001-09-22  Jim Meyering  <meyering@lucent.com>
86155
86156         * lib/localcharset.c: Update from latest gettext.
86157         * lib/config.charset: Likewise.
86158
86159 2001-09-20  Jim Meyering  <meyering@lucent.com>
86160
86161         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
86162         strtoimax.
86163         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
86164         strtoumax.
86165
86166 2001-09-20  Jim Meyering  <meyering@lucent.com>
86167
86168         * lib/xstrtol.c (strtoimax): Guard declaration with
86169         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
86170         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
86171         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
86172         (strtoumax): Likewise, for completeness (it wasn't necessary).
86173
86174 2001-09-17  Paul Eggert  <eggert@twinsun.com>
86175
86176         * lib/strtoimax.c (HAVE_LONG_LONG):
86177         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
86178         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
86179         to work around bug in IBM C compiler.
86180
86181 2001-09-17  Jim Meyering  <meyering@lucent.com>
86182
86183         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
86184         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
86185         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
86186         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
86187         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
86188         whenever the right hand side need not be expanded by the shell.
86189
86190 2001-09-16  Paul Eggert  <eggert@twinsun.com>
86191
86192         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
86193         library.  It's not correct, as some older glibcs are buggy.
86194         fnmatch wasn't fixed until glibc 2.2.
86195
86196         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
86197         special shell magic here.
86198
86199 2001-09-16  Jim Meyering  <meyering@lucent.com>
86200
86201         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
86202         * m4/jm-macros.m4: Require it.
86203
86204 2001-09-16  Jim Meyering  <meyering@lucent.com>
86205
86206         * lib/mkdir.c: New file.
86207
86208 2001-09-15  Jim Meyering  <meyering@lucent.com>
86209
86210         * m4/jm-macros.m4: Check for help2man.
86211
86212 2001-09-11  Jim Meyering  <meyering@lucent.com>
86213
86214         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
86215         The body, by Paul Eggert, was moved here from configure.in.
86216         * m4/jm-macros.m4: Require UTILS_HOST_OS.
86217
86218 2001-09-04  Paul Eggert  <eggert@twinsun.com>
86219
86220         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
86221         (jm_PREREQ): Use it.
86222
86223 2001-09-04  Paul Eggert  <eggert@twinsun.com>
86224
86225         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
86226         Use ssize_t, not int, to store result of readlink.
86227         Check for ssize_t overflow as well as size_t overflow,
86228         as POSIX says the result of readlink is implementation-defined
86229         when ssize_t overflows.
86230         Remove unnecessary cast to char*.
86231         Use free+malloc instead of realloc, as the storage doesn't need
86232         to be preserved and it's clearer and can be more efficient that way.
86233         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
86234         * lib/xreadlink.h (xreadlink): Update prototype.
86235
86236 2001-09-04  Paul Eggert  <eggert@twinsun.com>
86237
86238         * lib/xgetcwd.c: Revert some of the previous change; intead,
86239         fix the HAVE_GETCWD_NULL code to behave more like the
86240         !HAVE_GETCWD_NULL code used to.
86241
86242         Include "xalloc.h".
86243         (xgetcwd): Do not return NULL when memory is exhausted; instead,
86244         invoke xalloc_die.
86245
86246 2001-09-03  Paul Eggert  <eggert@twinsun.com>
86247
86248         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
86249         sys/param.h, as pathmax.h includes them.
86250
86251 2001-09-03  Paul Eggert  <eggert@twinsun.com>
86252
86253         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
86254         (jm_PREREQ_XGETCWD): New macro.
86255
86256         * m4/getcwd.m4: New file.
86257
86258 2001-09-03  Paul Eggert  <eggert@twinsun.com>
86259
86260         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
86261         like the HAVE_GETCWD_NULL code.
86262         Include pathmax.h if not HAVE_GETCWD.
86263         Do not include xalloc.h.
86264         (INITIAL_BUFFER_SIZE): New symbol.
86265         Do not use xmalloc / xrealloc, since the caller is responsible for
86266         handling errors.  Preserve errno around `free' during failure.
86267         Do not overrun buffer when using getwd.
86268
86269 2001-09-03  Paul Eggert  <eggert@twinsun.com>
86270
86271         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
86272         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
86273         getcwd (NULL, 0).
86274
86275 2001-09-03  Paul Eggert  <eggert@twinsun.com>
86276
86277         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
86278         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
86279         spotted by Jim Meyering.
86280
86281 2001-09-03  Jim Meyering  <meyering@lucent.com>
86282
86283         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
86284         failure.
86285
86286 2001-09-02  Jim Meyering  <meyering@lucent.com>
86287
86288         * lib/error.c: Update from GNU libc.
86289
86290 2001-09-01  Jim Meyering  <meyering@lucent.com>
86291
86292         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
86293         Used by df.
86294
86295 2001-09-01  Jim Meyering  <meyering@lucent.com>
86296
86297         * lib/xreadlink.c: New file.
86298         * lib/xreadlink.h: New file.
86299         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
86300         xreadlink.h.
86301
86302         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
86303         doesn't conflict with sparc Solaris 7's definition in
86304         /usr/include/sys/int_types.h.
86305
86306         * lib/exclude.c: Use `""', not `<>' to #include non-system header
86307         files.
86308         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
86309         and strncasecmp as r-values.  Unixware didn't have declarations.
86310
86311 2001-08-31  Paul Eggert  <eggert@twinsun.com>
86312
86313         * lib/xstrtol.h: Add copyright notice.
86314         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
86315         LONGINT_INVALID_SUFFIX_CHAR.
86316
86317 2001-08-31  Paul Eggert  <eggert@twinsun.com>
86318
86319         * lib/xstrtol.c (strtoimax): New decl.
86320
86321 2001-08-31  Paul Eggert  <eggert@twinsun.com>
86322
86323         * lib/xgetcwd.c: Don't include pathmax.h.
86324         Include stdlib.h and unistd.h if available.
86325         Include xalloc.h.
86326         (xmalloc, xstrdup, free): Remove decls.
86327         (xgetcwd): Don't assume sizes fit in unsigned.
86328         Check for overflow when computing sizes.
86329         Simplify reallocation code.
86330
86331 2001-08-31  Paul Eggert  <eggert@twinsun.com>
86332
86333         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
86334         a directory's st_size can have an arbitrary value, so the old
86335         usage could waste an arbitrary amount of memory.  All uses
86336         changed.
86337         * lib/savedir.h: Update prototype.
86338
86339 2001-08-31  Paul Eggert  <eggert@twinsun.com>
86340
86341         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
86342
86343         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
86344         old strtoimax.c.
86345
86346         Also, make the following further changes to make this file's
86347         configuration more similar to that of strtol.c:
86348         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
86349         (strtoumax, uintmax_t, strtoull, strtol): Remove.
86350         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
86351         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
86352         changed to signed values.
86353
86354         And make the following changes as well:
86355         Fix copyright notice, as 1999 was missing.
86356         (verify): New macro.
86357         (strtoimax): Check sizes at compile-time, not run-time.
86358         Prefer strtol to strtoll if both work.
86359         (main): Remove; it was not that useful and was a pain to maintain.
86360
86361         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
86362
86363 2001-08-31  Jim Meyering  <meyering@lucent.com>
86364
86365         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
86366         Use an initial, malloc'd, buffer of length 128 rather than
86367         a statically allocated one of length 1024.
86368
86369 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86370
86371         Simplify code, partly by assuming autoconf 2.52 semantics.
86372
86373         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
86374
86375         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
86376         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
86377         All uses removed.
86378         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
86379         Move AC_REQUIRE to next-to-top level, to avoid confusion.
86380         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
86381         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
86382         jm_AC_HEADER_INTTYPES_H.
86383         * m4/jm-macros.m4 (jm_MACROS): Likewise.
86384
86385         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
86386
86387         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
86388         Quote first arg of AC_DEFUN.
86389         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
86390         since they are needed to parse the include file even if we need
86391         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
86392         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
86393         but with opposite signedness.
86394
86395 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86396
86397         Merge 'exclude' changes from tar 1.13.22.
86398         This fixes one or two unlikely storage allocation overflow bugs,
86399         but doesn't change user-visible behavior otherwise.
86400
86401 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86402
86403         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
86404         (jm_PREREQ_EXCLUDE): New macro.
86405
86406 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86407
86408         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
86409         tm to be declared.
86410
86411 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86412
86413         * lib/hash.c: Remove '2001' from copyright notice.
86414
86415 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86416
86417         * lib/full-write.h: New file.
86418         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
86419         * lib/full-write.c: Correct credits, as cccp.c no longer
86420         exists and anyway it was so heavily changed from the old cccp
86421         code as to be unrecognizable.  Include full-write.h.
86422         (full_write): Return size_t, with short writes meaning failure.
86423         All callers changed.  This fixes a bug with large buffers
86424         on 64-bit hosts.
86425         * lib/utime.c: Include full-write.h.
86426
86427 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86428
86429         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
86430         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
86431         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
86432         Include if available.
86433         (<xalloc.h>): Include
86434         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
86435         (verify): New macro.  Use it to verify that EXCLUDE macros do not
86436         collide with FNM macros.
86437         (struct patopts): New struct.
86438         (struct exclude): Use it, as exclude patterns now come with options.
86439         (new_exclude): Support above changes.
86440         (new_exclude, add_exclude_file):
86441         Initial size must now be a power of two to simplify overflow checking.
86442         (free_exclude, fnmatch_no_wildcards): New function.
86443         (excluded_filename): No longer requires options arg, as the options
86444         are determined by add_exclude.  Now returns bool, not int.
86445         (excluded_filename, add_exclude):
86446         Add support for the fancy new exclusion options.
86447         (add_exclude, add_exclude_file): Now takes int options arg.
86448         Check for arithmetic overflow when computing sizes.
86449         (add_exclude_file): xrealloc might modify errno, so don't
86450         realloc until after errno might be used.
86451
86452         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
86453         New macros.
86454         (free_exclude): New decl.
86455         (add_exclude, add_exclude_file): Now takes int options arg.
86456         (excluded_filename): No longer requires options arg, as the options
86457         are determined by add_exclude.  Now returns bool, not int.
86458
86459 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86460
86461         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
86462
86463 2001-08-27  Jim Meyering  <meyering@lucent.com>
86464
86465         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
86466
86467         * lib/version-etc.c (N_): Remove definition.
86468         Revert most of last change.
86469         Instead, simply don't mark the `Copyright...' string for translation.
86470         Based on advice from Paul Eggert.
86471
86472         * lib/strtoxmax.c: Tweak comment.
86473
86474 2001-08-26  Jim Meyering  <meyering@lucent.com>
86475
86476         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
86477
86478         * m4/xstrtoimax.m4: New file.
86479         * m4/xstrtoumax.m4: Add comments explaining why we
86480         AC_REPLACE_FUNCS(strtol).
86481
86482 2001-08-26  Jim Meyering  <meyering@lucent.com>
86483
86484         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
86485         of copyright with `%s' so translators don't get an untranslated
86486         message in 2002.
86487         (COPYRIGHT_YEAR): Define.
86488         (version_etc): Use fprintf rather than fputs.
86489         Suggestion from Ulrich Drepper.
86490
86491         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
86492
86493         * lib/strtoll.c: New file, from GNU libc.
86494         * lib/xstrtoimax.c: New file.
86495
86496         * lib/xstrtol.h: Add xstrtoimax.
86497         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
86498         * lib/strtoimax.c: New file.  Likewise, but first define
86499         STRTOUXMAX_SIGNED.
86500
86501         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
86502         ...
86503         * lib/strtoxmax.c: ... then renamed to this.
86504
86505 2001-08-18  Paul Eggert  <eggert@twinsun.com>
86506
86507         * m4/inttypes.m4: Add AC_PREREQ(2.13).
86508         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
86509         (jm_AC_TYPE_INTMAX_T): New macro.
86510         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
86511
86512         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
86513
86514         * m4/longlong.m4: Renamed from ulonglong.m4.
86515         * m4/inttypes.m4: Renamed from inttypes_h.m4.
86516         * m4/uintmax_t.m4: Removed.
86517
86518 2001-08-13  Paul Eggert  <eggert@twinsun.com>
86519
86520         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
86521         Port to Solaris 8, where 'sed' requires a space after the 'r'
86522         command, and where sh dislikes "$/".  Clean up the spacing a bit.
86523         Redirect output to $tmp just once.
86524
86525 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
86526
86527         * lib/addext.c (<errno.h>): Include.
86528         (errno): Declare if not defined.
86529         (addext): Work correctly when pathconf returns -1 and leaves
86530         errno alone because there is no limit.  Also, work even if
86531         pathconf returns a value greater than SIZE_MAX.
86532
86533 2001-08-12  Jim Meyering  <meyering@lucent.com>
86534
86535         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
86536         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
86537         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
86538         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
86539         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
86540         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
86541         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
86542         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
86543         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
86544         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
86545         utime.m4, utimes.m4, xstrtoumax.m4:
86546         Quote the first argument in each use of AC_DEFUN.
86547
86548 2001-08-12  Jim Meyering  <meyering@lucent.com>
86549
86550         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
86551         Simply `return getcwd (NULL, 0);'.
86552         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
86553         Use 1300 as initial value for length, not PATH_MAX.
86554
86555         * lib/pathmax.h: Clean up cpp syntax.
86556
86557 2001-08-12  Jim Meyering  <meyering@lucent.com>
86558
86559         * lib/gettimeofday.c: New file.
86560         * lib/gtod.h: New file.
86561         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
86562
86563 2001-08-05  Jim Meyering  <meyering@lucent.com>
86564
86565         * m4/jm-macros.m4: Require autoconf-2.52.
86566
86567 2001-08-04  Jim Meyering  <meyering@lucent.com>
86568
86569         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
86570         stmt, to get in sync with glibc.
86571
86572 2001-08-03  Paul Eggert  <eggert@twinsun.com>
86573
86574         The following changes are from gettext 0.10.39 as maintained by
86575         Bruno Haible.
86576
86577         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
86578         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
86579         with inverted sense.  All uses changed.
86580
86581         * lib/mbswidth.c: Don't include <limits.h>.
86582         Include <stdlib.h> and <string.h> unconditionally.
86583         (iswcntrl, mbsinit, ISCNTRL): New macros.
86584         (mbsnwidth): Use K&R style function declarations.
86585         Don't bother checking for MB_LEN_MAX == 1, since the compiler
86586         can optimize it when MB_CUR_MAX == 1.
86587         The width of control characters is zero, not 1.
86588
86589 2001-08-03  Paul Eggert  <eggert@twinsun.com>
86590
86591         The following changes are from gettext 0.10.39 as maintained by
86592         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
86593
86594         * m4/codeset.m4: Upgrade to serial AM1.
86595         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
86596         all uses changed.  Quote first arg of AC_DEFUN.
86597         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
86598
86599         * m4/iconv.m4: Upgrade to serial AM2.
86600         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
86601         Add --with-libconv-prefix.
86602         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
86603         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
86604         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
86605         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
86606         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
86607
86608         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
86609         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
86610         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
86611         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
86612         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
86613         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
86614         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
86615         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
86616         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
86617
86618         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
86619         string.h any more.
86620
86621         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
86622         not the default value.
86623
86624         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
86625         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
86626         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
86627         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
86628         Also check for iswcntrl, used for wcwidth fallback.
86629         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
86630         to Autoconf 2.13.
86631
86632 2001-08-03  Jim Meyering  <meyering@lucent.com>
86633
86634         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
86635         as it was in the original.  Reported by Paul Eggert.
86636
86637 2001-07-16  Jim Meyering  <meyering@lucent.com>
86638
86639         * m4/gettimeofday.m4: New file.
86640         Prompted by a report from Bernhard Baehr.
86641
86642 2001-07-15  Jim Meyering  <meyering@lucent.com>
86643
86644         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
86645         stuff. Now it's in ../Makefile.cfg.
86646
86647 2001-07-15  Jim Meyering  <meyering@lucent.com>
86648
86649         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
86650         (BUILT_SOURCES): Add unlocked-io.h.
86651         (io_functions): Define.
86652         (unlocked-io.h): New rule.
86653         (DISTCLEANFILES): Add unlocked-io.h.
86654         (all-local): Depend on unlocked-io.h, to ensure it is created.
86655
86656         * lib/unlocked-io.hin: New file
86657
86658         * lib/regex.c: Update from glibc.
86659
86660 2001-07-05  Jim Meyering  <meyering@lucent.com>
86661
86662         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
86663         recommendation.
86664         (libfetish_a_SOURCES): Put all .h files here instead.
86665         Remove a thus-exposed (better checks in automake) duplicate and
86666         two unnecessary .h files.
86667
86668 2001-07-04  Jim Meyering  <meyering@lucent.com>
86669
86670         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
86671         that generates jm-glibc-io.m4 so that it doesn't trigger any make
86672         distcheck failure.
86673
86674 2001-07-02  Jim Meyering  <meyering@lucent.com>
86675
86676         The following changes were prompted by suggestions from Bruno Haible.
86677
86678         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
86679         is now generated.
86680         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
86681         definition of EXTRA_DIST.
86682         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
86683         ensure that the generated file is created/updated whenever the list
86684         of $(unlocked_functions) is changed.
86685         (jm-glibc-io.m4): New rule.
86686         (unlocked-io.h): New rule -- currently unused.
86687
86688 2001-06-24  Jim Meyering  <meyering@lucent.com>
86689
86690         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
86691         unmatched right bracket, rather than kludging it with an extra,
86692         falsely-matching quote in a comment.  Patch by Akim Demaille.
86693
86694 2001-06-11  Jim Meyering  <meyering@lucent.com>
86695
86696         * lib/regex.c: Update from GNU libc.
86697
86698 2001-05-27  Jim Meyering  <meyering@lucent.com>
86699
86700         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
86701         Check for ut_type in struct utmp.
86702
86703 2001-05-27  Jim Meyering  <meyering@lucent.com>
86704
86705         * lib/readutmp.h (UT_TYPE): Define.
86706
86707 2001-05-24  Jim Meyering  <meyering@lucent.com>
86708
86709         * lib/argmatch.c: Include "quote.h".
86710         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
86711         quote function.  Reported by Göran Uddeborg.
86712
86713 2001-05-22  Jim Meyering  <meyering@lucent.com>
86714
86715         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
86716         now that we use the package-supplied version unconditionally.
86717         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
86718
86719 2001-05-21  Jim Meyering  <meyering@lucent.com>
86720
86721         * m4/regex.m4: Change a couple backticks to single quotes to avoid
86722         shell syntax errors.
86723
86724 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
86725
86726         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
86727
86728 2001-05-20  Paul Eggert  <eggert@twinsun.com>
86729
86730         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
86731         Don't bother to check library strftime, since
86732         we'll be using our own my_strftime function anyway.
86733         Define my_strftime instead of strftime.
86734
86735 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
86736
86737         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
86738         which is not yet declared.
86739
86740 2001-05-15  Jim Meyering  <meyering@lucent.com>
86741
86742         * m4/regex.m4: Use proper quoting so brackets appear in the test
86743         program.
86744         Reported by, and with help from, Bruno Haible.
86745
86746 2001-05-13  Jim Meyering  <meyering@lucent.com>
86747
86748         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
86749         undefined.
86750
86751 2001-05-11  Paul Eggert  <eggert@twinsun.com>
86752
86753         dirname code cleanup.  base_name now behaves more compatibly
86754         with POSIX basename when given file names that have trailing
86755         slashes, and similarly for dir_name.  Add new primitives
86756         base_len and dir_len.  Put the directory-name-related decls
86757         into dirname.h.
86758
86759         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
86760         * lib/backupfile.c (base_name): Likewise.
86761         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
86762         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
86763         * lib/makepath.c (strip_trailing_slashes): Likewise.
86764         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
86765         ISSLASH): Likewise.
86766         * lib/rename.c (strip_trailing_slashes): Likewise.
86767         * lib/same.c (base_name): Likewise.
86768         * lib/stripslash.c (ISSLASH): Likewise.
86769
86770         * lib/addext.c: Include <dirname.h> after size_t is defined.
86771         * lib/backupfile.c: Likewise.
86772
86773         * lib/addext.c (addext): Use base_len to trim redundant
86774         trailing slashes instead of doing it ourselves.
86775         But do not trim the last slash if it is not redundant.
86776
86777         * lib/backupfile.c (find_backup_file_name,
86778         max_backup_version): Use base_len instead of rolling it ourselves.
86779         Handle the case of "" and (on DOS) "C:" correctly.
86780
86781         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
86782         needed. Include <string.h>, <dirname.h>.
86783         (base_name): Allow file names ending in slashes, other than names
86784         that are all slashes.  In this case, return the basename followed
86785         by the slashes.  This is more general, and can be used in places
86786         where the original base_name purposely had an assertion failure.
86787         (base_len): New function.
86788
86789         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
86790         Do not include <assert.h>; no longer needed.
86791         Include xalloc.h.
86792         (memrchr): Remove decl.
86793         (dir_name_r): Remove.
86794         (dir_len): Renamed from dirlen.  All callers changed.
86795         Rewrite in terms of base_name, for simplicity and consistency.
86796         (dir_name): Never return NULL.  All callers changed.
86797         Do not include <stdlib.h> in test program; no longer needed.
86798         return 0; is fine for test program.
86799
86800         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
86801         New macros.
86802         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
86803
86804         * lib/path-concat.c (path_concat): Use base_len to compute
86805         base length, not strlen; this means we cannot rely on memcpy
86806         to null-terminate.
86807
86808         * lib/same.c (STREQ): Remove.
86809         (same_name): Handle the case where the basename ends in trailing '/'.
86810
86811         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
86812         a slash was stripped.  Do not strip the last slash after a
86813         file system prefix.
86814
86815 2001-05-11  Paul Eggert  <eggert@twinsun.com>
86816
86817         * lib/Makefile.am (libfetish_a_SOURCES):
86818         Add strftime.c, since we now compile it on all hosts.
86819
86820         * lib/strftime.c (my_strftime):
86821         Define to nstrftime if emacs, but only if my_strftime is not defined.
86822         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
86823         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
86824         Add one more extra argument: a nanoseconds value.
86825         All uses changed.
86826         (ns): New macro.
86827         (my_strftime function): Add %N format.
86828         (emacs_strftimeu): Renamed from emacs_strftime,
86829         with extra ut argument.
86830
86831 2001-05-09  Paul Eggert  <eggert@twinsun.com>
86832
86833         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
86834
86835 2001-04-21  Jim Meyering  <meyering@lucent.com>
86836
86837         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
86838         doesn't interfere.
86839
86840 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
86841
86842         * m4/ftruncate.m4: Check for chsize.
86843         Link with ftruncate.o unconditionally if ftruncate is missing.
86844         This was required when cross-compiling to i586-mingw32msvc.
86845
86846 2001-04-08  Jim Meyering  <meyering@lucent.com>
86847
86848         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
86849         recomputed; that's necessary when the offset spans a DST transition.
86850         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
86851
86852 2001-04-02  Jim Meyering  <meyering@lucent.com>
86853
86854         * lib/regex.h, regex.c: Update from GNU libc.
86855
86856 2001-03-24  Jim Meyering  <meyering@lucent.com>
86857
86858         * m4/jm-macros.m4: Require autoconf-2.49d.
86859
86860 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
86861
86862         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
86863
86864 2001-03-19  Paul Eggert  <eggert@twinsun.com>
86865
86866         * lib/version-etc.c (version_etc_copyright): Update to 2001.
86867
86868 2001-03-17  Jim Meyering  <meyering@lucent.com>
86869
86870         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
86871         now that the version in autoconf is equivalent.
86872         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
86873
86874         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
86875         Suggestion from Akim Demaille.
86876
86877         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
86878         (jm_PREREQ_TEMPNAME): New function.
86879
86880 2001-03-16  Paul Eggert  <eggert@twinsun.com>
86881
86882         * lib/tempname.c (uint64_t): Define to uintmax_t if
86883         not defined, and if UINT64_MAX is not defined.
86884         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
86885         Reported by John David Anglin.
86886
86887 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
86888
86889         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
86890         resolve alias if codeset is empty.
86891         * lib/config.charset (BeOS): Use wildcard syntax.
86892
86893 2001-03-13  Jim Meyering  <meyering@lucent.com>
86894
86895         * lib/path-concat.c (path_concat)
86896         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
86897         concatenating e.g., `C:' and `foo'.
86898         From Bruno Haible.
86899
86900 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
86901
86902         * lib/localcharset.c (locale_charset): Don't use
86903         setlocale(LC_CTYPE,NULL). Don't return NULL.
86904         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
86905
86906 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
86907
86908         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
86909         support for DOS/DJGPP.
86910
86911 2001-03-01  Paul Eggert  <eggert@twinsun.com>
86912
86913         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
86914         lacks mkstemp.  Compile our own tempname.c if we compile our own
86915         mkstemp.c, as mkstemp relies on tempname.
86916
86917 2001-03-01  Jim Meyering  <meyering@lucent.com>
86918
86919         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
86920         AH_VERBATIM really does output its argument verbatim.
86921
86922 2001-02-28  Paul Eggert  <eggert@twinsun.com>
86923
86924         * lib/Makefile.am (libfetish_a_SOURCES):
86925         Add dup-safer.c, fopen-safer.c.
86926         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
86927
86928         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
86929         * lib/unistd-safer.h: New files.
86930
86931 2001-02-25  Paul Eggert  <eggert@twinsun.com>
86932
86933         The mkstemp replacement is taken from glibc 2.2.2, with some
86934         portability fixes for use outside glibc, as follows:
86935
86936         * lib/tempname.c (struct_stat64): New macro.
86937         (direxists, __gen_tempname): Use it.
86938         This avoids a portability problem with Solaris 8.
86939
86940         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
86941         (<stddef.h>, <stdint.h>, <string.h>):
86942         Include only if STDC_HEADERS || _LIBC.
86943         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
86944         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
86945         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
86946         (__set_errno): Define this macro if <errno.h> doesn't.
86947         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
86948         Define these macros if <stdio.h> doesn't.
86949         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
86950         Define these macros if <sys/stat.h>
86951         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
86952         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
86953         __xstat64): Define if not _LIBC.
86954         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
86955         (__gen_tempname): Invoke gettimeofday only if
86956         HAVE_GETTIMEOFDAY || _LIBC;
86957         otherwise, fall back on plain "time".
86958         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
86959
86960         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
86961
86962         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
86963
86964 2001-02-18  Paul Eggert  <eggert@twinsun.com>
86965
86966         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
86967
86968 2001-02-17  Paul Eggert  <eggert@twinsun.com>
86969
86970         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
86971         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
86972         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
86973         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
86974
86975 2001-02-17  Paul Eggert  <eggert@twinsun.com>
86976
86977         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
86978         Remove workaround macros for hosts that have mbrtowc but not
86979         mbstate_t, as we now insist on proper declarations for both
86980         before using mbrtowc.
86981
86982 2001-02-17  Jim Meyering  <meyering@lucent.com>
86983
86984         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
86985         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
86986         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
86987         UnixWare 7.1.1.
86988
86989         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
86990         rather than AC_CACHE_VAL.
86991
86992 2001-02-17  Jim Meyering  <meyering@lucent.com>
86993
86994         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
86995         around included file name.
86996
86997         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
86998
86999         * lib/strftime.c: Update from GNU libc (the only changes were to
87000         comments).
87001
87002 2001-02-17  Jim Meyering  <meyering@lucent.com>
87003
87004         * lib/regex.c: Update from libc.
87005
87006 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
87007
87008         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
87009         clash.
87010
87011 2001-02-16  Paul Eggert  <eggert@twinsun.com>
87012
87013         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
87014         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
87015         Reported by Mark Hounschell via Paul Eggert.
87016
87017 2001-02-07  Jim Meyering  <meyering@lucent.com>
87018
87019         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
87020
87021 2001-02-05  Jim Meyering  <meyering@lucent.com>
87022
87023         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
87024         it includes the patch required for `large file' support with at least
87025         HP-UX's 10.20 /bin/cc.
87026
87027 2001-02-03  Jim Meyering  <meyering@lucent.com>
87028
87029         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
87030         AS_IF, now that it works once again (mysteriously).
87031         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
87032
87033 2001-01-30  Jim Meyering  <meyering@lucent.com>
87034
87035         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
87036         * m4/chown.m4: Rename conftestchown to conftest.chown.
87037         * m4/rename.m4: s/conftestdir/conftest.d1/ and
87038         s/conftestdir2/conftest.d2/.
87039         * m4/utimes.m4: s/conftestdata/conftest.data/
87040         Inspired by Pavel Roskin's change in autoconf.
87041
87042 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
87043
87044         * lib/config.charset: Update for FreeBSD 4.2.
87045
87046 2001-01-27  Jim Meyering  <meyering@lucent.com>
87047
87048         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
87049         a use of AS_IF.
87050         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
87051
87052 2001-01-26  Jim Meyering  <meyering@lucent.com>
87053
87054         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
87055         quotearg.c includes it.
87056
87057 2001-01-26  Jim Meyering  <meyering@lucent.com>
87058
87059         * lib/quotearg.c: Include stddef.h.
87060         * lib/quote.c: Include stddef.h.
87061         Reported by Axel Kittenberger.
87062
87063         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
87064         line in double quotes so that it evokes a better diagnostic.
87065         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
87066         Reported by Axel Kittenberger.
87067
87068 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
87069
87070         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
87071         as if it was a `charset'.
87072
87073 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
87074
87075         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
87076         has const.
87077
87078 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
87079
87080         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
87081         to avoid a warning.  Add back 'const' to inptr.
87082
87083 2001-01-20  Jim Meyering  <meyering@lucent.com>
87084
87085         Be sure that headers are checked before used in code compiled
87086         for the type checks.
87087         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
87088         In place of that, invoke jm_CHECK_ALL_TYPES.
87089         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
87090         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
87091         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
87092         The check for ssize_t was mistakenly run before the test for unistd.h.
87093
87094         The configure-time check for stdbool.h was missing.
87095         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
87096         (jm_PREREQ_HASH): New function.
87097
87098 2001-01-17  Jim Meyering  <meyering@lucent.com>
87099
87100         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
87101         for autoconf-2.49c.
87102         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
87103
87104 2001-01-16  Jim Meyering  <meyering@lucent.com>
87105
87106         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
87107         From Bruno Haible.
87108
87109 2001-01-14  Jim Meyering  <meyering@lucent.com>
87110
87111         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
87112         foo and bar.  Create conftestdir/ in the script, not in the C code.
87113         Remove directories in the script, not in the C code.
87114         Remove conftestdir{,2} before trying to create the directory.
87115         Make the entire configure script fail if the mkdir fails.
87116
87117 2001-01-14  Jim Meyering  <meyering@lucent.com>
87118
87119         * lib/rename.c: New file.  From Volker Borchert.
87120         Include stdlib.h, string.h or strings.h, and xalloc.h.
87121         Use strip_trailing_slashes rather than open-coding it.
87122
87123 2001-01-03  Paul Eggert  <eggert@twinsun.com>
87124
87125         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
87126
87127 2001-01-03  Jim Meyering  <meyering@lucent.com>
87128
87129         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
87130         of local `inptr' to avoid warning with some system declarations of
87131         iconv.
87132
87133 2001-01-02  Volker Borchert  <bt@teknon.de>
87134
87135         * m4/rename.m4: New file.
87136         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
87137
87138 2001-01-01  Jim Meyering  <meyering@lucent.com>
87139
87140         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
87141         even on systems with utmpx.h.  It's necessary for the declaration of
87142         utmp's ut_user member.  Reported by Andreas Jaeger.
87143
87144         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
87145         available. They are required for the declarations of getgrgid and
87146         getpwuid resp.
87147         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
87148         Reported by Andreas Jaeger.
87149
87150 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
87151
87152         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
87153         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
87154         so `make install' also works in VPATH builds.
87155
87156 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
87157
87158         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
87159         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
87160         can be used in subdirectories.
87161
87162 2000-12-29  Paul Eggert  <eggert@twinsun.com>
87163
87164         * lib/modechange.c: Do not assume that mode_t uses the
87165         traditional octal encoding.  E.g. "chmod 1 FOO" should set
87166         the other-execute bit of FOO even if S_IXOTH != 1.
87167
87168         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
87169         WOTH, XOTH, ALLM): New macros.
87170         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
87171          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
87172         Use them.
87173         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
87174         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
87175         (mode_compile):
87176         No need to use uintmax_t; unsigned long is long enough.
87177         Don't bother to get suffix since we don't use it.
87178
87179 2000-12-26  Jim Meyering  <meyering@lucent.com>
87180
87181         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
87182         better with autoheader.
87183
87184 2000-12-24  Jim Meyering  <meyering@lucent.com>
87185
87186         * lib/hash.c (is_prime): Return explicit boolean values.
87187         (hash_get_first): Return NULL to appease Irix5.6's 89.
87188         Reported by Nelson Beebe.
87189
87190 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
87191
87192         * lib/localcharset.c (locale_charset): Add support for Win32.
87193
87194 2000-12-18  Paul Eggert  <eggert@twinsun.com>
87195
87196         * lib/physmem.h, lib/physmem.c: New files.
87197
87198         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
87199         (noinst_HEADERS): Add physmem.h.
87200
87201         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
87202         't' for compatibility with Solaris 8 sort.
87203
87204 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
87205
87206         * lib/config.charset: Add support for BeOS.
87207
87208 2000-12-17  Jim Meyering  <meyering@lucent.com>
87209
87210         * m4/dos.m4 (jm_AC_DOS): New file and macro.
87211         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
87212
87213 2000-12-16  Jim Meyering  <meyering@lucent.com>
87214
87215         This bug had a serious impact on chown: `chown N:M FILE' (for integer
87216         N and M) would have treated it like `chown N:N FILE'.
87217
87218         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
87219
87220 2000-12-16  Jim Meyering  <meyering@lucent.com>
87221
87222         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
87223         SHELLS_FILE to a file name that's useful on djgpp systems.
87224         Include stdlib.h.
87225         (ADDITIONAL_DEFAULT_SHELLS): Define.
87226         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
87227         Based mostly on a patch from Prashant TR.
87228
87229 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
87230
87231         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
87232         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
87233         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
87234
87235 2000-12-08  Andreas Schwab  <schwab@suse.de>
87236
87237         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
87238         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
87239
87240 2000-12-07  Jim Meyering  <meyering@lucent.com>
87241
87242         * lib/stripslash.c (ISSLASH): Define.
87243         (strip_trailing_slashes): Use ISSLASH rather than comparing against
87244         `/'.
87245         From Prashant TR.
87246
87247         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
87248         (dir_name_r): Declare this function as static.
87249         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
87250         manifest itself on a name containing a mix of slashes and
87251         backslashes.
87252         Make this function work with names starting with a DOS-style
87253         drive letter and colon prefix.
87254         (dir_name): Append `.' if necessary.
87255         Based mostly on patches from Prashant TR and Eli Zaretskii.
87256
87257         * lib/dirname.h (dir_name_r): Remove prototype.
87258
87259 2000-12-06  Paul Eggert  <eggert@twinsun.com>
87260
87261         * m4/off_t-format.m4: Remove this file.
87262         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
87263
87264 2000-12-06  Jim Meyering  <meyering@lucent.com>
87265
87266         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
87267         replacement strtoull, we may well need the replacement strtoul, too.
87268         Check for declarations of strtoul and strtoull.
87269         Check for strtol.  Mainly as a cue to cause automake to include
87270         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
87271         Check for limits.h -- strtol.c needs it.
87272
87273 2000-12-05  Jim Meyering  <meyering@lucent.com>
87274
87275         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
87276
87277 2000-12-04  Jim Meyering  <meyering@lucent.com>
87278
87279         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
87280         Also include memory.h, stdlib.h, unistd.h if appropriate.
87281         Reported by Andreas Jaeger (conflicting declaration of malloc).
87282
87283 2000-12-02  Jim Meyering  <meyering@lucent.com>
87284
87285         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
87286         * m4/jm-macros.m4 (jm_MACROS): require it.
87287
87288 2000-12-02  Jim Meyering  <meyering@lucent.com>
87289
87290         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
87291
87292 2000-12-01  Paul Eggert  <eggert@twinsun.com>
87293
87294         * lib/memrchr.c: Include <config.h> before any system include file.
87295
87296 2000-11-30  Jim Meyering  <meyering@lucent.com>
87297
87298         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
87299
87300 2000-11-30  Jim Meyering  <meyering@lucent.com>
87301
87302         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
87303
87304 2000-11-29  Paul Eggert  <eggert@twinsun.com>
87305
87306         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
87307
87308 2000-11-26  Jim Meyering  <meyering@lucent.com>
87309
87310         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
87311
87312 2000-11-22  Paul Eggert  <eggert@twinsun.com>
87313
87314         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
87315         size of (size_t) -1; it's not portable.
87316
87317 2000-11-17  Jim Meyering  <meyering@lucent.com>
87318
87319         * lib/strstr.c: Update from GNU libc.
87320
87321 2000-11-17  Akim Demaille  <akim@epita.fr>
87322
87323         * lib/obstack.h: Formatting changes.
87324         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
87325         prevent type checking.
87326         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
87327         cast the value to (void *): assigning a `foo *' to a `void *'
87328         variable is valid.
87329         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
87330
87331 2000-11-16  Jim Meyering  <meyering@lucent.com>
87332
87333         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
87334
87335 2000-11-11  Jim Meyering  <meyering@lucent.com>
87336
87337         * lib/error.c: Add a couple #includes, merging from GNU libc version.
87338
87339 2000-11-10  Jim Meyering  <meyering@lucent.com>
87340
87341         * lib/obstack.h: Update from GNU libc.
87342         * lib/obstack.c: Likewise.
87343
87344 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
87345
87346         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
87347
87348 2000-11-06  Paul Eggert  <eggert@twinsun.com>
87349
87350         * lib/getusershell.c (setusershell): Use rewind rather than
87351         fseek/fseeko, to avoid configuration hassles with fseeko.
87352         Don't bother opening SHELLS_FILE if shellstream is NULL;
87353         it's not necessary.
87354
87355 2000-11-05  Jim Meyering  <meyering@lucent.com>
87356
87357         * lib/makepath.h (make_dir): Declare.
87358         * lib/makepath.c (make_dir): Remove `static' attribute.
87359         Tweak a comment.
87360
87361 2000-11-04  Jim Meyering  <meyering@lucent.com>
87362
87363         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
87364
87365 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
87366
87367         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
87368         last one in a bucket, advance to the next bucket.
87369
87370 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
87371
87372         * lib/fnmatch.c: Do not comment out all the code if we are using
87373         the GNU C library, because in some cases we are replacing buggy
87374         code in the GNU C library itself.
87375
87376 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
87377
87378         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
87379         (regex_compile): Catch bogus \(\1\).
87380
87381 2000-10-30  Paul Eggert  <eggert@twinsun.com>
87382
87383         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
87384         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
87385         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
87386
87387 2000-10-30  Paul Eggert  <eggert@twinsun.com>
87388
87389         * lib/error.h, getline.h, modechange.h:
87390         Remove "2000" from Copyright line, as the file hasn't been
87391         changed this year other than in the copyright notice.
87392
87393         * lib/xalloc.h: Add "2000" to Copyright line, as this file
87394         was changed this year.
87395
87396 2000-10-29  Jim Meyering  <meyering@lucent.com>
87397
87398         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
87399         renaming.
87400         * m4/ls-mntd-fs.m4: Likewise
87401
87402 2000-10-29  Jim Meyering  <meyering@lucent.com>
87403
87404         * lib/xstat.in: Fix grammar in comment.
87405
87406 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
87407
87408         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
87409         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
87410         doesn't define __restrict_arr.
87411
87412 2000-10-28  Jim Meyering  <meyering@lucent.com>
87413
87414         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
87415         (jm_PREREQ_MEMCHR): New function.
87416
87417 2000-10-28  Jim Meyering  <meyering@lucent.com>
87418
87419         * lib/memchr.c: Update from libc.
87420         Adjust for portability:
87421         [HAVE_STDLIB_H]: Include stdlib.h.
87422         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
87423         Undef __memchr, too.
87424         [!weak_alias]: Define __memchr to memchr.
87425
87426         * lib/regex.c: Update from libc.
87427         * lib/regex.h: Likewise.
87428         * lib/getopt1.c: Likewise.
87429         * lib/memcmp.c: Likewise.
87430
87431         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
87432         Avoid using fseek, when possible -- it's broken by design.
87433         Patch by Ulrich Drepper.
87434
87435 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
87436
87437         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
87438         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
87439         Giving in to popular pressure to shut up the compiler with casts.
87440
87441 2000-10-26  Jim Meyering  <meyering@lucent.com>
87442
87443         * lib/strftime.c: Update from libc.
87444
87445 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
87446
87447         * regex.c: More `unsigned char' -> `re_char' changes.
87448         Also change several `int' into `re_wchar_t'.
87449         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
87450         (PUSH_FAILURE_POINTER): Don't cast any more.
87451         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
87452         We want GCC to complain, since this piece of code makes
87453         re_match non-reentrant, which *should* be fixed.
87454         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
87455         (EXTEND_BUFFER): Use RETALLOC.
87456         (SET_LIST_BIT): Don't cast.
87457         (re_wchar_t): New type.
87458         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
87459         that those two functions will always properly return.
87460         (IMMEDIATE_QUIT_CHECK): Cast to void.
87461         (analyse_first): Use recursion rather than an explicit stack.
87462         (re_compile_fastmap): Can't fail anymore.
87463         (re_search_2): Don't check re_compile_fastmap for failure.
87464         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
87465         Now also sets the new value (passed in a new argument).
87466         (re_match_2_internal): Use it.
87467         Also, use a new var `reg' of type size_t when looping through regs
87468         rather than reuse the inappropriate `mcnt'.
87469
87470 2000-10-25  Jim Meyering  <meyering@lucent.com>
87471
87472         * lib/obstack.c: Update from libc.
87473
87474 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
87475
87476         * regex.c (regex_compile): Change the way of handling a range from
87477         a char less than 256 to a char not less than 256.
87478
87479 2000-10-24  Andrew Innes  <andrewi@gnu.org>
87480
87481         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
87482         NT-Emacs only.
87483         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
87484         so that re_search functions only quit when callers expect them to.
87485
87486 2000-10-23  Jim Meyering  <meyering@lucent.com>
87487
87488         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
87489         wrong.  That set_locale call must not have any side effects.
87490         From Paul Eggert.
87491
87492 2000-10-22  Jim Meyering  <meyering@lucent.com>
87493
87494         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
87495         [CYCLIC]: Remove now-unused definition.
87496
87497         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
87498         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
87499         Suggestion from Ulrich Drepper.
87500
87501 2000-10-21  Jim Meyering  <meyering@lucent.com>
87502
87503         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
87504         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
87505         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
87506
87507 2000-10-21  Jim Meyering  <meyering@lucent.com>
87508
87509         * lib/dirname.c (memrchr): Declare if necessary.
87510         (dir_name): Remove the restriction that there be no
87511         trailing slashes.  Now, this code skips past them, effectively
87512         ignoring them.
87513         [TEST_DIRNAME] (main): New unit tests.
87514
87515         * lib/memrchr.c: New file from GNU libc.
87516         Undef __memrchr, too.
87517         [!weak_alias]: Define __memrchr to memrchr.
87518         Guard weak_alias use with `#ifdef weak_alias'.
87519
87520 2000-10-21  Jim Meyering  <meyering@lucent.com>
87521
87522         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
87523         (dir_name): Use dir_name_r.
87524         * lib/dirname.h (dir_name_r): Declare it.
87525
87526 2000-10-17  Jim Meyering  <meyering@lucent.com>
87527
87528         * lib/quote.h (PARAMS): Define and use.
87529         Reported by Akim Demaille.
87530
87531         * lib/getopt.c: Update from libc.
87532
87533 2000-10-16  Jim Meyering  <meyering@lucent.com>
87534
87535         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
87536         setlocale.
87537         From Jan Fedak.
87538
87539 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
87540
87541         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
87542
87543 2000-09-25  Jim Meyering  <meyering@lucent.com>
87544
87545         * lib/md5.h (rol): Define (from GnuPG).
87546
87547         * lib/sha.c: Give credit (GnuPG) where due.
87548         (M): Use rol rather than open-coding it.
87549         Add a FIXME comment.
87550
87551 2000-09-21  Jim Meyering  <meyering@lucent.com>
87552
87553         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
87554         Reported by Michael Stone.
87555
87556 2000-09-20  Jim Meyering  <meyering@lucent.com>
87557
87558         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
87559         (noinst_HEADERS): Add sha.h.
87560         Based on code from Scott G. Miller and from GnuPG.
87561
87562 2000-09-18  Jim Meyering  <meyering@lucent.com>
87563
87564         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
87565         LIBS. Otherwise, everyone ends up linking with -lelf for some
87566         configurations.
87567         Reported by Mike Stone.
87568
87569 2000-09-15  Jim Meyering  <meyering@lucent.com>
87570
87571         * lib/regex.c: Update from libc.
87572
87573 2000-09-10  Jim Meyering  <meyering@lucent.com>
87574
87575         * lib/getopt.c (_getopt_internal): Update from glibc.
87576
87577 2000-09-09  Jim Meyering  <meyering@lucent.com>
87578
87579         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
87580         think it should be used as a general replacement for isascii.
87581         * lib/fnmatch.c: Likewise.
87582         * lib/mbswidth.c: Likewise
87583         * lib/regex.c: Likewise.
87584
87585         Don't use atoi.
87586         * lib/userspec.c: Include sys/param.h and limits.h.
87587         Include xstrtol.h.
87588         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
87589         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
87590         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
87591         UID, GID.  Check range.
87592
87593 2000-09-06  Jim Meyering  <meyering@lucent.com>
87594
87595         * lib/getopt.c (_getopt_internal): Update from glibc.
87596
87597 2000-08-30  Jim Meyering  <meyering@lucent.com>
87598
87599         * lib/strftime.c: Merge in changes from GNU libc.
87600
87601 2000-08-26  Jim Meyering  <meyering@lucent.com>
87602
87603         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
87604         * m4/fpending.m4: New file.
87605
87606 2000-08-26  Jim Meyering  <meyering@lucent.com>
87607
87608         * lib/closeout.c: Include "__fpending.h".
87609         (close_stdout_status): Return right away if there's nothing to flush.
87610
87611         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
87612         * lib/__fpending.c: New file.
87613         * lib/__fpending.h: New file.
87614
87615 2000-08-20  Jim Meyering  <meyering@lucent.com>
87616
87617         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
87618         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
87619         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
87620
87621 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
87622
87623         Improve fileutils installation on systems where running
87624         programs (like install) can't be unlinked.
87625         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
87626         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
87627
87628 2000-08-07  Paul Eggert  <eggert@twinsun.com>
87629
87630         Standardize on "memory exhausted" instead of "Memory exhausted"
87631         or "virtual memory exhausted".
87632         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
87633         "virtual memory exhausted".
87634         * lib/same.c (same_name): Invoke xalloc_die instead of printing
87635         our own message.
87636         * lib/userspec.c (parse_user_spec): Likewise.
87637         * lib/bumpalloc.h: comment fix
87638         * lib/same.c, userspec.c: Include xalloc.h.
87639
87640         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
87641         not char *const and pointing to a constant array.
87642         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
87643         (xrealloc): Comment fix.
87644
87645         * lib/userspec.c (parse_user_spec):
87646         Don't translate a message until just before returning,
87647         to avoid unnecessary translation.
87648
87649 2000-08-07  Jim Meyering  <meyering@lucent.com>
87650
87651         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
87652         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
87653         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
87654         getgroups.c, gethostname.c, getopt.h, group-member.c,
87655         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
87656         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
87657         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
87658         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
87659         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
87660         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
87661         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
87662         yesno.c: Back out Copyright date changes for each file with no change
87663         this year.  This eases coordination with other programs using the same
87664         source code modules.  From Paul Eggert.
87665
87666 2000-08-06  Paul Eggert  <eggert@twinsun.com>
87667
87668         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
87669         not char, for compatibility with glibc 2.1.3 strftime.c.
87670
87671 2000-08-03  Greg McGary  <greg@mcgary.org>
87672
87673         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
87674         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
87675         (EXTEND_BUFFER): Use them.
87676
87677 2000-08-01  Jim Meyering  <meyering@lucent.com>
87678
87679         * lib/dirname.c (ISSLASH): Define.
87680         (BACKSLASH_IS_PATH_SEPARATOR): Define.
87681         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
87682         both `\' and `/' may be use as path separators.
87683         Based on a patch from Prashant TR.
87684
87685 2000-07-31  Paul Eggert  <eggert@twinsun.com>
87686
87687         * lib/quotearg.c (quotearg_n_options): Don't make the initial
87688         slot vector a constant, since it might get modified.
87689
87690 2000-07-31  Jim Meyering  <meyering@lucent.com>
87691
87692         * lib/xmalloc.c: Use `virtual memory exhausted', not
87693         `Memory exhausted'.
87694         * lib/obstack.c (print_and_abort): Likewise.
87695
87696 2000-07-30  Paul Eggert  <eggert@twinsun.com>
87697
87698         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
87699         buffer, so that the caller can always quote one small
87700         component of a "memory exhausted" message in slot 0.
87701         From a suggestion by Jim Meyering.
87702
87703 2000-07-30  Jim Meyering  <meyering@lucent.com>
87704
87705         * lib/makepath.c (make_path): Quote the other instance, too.
87706
87707         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
87708         (STATIC_BUF_SIZE): Define.
87709         (quotearg_n_options): Use only statically allocated storage when
87710         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
87711         than STATIC_BUF_SIZE.
87712
87713 2000-07-29  Jim Meyering  <meyering@lucent.com>
87714
87715         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
87716         * lib/dirname.c (dir_name): Likewise.
87717
87718         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
87719         `/'.
87720
87721         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
87722         (dir_name): Assert that there are no trailing slashes.
87723
87724 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
87725
87726         * lib/mbswidth.h (mbswidth): Add a flags argument.
87727         (mbswidth): New declaration.
87728         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
87729         * lib/mbswidth.c (mbswidth): Add a flags argument.
87730         (mbsnwidth): New function.
87731
87732 2000-07-24  Jim Meyering  <meyering@lucent.com>
87733
87734         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
87735
87736 2000-07-23  Paul Eggert  <eggert@twinsun.com>
87737
87738         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
87739
87740 2000-07-23  Paul Eggert  <eggert@twinsun.com>
87741
87742         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
87743         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
87744         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
87745         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
87746         invoke multibyte primitives.
87747
87748 2000-07-23  Paul Eggert  <eggert@twinsun.com>
87749
87750         * lib/quotearg.c:
87751         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
87752         so that mbstate_t is always defined.
87753
87754         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
87755         be 1 in at least one GCC installation, and this configuration
87756         error is likely to be common.  Ignoring MB_LEN_MAX hurts
87757         performance on hosts that have mbrtowc but have only unibyte
87758         locales, but I assume these hosts are rare.
87759
87760 2000-07-23  Paul Eggert  <eggert@twinsun.com>
87761
87762         * lib/mbswidth.c (_XOPEN_SOURCE):
87763         Don't define; this causes problems on Solaris 7.
87764         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
87765
87766 2000-07-23  Jim Meyering  <meyering@lucent.com>
87767
87768         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
87769         too: getgrgid, getpwuid, getuid.
87770
87771 2000-07-23  Jim Meyering  <meyering@lucent.com>
87772
87773         * lib/basename.c (base_name): Add an assertion.
87774
87775 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
87776
87777         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
87778         shadow its mbsinit function.
87779
87780 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
87781
87782         * lib/mbswidth.h: New file.
87783         * lib/mbswidth.c: New file.
87784         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
87785         (noinst_HEADERS): Add mbswidth.h.
87786
87787 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
87788
87789         * lib/config.charset: Add support for FreeBSD. Improve support for
87790         HP-UX and IRIX 6.
87791
87792 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
87793
87794         * m4/mbswidth.m4: New file.
87795         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
87796
87797 2000-07-15  Jim Meyering  <meyering@lucent.com>
87798
87799         * lib/makepath.c: Include quote.h.
87800         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
87801         corresponding argument in a `quote (...)' call.
87802         Give better diagnostics.
87803
87804         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
87805         (noinst_HEADERS): Add quote.h.
87806
87807         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
87808         from tar's src/misc.c.
87809         * lib/quote.h: New file.  Prototypes for same.
87810
87811 2000-07-14  Paul Eggert  <eggert@twinsun.com>
87812
87813         From a suggestion by Bruno Haible.
87814         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
87815         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
87816         to decide whether to define the BeOS workaround macro;
87817         this adjusts to the change to AC_MBSTATE_T.
87818
87819 2000-07-14  Jim Meyering  <meyering@lucent.com>
87820
87821         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
87822         jm_AC_TYPE_UINTMAX_T.
87823
87824 2000-07-13  Paul Eggert  <eggert@twinsun.com>
87825
87826         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
87827
87828         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
87829         quotearg_buffer_restyled): Add support for
87830         clocale_quoting_style.  Undo previous change to
87831         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
87832         and "{RIGHT QUOTATION MARK}" msgids.
87833
87834 2000-07-10  Paul Eggert  <eggert@twinsun.com>
87835
87836         From a suggestion by Bruno Haible.
87837         * m4/mbstate_t.m4 (AC_MBSTATE_T):
87838         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
87839         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
87840         and mbstate_t, to a single-part test that simply defines mbstate_t.
87841         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
87842         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
87843
87844 2000-07-10  Jim Meyering  <meyering@lucent.com>
87845
87846         * m4/strerror_r.m4: Mirror the correction made in autoconf.
87847
87848         * m4/gnu-source.m4: Output to confdefs.h directly.
87849         Suggestion from Akim Demaille.
87850
87851 2000-07-09  Paul Eggert  <eggert@twinsun.com>
87852
87853         The old behavior of quoting `like this' doesn't look good with
87854         newer, ISO-style fonts.  See:
87855         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
87856
87857         Instead, quote "like this" by default.  Let the translator
87858         tailor the locale-specific quoting behavior by providing
87859         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
87860
87861         * lib/quotearg.c (N_): New macro.
87862         (gettext_default): New function.
87863         (quotearg_buffer_restyled): Use
87864         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
87865         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
87866
87867 2000-07-09  Jim Meyering  <meyering@lucent.com>
87868
87869         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
87870         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
87871
87872         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
87873         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
87874
87875 2000-07-09  Jim Meyering  <meyering@lucent.com>
87876
87877         * lib/Most files: Update copyright dates to include 2000.
87878
87879 2000-07-08  Jim Meyering  <meyering@lucent.com>
87880
87881         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
87882         if not defined.
87883         (xgethostname): Remove now-unnecessary #ifdef.
87884         Move declaration of `err' into loop where it's used.
87885
87886 2000-07-05  Paul Eggert  <eggert@twinsun.com>
87887         and Bruno Haible  <haible@clisp.cons.org>
87888
87889         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
87890         only if the test for an object-type mbstate_t fails.  This
87891         prevents us from mistakenly reporting that mbstate_t is a
87892         system object type after we "#define mbstate_t int" to work
87893         around its lack.
87894
87895 2000-07-05  Paul Eggert  <eggert@twinsun.com>
87896         and Bruno Haible  <haible@clisp.cons.org>
87897
87898         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
87899
87900 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
87901
87902         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
87903         to strerror_r.
87904         Include <ctype.h> for use of isalpha.
87905
87906 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
87907
87908         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
87909         by allocating a larger buffer. Test the gethostname return value for
87910         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
87911         returns an error and ENAMETOOLONG isn't defined.
87912
87913 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
87914
87915         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
87916         dimension.
87917
87918 2000-07-04  Jim Meyering  <meyering@lucent.com>
87919
87920         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
87921         of the deprecated AC_CHECKING.
87922
87923 2000-07-04  Jim Meyering  <meyering@lucent.com>
87924
87925         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
87926         Reported by Bruno Haible.
87927
87928 2000-07-04  Jim Meyering  <meyering@lucent.com>
87929
87930         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
87931         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
87932         lacks mbrtowc.
87933
87934 2000-07-03  Paul Eggert  <eggert@twinsun.com>
87935
87936         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
87937         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
87938
87939 2000-07-03  Paul Eggert  <eggert@twinsun.com>
87940         and Bruno Haible  <haible@clisp.cons.org>
87941
87942         * lib/quotearg.c (mbrtowc):
87943         Assign to *pwc, and return 1 only if result is nonzero.
87944         (iswprint): Use ISPRINT when substituting our own mbrtowc.
87945
87946 2000-07-03  Jim Meyering  <meyering@lucent.com>
87947
87948         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
87949
87950 2000-07-03  Jim Meyering  <meyering@lucent.com>
87951
87952         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
87953         This is necessary to get a definition of e.g., UTMP_FILE on
87954         HP-UX 10.20.
87955         From Bob Proulx.
87956
87957 2000-07-02  Jim Meyering  <meyering@lucent.com>
87958
87959         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
87960
87961         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
87962         AC_LIBOBJ(function_name).
87963         * m4/chown.m4: Likewise.
87964         * m4/fnmatch.m4: Likewise.
87965         * m4/ftruncate.m4: Likewise.
87966         * m4/getgroups.m4: Likewise.
87967         * m4/getline.m4: Likewise.
87968         * m4/group-member.m4: Likewise.
87969         * m4/jm-macros.m4: Likewise.
87970         * m4/lstat.m4: Likewise.
87971         * m4/malloc.m4: Likewise.
87972         * m4/memcmp.m4: Likewise.
87973         * m4/nanosleep.m4: Likewise.
87974         * m4/putenv.m4: Likewise.
87975         * m4/realloc.m4: Likewise.
87976         * m4/regex.m4: Likewise.
87977         * m4/stat.m4: Likewise.
87978         * m4/strftime.m4: Likewise.
87979
87980 2000-07-02  Jim Meyering  <meyering@lucent.com>
87981
87982         * lib/quotearg.c (mbstate_t): Don't define here.
87983
87984 2000-07-02  Jim Meyering  <meyering@lucent.com>
87985
87986         * lib/nanosleep.c (SIGCONT): Define if not already defined.
87987
87988 2000-07-01  Jim Meyering  <meyering@lucent.com>
87989
87990         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
87991
87992 2000-07-01  Jim Meyering  <meyering@lucent.com>
87993
87994         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
87995         problem.
87996
87997 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
87998
87999         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
88000         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
88001
88002 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
88003
88004         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
88005         per change in ../m4/ls-mntd-fs.m4.
88006         (read_filesystem_list): Ignore symbolic links.
88007
88008 2000-06-29  Jim Meyering  <meyering@lucent.com>
88009
88010         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
88011         for declaration of strcmp.
88012
88013         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
88014
88015         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
88016         Avoid warning by casting result to `char *' to remove `const'.
88017
88018 2000-06-28  Jim Meyering  <meyering@lucent.com>
88019
88020         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
88021         included by quotearg.c, for which we perform this test.  From
88022         Bruno Haible.
88023
88024 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
88025
88026         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
88027         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
88028         <utmpx.h> exists, put readutmp.o into LIBOBJS.
88029
88030 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
88031
88032         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
88033
88034 2000-06-26  Paul Eggert  <eggert@twinsun.com>
88035
88036         savedir now sets errno on failure and invokes xmalloc to get memory.
88037         Fix a couple of other minor bugs while we're at it.
88038
88039         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
88040         (NAMLEN): Remove macro.
88041         (malloc, realloc): Remove decls.
88042         (stpcpy): Likewise.
88043         ("xalloc.h"): Include.
88044         (NAME_SIZE_DEFAULT): New macro.
88045         (savedir): Use xmalloc / xrealloc to allocate memory.
88046         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
88047         Skip "" directory entries.
88048         Use strlen to calculate directory entry length, since the old method
88049         is rarely used these days and isn't worth supporting.
88050         Don't use a pointer after freeing it.
88051         Check for integer overflow when calculating allocation size.
88052         Use memcpy to copy entries, instead of stpcpy.
88053         Set errno properly when returning NULL.
88054         Check for readdir error.
88055
88056 2000-06-26  Jim Meyering  <meyering@lucent.com>
88057
88058         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
88059
88060 2000-06-25  Jim Meyering  <meyering@lucent.com>
88061
88062         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
88063         Linux header bug when _XOPEN_SOURCE is defined to 500.
88064
88065 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
88066
88067         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
88068         deficiency.
88069
88070 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
88071
88072         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
88073         Include xalloc.h.
88074         Don't include <stdlib.h>.  Don't declare malloc, realloc.
88075
88076 2000-06-24  Jim Meyering  <meyering@lucent.com>
88077
88078         * m4/strerror_r.m4: Revive this file -- to try out an experimental
88079         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
88080         for which strerror does return char*, but which lacks a conveniently
88081         accessible declaration of the function.  If the compile-test says
88082         strerror_r doesn't work, then resort to a `run'-test that works on
88083         BeOS and segfaults on DEC Unix.
88084
88085 2000-06-24  Jim Meyering  <meyering@lucent.com>
88086
88087         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
88088
88089 2000-06-23  Paul Eggert  <eggert@twinsun.com>
88090
88091         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
88092         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
88093
88094 2000-06-23  Paul Eggert  <eggert@twinsun.com>
88095
88096         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
88097         (mbrtowc, mbstate_t): Define substitutes if
88098         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
88099         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
88100         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
88101
88102 2000-06-23  Jim Meyering  <meyering@lucent.com>
88103
88104         * m4/afs.m4: Add missing AC_MSG_RESULT.
88105         Reported by Bruno Haible.
88106
88107         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
88108         Suggestion from Bruno Haible.
88109
88110 2000-06-23  Jim Meyering  <meyering@lucent.com>
88111
88112         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
88113
88114 2000-06-21  Jim Meyering  <meyering@lucent.com>
88115
88116         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
88117
88118 2000-06-21  Jim Meyering  <meyering@lucent.com>
88119
88120         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
88121         (noinst_HEADERS): Add getstr.h.
88122
88123         * lib/getline.c (getstr): Move into a separate file.
88124         * lib/getstr.c (getstr): New file, extracted from getline.c, with
88125         the following changes: new parameter, delim2; both delim[12]
88126         parameters have type `int', not `char'.  The latter would lose
88127         with 8-bit delimiters.
88128         * lib/getstr.h: New file.
88129
88130 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
88131
88132         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
88133         than 1024, return a memory chunk of least possible size, instead
88134         of size PATH_MAX + 2. In the loop, increment the size proportionally.
88135         Use free/xmalloc instead of xrealloc to avoid copying for very long
88136         paths.
88137
88138 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
88139
88140         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
88141         the empty string.
88142
88143 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
88144
88145         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
88146         address, not strdup.  Include <stdlib.h> and don't declare free().
88147
88148 2000-06-19  Jim Meyering  <meyering@lucent.com>
88149
88150         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
88151
88152 2000-06-18  Jim Meyering  <meyering@lucent.com>
88153
88154         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
88155
88156         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
88157         `checking whether...' message to be consistent with that of the
88158         lstat test.
88159
88160 2000-06-18  Jim Meyering  <meyering@lucent.com>
88161
88162         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
88163         Besides, these days every porting target provides a mkdir function.
88164
88165         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
88166         needed. (this snippet comes from src/system.h).
88167
88168 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
88169
88170         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
88171
88172 2000-06-15  Paul Eggert  <eggert@twinsun.com>
88173
88174         * lib/human.c (adjust_value): New function.
88175         (human_readable_inexact): Apply rounding style even when
88176         printing approximate values.
88177
88178 2000-06-14  Paul Eggert  <eggert@twinsun.com>
88179
88180         * lib/human.c (human_readable_inexact): Allow an input block
88181         size that is not a multiple of the output block size, and vice versa.
88182         Reported by Piergiorgio Sartor.
88183
88184 2000-06-14  Paul Eggert  <eggert@twinsun.com>
88185
88186         * lib/getdate.y (get_date): Apply relative times after time
88187         zone indicator, not before.  Reported by Todd A. Jacobs.
88188
88189 2000-06-13  Jim Meyering  <meyering@lucent.com>
88190
88191         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
88192
88193         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
88194
88195 2000-06-12  Paul Eggert  <eggert@twinsun.com>
88196
88197         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
88198
88199 2000-06-12  Jim Meyering  <meyering@lucent.com>
88200
88201         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
88202         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
88203         optional argument.
88204         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
88205         the optional argument, `lib'.
88206
88207 2000-06-08  Jim Meyering  <meyering@lucent.com>
88208
88209         * m4/largefile.m4: Remove file (now that it's part of autoconf).
88210
88211 2000-06-04  Paul Eggert  <eggert@twinsun.com>
88212
88213         Rewrite largefile configuration so that we don't need to run
88214         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
88215         AC_CANONICAL_HOST in configure.in -- jmm]
88216
88217         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
88218         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
88219         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
88220         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
88221         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
88222         All uses changed.
88223         Instead of inspecting the output of getconf, try to compile the
88224         test program without and with the macro definition.
88225         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
88226         for getconf.  Instead, check for the needed flags by compiling
88227         test programs.
88228
88229 2000-06-04  Paul Eggert  <eggert@twinsun.com>
88230
88231         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
88232
88233 2000-06-04  Jim Meyering  <meyering@lucent.com>
88234
88235         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
88236         SunOS 4.1.4 for which gid_t is an unsigned type.
88237
88238 2000-06-03  Jim Meyering  <meyering@lucent.com>
88239
88240         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
88241         now that autoconf requires that.
88242
88243         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
88244         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
88245         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
88246
88247 2000-06-03  Jim Meyering  <meyering@lucent.com>
88248
88249         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
88250
88251 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
88252
88253         * m4/glibc21.m4: New file.
88254         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
88255
88256 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
88257
88258         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
88259         newer, don't install charset.alias.
88260         * lib/config.charset: Change the Linux/glibc rules so they become empty
88261         on glibc-2.1 or newer.
88262
88263 2000-06-02  Jim Meyering  <meyering@lucent.com>
88264
88265         * lib/mountlist.c: Back out last change.  Instead, do this...
88266         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
88267         me_dummy member using the same `ignore'-testing code.
88268         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
88269         fs_type strings.
88270         From Mark D. Roth.
88271
88272 2000-05-29  Jim Meyering  <meyering@lucent.com>
88273
88274         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
88275         mounts with the `ignore' attribute.  Based on a patch from
88276         Mark D. Roth.
88277
88278 2000-05-28  Jim Meyering  <meyering@lucent.com>
88279
88280         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
88281         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
88282         * m4/stat.m4: Likewise.
88283         * m4/lstat.m4: Likewise.
88284         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
88285
88286         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
88287         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
88288
88289 2000-05-26  Jim Meyering  <meyering@lucent.com>
88290
88291         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
88292
88293 2000-05-24  Jim Meyering  <meyering@lucent.com>
88294
88295         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
88296         autoconf requires that.
88297         * m4/lib-check.m4: Likewise.
88298         * m4/jm-macros.m4: Likewise.
88299         * m4/strftime.m4: Likewise.
88300
88301         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
88302         AC_CHECK_DECLS, now that autoconf requires that.
88303
88304 2000-05-22  Jim Meyering  <meyering@lucent.com>
88305
88306         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
88307         * m4/lstat.m4: Likewise.
88308
88309 2000-05-22  Jim Meyering  <meyering@lucent.com>
88310
88311         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
88312
88313 2000-05-20  Jim Meyering  <meyering@lucent.com>
88314
88315         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
88316         (jm_PREREQ): Use it.
88317
88318 2000-05-18  Jim Meyering  <meyering@lucent.com>
88319
88320         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
88321         back, too, since it may have been modified by allocate_entry.
88322         (hash_delete): Rewrite to use neither the assignment operator
88323         nor the comma operator in an if-expression.
88324
88325 2000-05-15  Paul Eggert  <eggert@twinsun.com>
88326
88327         * lib/closeout.c:
88328         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
88329         Remove; no longer needed.
88330         "quotearg.h": Add include.
88331         (file_name): Do not bother to explicitly initialize to NULL; it's less
88332         efficient on some hosts.
88333         (close_stdout_status): Remove test as to whether stdout was already
88334         closed; it breaks for the case "echo x | sort >&-".
88335         Quote file name colons.
88336         Do not assume that _("write error") lacks format strings.
88337
88338 2000-05-15  Jim Meyering  <meyering@lucent.com>
88339
88340         * lib/version-etc.c (version_etc_copyright): Update the copyright
88341         string used in all --version output.
88342
88343 2000-05-14  Jim Meyering  <meyering@lucent.com>
88344
88345         * lib/closeout.c (close_stdout_set_file_name): New function.
88346         (close_stdout_status): Use new file-scoped global.
88347         Return right away if fstat says the stdout file descriptor is invalid.
88348         * lib/closeout.h (close_stdout_set_file_name): Declare.
88349
88350 2000-05-10  Jim Meyering  <meyering@lucent.com>
88351
88352         * lib/closeout.c [default_exit_status]: New file-scoped variable.
88353         (close_stdout_set_status): New function.
88354         * lib/closeout.h (close_stdout_set_status): Declare.
88355
88356 2000-05-09  Jim Meyering  <meyering@lucent.com>
88357
88358         * m4/gettext.m4: Rename this...
88359         * m4/libintl.m4: ...to this.
88360
88361 2000-05-08  Jim Meyering  <meyering@lucent.com>
88362
88363         * lib/long-options.c: Don't include closeout.h.
88364         (parse_long_options): Don't call close_stdout for --version.
88365
88366 2000-05-06  Paul Eggert  <eggert@twinsun.com>
88367
88368         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
88369         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
88370         2.1.3 bug.  This avoids a clash when files like regex.c define
88371         _GNU_SOURCE.
88372
88373 2000-05-06  Jim Meyering  <meyering@lucent.com>
88374
88375         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
88376         (AC_REPLACE_FUNCS): Add strnlen.
88377
88378         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
88379         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
88380
88381         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
88382         AC_SEARCH_LIBS call for nanosleep.
88383         (LIB_NANOSLEEP): Set and AC_SUBST.
88384
88385 2000-05-06  Jim Meyering  <meyering@lucent.com>
88386
88387         * lib/strnlen.c: Undefine __strnlen and strnlen.
88388         [!weak_alias]: Define __strnlen to strnlen.
88389
88390         * lib/atexit.c: New file, from libiberty.
88391
88392 2000-05-06  Jim Meyering  <meyering@lucent.com>
88393
88394         * lib/closeout.c (close_stdout_status): Also check for errors on the
88395         stderr stream.
88396
88397 2000-05-05  Jim Meyering  <meyering@lucent.com>
88398
88399         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
88400         AC_SEARCH_LIBS call for clock_gettime.
88401         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
88402
88403         * m4/search-libs.m4: Update from autoconf.
88404
88405         su doesn't work on Solaris 2.6.
88406         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
88407         <shadow.h>.  Reported by Dragos Harabor.
88408
88409 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
88410
88411         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
88412         memcpy instead of xmalloc, xrealloc, path_concat.
88413         (locale_charset): Treat empty environment variables as absent.
88414         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
88415
88416 2000-05-04  Jim Meyering  <meyering@lucent.com>
88417
88418         * lib/getopt.c: Update from glibc.
88419         * lib/obstack.c: Likewise.
88420         * lib/obstack.h: Likewise.
88421         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
88422         file
88423
88424         * lib/regex.h: Likewise.
88425         * lib/strndup.c: Likewise.
88426         * lib/strnlen.c: New file, from glibc.
88427
88428 2000-05-03  Jim Meyering  <meyering@lucent.com>
88429
88430         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
88431
88432 2000-05-02  Paul Eggert  <eggert@twinsun.com>
88433
88434         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
88435         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
88436         compile-time test, rather than inspecting host and OS, to
88437         decide whether to define _LARGEFILE_SOURCE.
88438
88439 2000-05-01  Jim Meyering  <meyering@lucent.com>
88440
88441         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
88442
88443         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
88444         Based on a patch from Bruno Haible.
88445
88446 2000-05-01  Jim Meyering  <meyering@lucent.com>
88447
88448         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
88449
88450 2000-04-29  Jim Meyering  <meyering@lucent.com>
88451
88452         * lib/path-concat.c: Declare strdup only if it's not defined.
88453         * lib/canon-host.c: Likewise.
88454
88455 2000-04-28  Jim Meyering  <meyering@lucent.com>
88456
88457         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
88458         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
88459         is included first, then limits.h is included by locale.h by libintl.h.
88460         From John David Anglin.
88461
88462 2000-04-25  Jim Meyering  <meyering@lucent.com>
88463
88464         * lib/makepath.c (S_IRWXUGO): Define.
88465         (make_path): Always perform explicit chmod if MODE specifies any
88466         of the `special' permission bits.  Prompted by a bug report against
88467         install from Mate Wierdl and Joost van Baal.
88468
88469 2000-04-18  Jim Meyering  <meyering@lucent.com>
88470
88471         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
88472         (jm_PREREQ): Use it.
88473
88474 2000-04-18  Jim Meyering  <meyering@lucent.com>
88475
88476         * lib/README: New file.
88477
88478         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
88479         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
88480
88481 2000-04-17  Jim Meyering  <meyering@lucent.com>
88482
88483         Get it right :-)
88484         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
88485         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
88486         Suggestion from Akim Demaille.
88487
88488 2000-04-17  Jim Meyering  <meyering@lucent.com>
88489
88490         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
88491         the definition of it to rpl_strftime also defined-away the system's
88492         declaration.
88493
88494 2000-04-15  Jim Meyering  <meyering@lucent.com>
88495
88496         Use `C' to denote so-called `contiguous' files, the same way
88497         that tar does.
88498         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
88499         (ftypelet): Use S_ISCTG.
88500         From Michael Deutschmann.
88501
88502 2000-04-14  Jim Meyering  <meyering@lucent.com>
88503
88504         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
88505         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
88506         clobbered.
88507
88508 2000-04-14  Jim Meyering  <meyering@lucent.com>
88509
88510         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
88511
88512 2000-04-13  Jim Meyering  <meyering@lucent.com>
88513
88514         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
88515         AH_VERBATIM to insert required #ifndef into config.h.in.
88516         Suggestion from Akim Demaille.
88517
88518 2000-04-12  Jim Meyering  <meyering@lucent.com>
88519
88520         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
88521         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
88522         Christian Krackowizer.
88523
88524         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
88525         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
88526         (AC_SYS_LARGEFILE): Require.
88527         (AM_C_PROTOTYPES): Require.
88528
88529 2000-04-08  Jim Meyering  <meyering@lucent.com>
88530
88531         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
88532         names don't conflict.  Reported by Eli Zaretskii.
88533
88534 2000-04-07  Jim Meyering  <meyering@lucent.com>
88535
88536         * lib/putenv.c: Move inclusion of errno.h so it follows that of
88537         sys/types.h, to work around system header problems on AIX 3.2.5.
88538         From Bruno Haible.
88539
88540 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
88541
88542         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
88543         bug.  Deal with the different error behavior of Irix iconv.
88544
88545 2000-04-05  Paul Eggert  <eggert@twinsun.com>
88546
88547         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
88548         IRIX if the installer said otherwise.
88549
88550 2000-04-05  Jim Meyering  <meyering@lucent.com>
88551
88552         Portability tweaks required for ultrix4.3.
88553         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
88554         (jm_CHECK_DECLS): Add getutent to the list of functions.
88555         (_jm_DECL_HEADERS): Add utmpx.h.
88556         From John David Anglin.
88557
88558         * m4/strftime.m4: Back out the 2000-04-02 change.
88559         Instead of that change, simply undefine putenv in the test program.
88560
88561 2000-04-05  Jim Meyering  <meyering@lucent.com>
88562
88563         Portability tweaks required for ultrix4.3.
88564         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
88565         getutent.
88566         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
88567         * lib/canon-host.c: Declare strdup.
88568         * lib/path-concat.c: Likewise.
88569         From John David Anglin.
88570
88571 2000-04-04  Jim Meyering  <meyering@lucent.com>
88572
88573         Be more DOS 8.3-friendly.
88574         * lib/ref-add.sin: Renamed from ref-add.sed.in.
88575         * lib/ref-del.sin: Renamed from ref-del.sed.in.
88576         * lib/Makefile.am: Reflect renaming.
88577         Reported by Eli Zaretskii.
88578
88579         Use a temporary file name that won't clash with `charset.alias'
88580         in the DOS 8.3 name space.
88581         * lib/Makefile.am (charset_tmp): Define.
88582         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
88583         (uninstall-local): Likewise.
88584         Reported by Eli Zaretskii.
88585
88586 2000-04-03  Jim Meyering  <meyering@lucent.com>
88587
88588         * m4/gettext.m4: Fix typo in comment.
88589
88590         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
88591         textutils/configure.in).  Suggestion from Paul Eggert.
88592         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
88593
88594 2000-04-02  Paul Eggert  <eggert@twinsun.com>
88595
88596         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
88597         variable in the shell rather than using putenv, which isn't
88598         portable.  This avoids the configure-time inter-test dependency
88599         on the potentially-renamed putenv function.
88600
88601 2000-03-30  Paul Eggert  <eggert@twinsun.com>
88602
88603         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
88604         before checking struct stat.st_blksize, so that
88605         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
88606
88607 2000-03-29  Paul Eggert  <eggert@twinsun.com>
88608
88609         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
88610         since strftime.c uses HAVE_STRFTIME to decide whether to use
88611         the underlying strftime.
88612
88613 2000-03-29  Paul Eggert  <eggert@twinsun.com>
88614
88615         * lib/time/strftime.c (my_strftime): Make sure we call the system
88616         strftime, not ourselves, when invoking the underlying strftime.
88617
88618 2000-03-24  Jim Meyering  <meyering@lucent.com>
88619
88620         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
88621         (charset_alias): Define.
88622         (install-exec-local): Factor out common code.
88623         (uninstall-local): Split lines longer than 80.
88624         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
88625         (SUFFIXES): Define.
88626         (.sed.in.sed): New rule.  Don't redirect directly to $@.
88627         (CLEANFILES): Add ref-add.sed and ref-del.sed.
88628
88629 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
88630
88631         * lib/config.charset: Output a line containing "Packages using this
88632         file".
88633         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
88634         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
88635         ref-del.sed): New rules.
88636
88637 2000-03-17  Jim Meyering  <meyering@lucent.com>
88638
88639         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
88640         Otherwise, include <strings.h>
88641
88642 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
88643
88644         * lib/unicodeio.c (utf8_wctomb): New function.
88645         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
88646         format instead of in UCS-4 with platform dependent endianness.
88647
88648 2000-03-10  Jim Meyering  <meyering@lucent.com>
88649
88650         * m4/lib-check.m4: Look for getspnam in -lgen, too.
88651         From Marco Franzen.
88652
88653 2000-03-07  Paul Eggert  <eggert@twinsun.com>
88654
88655         * lib/savedir.c (savedir): Work even if directory size is
88656         negative; this can happen with some screwy NFS configurations.
88657
88658 2000-03-06  Jim Meyering  <meyering@lucent.com>
88659
88660         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
88661         if it's NULL (because we ran out of memory).  From Bruno Haible.
88662
88663 2000-03-05  Jim Meyering  <meyering@lucent.com>
88664
88665         * lib/localcharset.c ("path-concat.h"): Include.
88666         (get_charset_aliases): Use path_concat instead of ANSI string
88667         concatenation.
88668
88669         * lib/unicodeio.h (PARAMS): Define.
88670         Use it to guard prototype.
88671
88672 2000-03-04  Jim Meyering  <meyering@lucent.com>
88673
88674         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
88675         for lib/localcharset.c.
88676
88677 2000-03-04  Jim Meyering  <meyering@lucent.com>
88678
88679         * lib/Makefile.am (install-exec-local): Create $(libdir) before
88680         installing into it.
88681         (uninstall-local): Uncomment this rule so `make distcheck' works
88682         once again.
88683
88684         * lib/unicodeio.c (<errno.h>): Include it.
88685         (errno): Declare if not defined.
88686
88687         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
88688
88689         * lib/config.charset: New version, incorporating remarks from a linux
88690         i18n mailing list.  From Bruno Haible.
88691
88692 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
88693
88694         * m4/codeset.m4: New file.
88695         * m4/iconv.m4: New file.
88696         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
88697
88698 2000-03-03  Jim Meyering  <meyering@lucent.com>
88699
88700         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
88701
88702 2000-03-02  Jim Meyering  <meyering@lucent.com>
88703
88704         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
88705         the messages come out on separate lines.
88706
88707         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
88708         rather than jm_CHECK_DECLARATIONS.
88709         * m4/decl.m4: Remove now-unused file.
88710
88711         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
88712         geteuid.
88713
88714 2000-03-02  Jim Meyering  <meyering@lucent.com>
88715
88716         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
88717
88718 2000-03-01  Jim Meyering  <meyering@lucent.com>
88719
88720         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
88721         * lib/unicodeio.c: Likewise.
88722
88723 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
88724
88725         * lib/config.charset: New file.
88726         * lib/localcharset.c: New file.
88727         * lib/unicodeio.h, lib/unicodeio.c: New files.
88728         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
88729         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
88730         (noinst_HEADERS): Add unicodeio.h.
88731         (all-local, install-exec-local, charset.alias): New targets.
88732
88733 2000-02-28  Paul Eggert  <eggert@twinsun.com>
88734
88735         * lib/quotearg.c (ALERT_CHAR): New macro.
88736         (quotearg_buffer_restyled): Use it.
88737
88738 2000-02-27  Jim Meyering  <meyering@lucent.com>
88739
88740         * m4/check-decl.m4: Add getenv to the list.
88741
88742 2000-02-27  Jim Meyering  <meyering@lucent.com>
88743
88744         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
88745         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
88746
88747         * lib/backupfile.c: Guard inclusion of stdlib.h with
88748         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
88749         Declare malloc if needed.
88750
88751         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
88752         `#ifndef HAVE_DECL..'
88753         now that autoconf always defines the HAVE_DECL_ symbols.
88754         * lib/human.c: Likewise.
88755         * lib/same.c: Likewise.
88756         * lib/strtoumax.c: Likewise.
88757
88758         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
88759         declaration check was not run.
88760         * lib/hash.c: Likewise.
88761         * lib/human.c: Likewise.
88762         * lib/same.c: Likewise.
88763         * lib/strtoumax.c: Likewise.
88764
88765         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
88766         `.', then first look up the entire `.'-containing string as a login
88767         name.
88768
88769 2000-02-23  Jim Meyering  <meyering@lucent.com>
88770
88771         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
88772         in place of my hack.
88773
88774 2000-02-18  Paul Eggert  <eggert@twinsun.com>
88775
88776         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
88777         (textint): New typedef.
88778         (parser_control): Member year changed from int to textint.
88779         All uses changed.
88780         (YYSTYPE): Removed; replaced by %union with int and textint members.
88781         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
88782         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
88783         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
88784         (tSNUMBER, tUNUMBER): Now of type <textintval>.
88785         (date, number, to_year): Use width of number in digits, not its value,
88786         to determine whether it's a 2-digit year, or a 2-digit time.
88787         (yylex): Store number of digits of numeric tokens.
88788         Reported by John Kendall.
88789
88790         (parser_control): Changed from struct parser_control to typedef (for
88791         consistency).  All uses changed.
88792
88793         (tID): Removed; not used.
88794         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
88795
88796 2000-02-14  Paul Eggert  <eggert@twinsun.com>
88797
88798         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
88799         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
88800
88801 2000-02-12  Jim Meyering  <meyering@lucent.com>
88802
88803         * lib/userspec.c (ISDIGIT): Define it.
88804         (isdigit): Remove definition.
88805         (is_number): Use ISDIGIT, not isdigit.
88806         <libintl.h>: Include.
88807         (_ and N_): Define.
88808         (parse_user_spec): Mark translatable strings.
88809
88810 2000-02-10  Jim Meyering  <meyering@lucent.com>
88811
88812         With these changes, nanosleep.[ch] are finally enough like the other
88813         lib/* replacement files to compile on a few more losing systems.
88814
88815         * lib/nanosleep.h: Don't include config.h.
88816         Remove prototype from declaration of nanosleep.
88817         (PARAMS): Remove now-unneeded definition.
88818         * lib/nanosleep.c: #undef nanosleep.
88819         (rpl_nanosleep): Rename from nanosleep.
88820
88821 2000-02-10  Jim Meyering  <meyering@lucent.com>
88822
88823         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
88824         gnu_nanosleep to rpl_nanosleep.
88825
88826 2000-02-09  Jim Meyering  <meyering@lucent.com>
88827
88828         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
88829         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
88830
88831 2000-02-08  Akim Demaille  <akim@epita.fr>
88832
88833         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
88834         `[' and `]' and remove uses of `changequote'.
88835         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
88836         (AC_SYS_LARGEFILE): Likewise.
88837         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
88838         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
88839         of changequote.
88840         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
88841         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
88842         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
88843         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
88844
88845 2000-02-05  Jim Meyering  <meyering@lucent.com>
88846
88847         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
88848         Remove explicit use of AC_HEADER_TIME.  It is required by
88849         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
88850         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
88851         in autoconf whereby the expansion of the latter ended up preceding
88852         the expansion of its prerequisite, AC_HEADER_TIME.
88853         Reported by Volker Borchert.
88854
88855 2000-02-03  Jim Meyering  <meyering@lucent.com>
88856
88857         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
88858
88859 2000-02-03  Jim Meyering  <meyering@lucent.com>
88860
88861         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
88862         rather than with `#if HAVE_UTMPNAME'.
88863
88864 2000-02-02  Jim Meyering  <meyering@lucent.com>
88865
88866         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
88867         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
88868         Reported by Eli Zaretskii.
88869
88870 2000-02-01  Jim Meyering  <meyering@lucent.com>
88871
88872         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
88873
88874 2000-01-31  Jim Meyering  <meyering@lucent.com>
88875
88876         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
88877         functions.  Add the time.h and sys/time.h headers along with the
88878         AC_REQUIRE'ment of AC_HEADER_TIME.
88879
88880 2000-01-31  Jim Meyering  <meyering@lucent.com>
88881
88882         * lib/nanosleep.h (nanosleep): Guard declaration with
88883         `#if ! HAVE_DECL_NANOSLEEP'.
88884         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
88885         the declaration in that vendor's sys/timers.h.
88886         Reported by Christian Krackowizer.
88887
88888         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
88889         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
88890         (ISPRINT): Likewise.
88891         Reported by Tom Tromey.
88892
88893 2000-01-30  Jim Meyering  <meyering@lucent.com>
88894
88895         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
88896
88897         * m4/prereq.m4 (utmp_includes): Define.
88898         Check for ut_user and ut_name members in both struct utmpx
88899         and struct utmp.
88900
88901 2000-01-30  Jim Meyering  <meyering@lucent.com>
88902
88903         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
88904         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
88905         header files where only utmpx.ut_user is declared.
88906
88907         * lib/readutmp.h (UT_USER): Define.
88908
88909 2000-01-29  Jim Meyering  <meyering@lucent.com>
88910
88911         * m4/lib-check.m4: New file containing library-related checks from
88912         fileutils and sh-utils (textutils had none).
88913
88914 2000-01-28  Jim Meyering  <meyering@lucent.com>
88915
88916         * m4/perl.m4: Change format of warning message to look more like that
88917         from the missing script.  Suggestion from François Pinard.
88918
88919 2000-01-25  Jim Meyering  <meyering@lucent.com>
88920
88921         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
88922         well as time.h in the compile check.
88923         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
88924         Fix typo in cross-compiling case: s/yes/no/.
88925
88926 2000-01-23  Jim Meyering  <meyering@lucent.com>
88927
88928         * m4/jm-macros.m4: Move df-related tests here from
88929         fileutils/configure.in
88930
88931         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
88932         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
88933
88934         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
88935         s/space/ac_fsusage_space/.
88936         (jm_FILE_SYSTEM_USAGE): Take two parameters.
88937
88938         * m4/ftruncate.m4: New file (derived from part of
88939         fileutils/configure.in).
88940         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
88941         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
88942
88943         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
88944         AC_SUBST these here, rather than just in sh-util/configure.in, so
88945         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
88946         all the same.
88947         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
88948         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
88949         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
88950         (AC_SUBST(POW_LIBM)): Likewise.
88951         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
88952
88953 2000-01-23  Jim Meyering  <meyering@lucent.com>
88954
88955         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
88956         obstack.c.
88957
88958 2000-01-22  Jim Meyering  <meyering@lucent.com>
88959
88960         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
88961
88962         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
88963
88964         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
88965         configure.in
88966         (AC_CHECK_HEADERS): Likewise for sh-utils.
88967         (AC_CHECK_HEADERS): Likewise for textutils.
88968         Merge the three lists of headers.
88969
88970         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
88971         from fileutils' configure.in.
88972
88973         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
88974         code. Moved tests into their own function (_jm_DECL_HEADERS) in
88975         check-decl.m4.
88976
88977         * m4/check-decl.m4: Use #if rather than #ifdef.
88978         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
88979         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
88980         (_jm_DECL_HEADERS): Define new function.
88981         (jm_CHECK_DECLARATIONS): Require it.
88982
88983 2000-01-22  Jim Meyering  <meyering@lucent.com>
88984
88985         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
88986         [! HAVE_DECL_STRTOULL]: Declare strtoull.
88987         Required for some AIX systems.  Reported by Christian Krackowizer.
88988         [TESTING] (main): New function.
88989
88990         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
88991         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
88992         letters.
88993
88994         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
88995         iswprint.
88996
88997         * lib/strverscmp.c (ISDIGIT): Define.
88998         (strverscmp): Use ISDIGIT, not isdigit.
88999
89000 2000-01-19  Jim Meyering  <meyering@lucent.com>
89001
89002         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
89003         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
89004         defines `struct timespec' in <sys/time.h>
89005
89006         * m4/c-bs-a.m4: Remove uses of changequote altogether.
89007         Thanks to Akim for explaining.
89008
89009 2000-01-17  Paul Eggert  <eggert@twinsun.com>
89010
89011         * lib/nanosleep.c (nanosleep):
89012         Don't use SA_INTERRUPT to decide whether to call sigaction, as
89013         POSIX.1 doesn't require SA_INTERRUPT and some systems
89014         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
89015         it's been part of POSIX.1 since day 1 (in 1988).
89016
89017 2000-01-17  Jim Meyering  <meyering@lucent.com>
89018
89019         * lib/interlock: Remove unused file.  Reported by François Pinard.
89020
89021 2000-01-16  Paul Eggert  <eggert@twinsun.com>
89022
89023         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
89024         alert, backslash, formfeed, and vertical tab unnecessarily in
89025         shell quoting style.
89026
89027 2000-01-16  Jim Meyering  <meyering@lucent.com>
89028
89029         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
89030         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
89031         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
89032         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
89033
89034 2000-01-16  Jim Meyering  <meyering@lucent.com>
89035
89036         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
89037         because the latter didn't work.
89038
89039 2000-01-15  Jim Meyering  <meyering@lucent.com>
89040
89041         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
89042         (AC_REPLACE_FUNCS): Add memcpy and memset.
89043         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
89044         Add strpbrk.
89045         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
89046
89047 2000-01-12  Jim Meyering  <meyering@lucent.com>
89048
89049         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
89050         (jm_PREREQ): Use it.
89051         (jm_PREREQ_READUTMP): New macro.
89052         (jm_PREREQ): Use it.
89053
89054 2000-01-11  Paul Eggert  <eggert@twinsun.com>
89055
89056         Quote multibyte characters correctly.
89057         * m4/c-bs-a.m4: New file.
89058         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
89059         (jm_PREREQ): Use it.
89060
89061 2000-01-11  Paul Eggert  <eggert@twinsun.com>
89062
89063         * m4/uintmax_t.m4: Port to autoconf 2.13.
89064
89065 2000-01-08  Jim Meyering  <meyering@ascend.com>
89066
89067         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
89068         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
89069
89070 2000-01-04  Jim Meyering  <meyering@ascend.com>
89071
89072         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
89073         jm_STRUCT_DIRENT_D_TYPE.
89074         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
89075         jm_STRUCT_DIRENT_D_INO.
89076         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
89077         jm_STRUCT_UTIMBUF.
89078         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
89079         renamings.
89080         * m4/utime.m4: Likewise.
89081
89082         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
89083         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
89084
89085 2000-01-03  Paul Eggert  <eggert@twinsun.com>
89086
89087         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
89088         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
89089
89090 2000-01-02  Jim Meyering  <meyering@ascend.com>
89091
89092         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
89093         remember if this is necessary.
89094
89095 1999-12-26  Jim Meyering  <meyering@ascend.com>
89096
89097         * m4/jm-macros.m4: Use it here.
89098         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
89099
89100 1999-12-23  Jim Meyering  <meyering@ascend.com>
89101
89102         * m4/jm-macros.m4: Check for clock_gettime (moved from
89103         fileutils/configure.in)
89104         Check for gettimeofday.
89105
89106 1999-12-20  Jim Meyering  <meyering@ascend.com>
89107
89108         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
89109         autoconf-2.14a-1999-12-20.
89110
89111 1999-12-19  Jim Meyering  <meyering@ascend.com>
89112
89113         * m4/lstat-slash.m4: New file.
89114         * m4/jm-macros.m4: Use the new macro:
89115         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
89116
89117 1999-12-07  Jim Meyering  <meyering@ascend.com>
89118
89119         * m4/perl.m4: Require that File::Compare be available, too.
89120         Too many systems seem to lack it.
89121
89122         * m4/strftime.m4: Add checks for most of the cpp macros tested in
89123         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
89124
89125 1999-11-18  Paul Eggert  <eggert@twinsun.com>
89126
89127         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
89128         problem with the QNX 4.25 shell, which doesn't propagate exit
89129         status of failed commands inside shell assignments.
89130
89131 1999-11-17  Jim Meyering  <meyering@ascend.com>
89132
89133         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
89134
89135 1999-11-07  Jim Meyering  <meyering@ascend.com>
89136
89137         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
89138
89139 1999-11-06  Jim Meyering  <meyering@ascend.com>
89140
89141         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
89142         * m4/jm-macros.m4 (jm_MACROS): Use it here.
89143
89144 1999-11-05  Jim Meyering  <meyering@ascend.com>
89145
89146         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
89147         configure.in of textutils, fileutils, and sh-utils into this one
89148         (shared between those packages) file.
89149         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
89150         AC_STRUCT_ST_BLKSIZE.
89151
89152 1999-11-03  Jim Meyering  <meyering@ascend.com>
89153
89154         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
89155         of AC_CHECK_TYPE checks includes unistd.h.
89156         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
89157         Suggestion from Akim Demaille.
89158
89159 1999-10-30  Jim Meyering  <meyering@ascend.com>
89160
89161         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
89162         m4-quoted string.
89163         * m4/ls-mntd-fs.m4: Likewise.
89164         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
89165         * m4/jm-winsz1.m4: Likewise.
89166
89167         * m4/const.m4: Remove file, since the fix made it into the experimental
89168         version of autoconf.
89169         * m4/mktime.m4: Likewise.
89170
89171         * m4/check-type.m4: Remove file, now that the latest version of
89172         AC_CHECK_TYPE takes a third arg to specify additional #includes.
89173
89174         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
89175         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
89176         AC_CHECK_TYPE.
89177
89178 1999-10-04  Jim Meyering  <meyering@ascend.com>
89179
89180         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
89181
89182 1999-09-22  Paul Eggert  <eggert@twinsun.com>
89183
89184         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
89185         2.95.1 bug with HP-UX 10.20.
89186
89187 1999-09-17  Jim Meyering  <meyering@ascend.com>
89188
89189         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
89190         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
89191         due to missing strdup (against sh-utils-2.0).
89192
89193 1999-08-29  Jim Meyering  <meyering@ascend.com>
89194
89195         * m4/jm-macros.m4: Require jm_BISON.
89196         * m4/bison.m4: New file.
89197
89198 1999-08-17  Paul Eggert  <eggert@twinsun.com>
89199
89200         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
89201         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
89202
89203 1999-08-05  Jim Meyering  <meyering@ascend.com>
89204
89205         * m4/getline.m4: Rename test file from conftestdata to conftest.data
89206         to avoid conflicts with `conftest' on 8+3 filesystems.
89207         Suggestion from Eli Zaretskii.
89208
89209 1999-08-04  Jim Meyering  <meyering@ascend.com>
89210
89211         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
89212         fileutils and sh-utils (textutils's getline test was inadequate).
89213         (AM_FUNC_GETLINE): Run this test.
89214         (AC_CHECK_FUNCS): Check for getdelim.
89215         Reported by Bob Proulx.
89216
89217 1999-08-02  Jim Meyering  <meyering@ascend.com>
89218
89219         * m4/jm-macros.m4: Add a comment.
89220
89221 1999-08-01  Paul Eggert  <eggert@twinsun.com>
89222
89223         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
89224         <inttypes.h> defines strtoumax as a macro (and not as a
89225         function).
89226
89227 1999-08-01  Paul Eggert  <eggert@twinsun.com>
89228
89229         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
89230         that we can shift, multiply and divide unsigned long long
89231         values; Ultrix cc can't do it.
89232
89233 1999-08-01  Paul Eggert  <eggert@twinsun.com>
89234
89235         * m4/mktime.m4: New file, which is a preview of what should appear
89236         in the next public autoconf release.
89237
89238 1999-08-01  Paul Eggert  <eggert@twinsun.com>
89239
89240         * m4/lfs.m4: Remove this file.
89241         * m4/largefile.m4: New file.  It contains the old contents of
89242         lfs.m4, except that all names with prefix AC_LFS have been
89243         changed to use the prefix AC_SYS_LARGEFILE instead, to be
89244         compatible with future autoconf versions.  Also, some minor m4
89245         quoting problems have been fixed.
89246
89247 1999-08-01  Paul Eggert  <eggert@twinsun.com>
89248
89249         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
89250         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
89251         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
89252         and simplify the shell code.
89253
89254 1999-08-01  Jim Meyering  <meyering@ascend.com>
89255
89256         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
89257         m4.
89258
89259 1999-07-20  Jim Meyering  <meyering@ascend.com>
89260
89261         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
89262
89263 1999-07-15  Jim Meyering  <meyering@ascend.com>
89264
89265         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
89266
89267 1999-05-22  Jim Meyering  <meyering@ascend.com>
89268
89269         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
89270
89271 1999-05-20  Jim Meyering  <meyering@ascend.com>
89272
89273         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
89274         Add a colon after each `then' in case $4 is empty.
89275
89276 1999-05-16  Jim Meyering  <meyering@ascend.com>
89277
89278         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
89279
89280 1999-05-10  Jim Meyering  <meyering@ascend.com>
89281
89282         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
89283
89284         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
89285         AC_FUNC_MKTIME.
89286
89287 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
89288
89289         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
89290
89291 1999-05-04  Paul Eggert  <eggert@twinsun.com>
89292
89293         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
89294         not CPPFLAGS, so that linking works correctly in IRIX.
89295
89296 1999-04-30  Paul Eggert  <eggert@twinsun.com>
89297
89298         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
89299
89300 1999-04-20  Paul Eggert  <eggert@twinsun.com>
89301
89302         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
89303         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
89304         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
89305         jm_AC_TYPE_UNSIGNED_LONG_LONG.
89306         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
89307
89308         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
89309
89310 1999-04-20  Jim Meyering  <meyering@ascend.com>
89311
89312         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
89313         AC_REPLACE xstroull if necessary.  From Paul Eggert.
89314         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
89315
89316 1999-04-18  Jim Meyering  <meyering@ascend.com>
89317
89318         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
89319         * m4/jm-macros.m4: Use it.
89320
89321 1999-04-06  Jim Meyering  <meyering@ascend.com>
89322
89323         * m4/strftime.m4: Remove test for %f.
89324
89325 1999-03-29  Jim Meyering  <meyering@ascend.com>
89326
89327         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
89328         superset of the AC_TYPE_* checks in the textutils, fileutils,
89329         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
89330         AC_TYPE_PID_T.
89331
89332 1999-03-28  Jim Meyering  <meyering@ascend.com>
89333
89334         * m4/jm-macros.m4: Define GNU_PACKAGE here.
89335         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
89336         replaced e.g., in the *.sh files of the sh-utils.
89337
89338 1999-03-20  Jim Meyering  <meyering@ascend.com>
89339
89340         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
89341         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
89342         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
89343
89344 1999-03-19  Jim Meyering  <meyering@ascend.com>
89345
89346         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
89347
89348 1999-03-12  Jim Meyering  <meyering@ascend.com>
89349
89350         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
89351
89352 1999-03-07  Jim Meyering  <meyering@ascend.com>
89353
89354         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
89355         declared.
89356
89357 1999-02-17  Jim Meyering  <meyering@ascend.com>
89358
89359         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
89360         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
89361
89362 1999-02-07  Jim Meyering  <meyering@ascend.com>
89363
89364         * m4/group-member.m4: New file -- extracted from sh-utils'
89365         configure.in.
89366
89367         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
89368         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
89369
89370 1999-02-06  Jim Meyering  <meyering@ascend.com>
89371
89372         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
89373         * m4/fnmatch.m4: Likewise.
89374         * m4/getgroups.m4: Likewise.
89375         * m4/lstat.m4: Likewise.
89376         * m4/malloc.m4: Likewise.
89377         * m4/putenv.m4: Likewise.
89378         * m4/realloc.m4: Likewise.
89379         * m4/regex.m4: Likewise.
89380         * m4/stat.m4: Likewise.
89381         * m4/strftime.m4: Likewise.
89382         Suggestion from Alain Magloire.
89383
89384         * m4/chown.m4: Use `.$ac_objext', not `.o'.
89385         * m4/fnmatch.m4: Likewise.
89386         * m4/getgroups.m4: Likewise.
89387         * m4/getline.m4: Likewise.
89388         * m4/lstat.m4: Likewise.
89389         * m4/malloc.m4: Likewise.
89390         * m4/memcmp.m4: Likewise.
89391         * m4/putenv.m4: Likewise.
89392         * m4/realloc.m4: Likewise.
89393         * m4/regex.m4: Likewise.
89394         * m4/stat.m4: Likewise.
89395         * m4/strftime.m4: Likewise.
89396         Suggestion from Alain Magloire.
89397
89398         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
89399         an argument.
89400
89401         * m4/regex.m4: Add a run-time Test for proper operation of
89402         re_compile_pattern.
89403
89404 1999-01-31  Jim Meyering  <meyering@ascend.com>
89405
89406         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
89407
89408 1999-01-30  Jim Meyering  <meyering@ascend.com>
89409
89410         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
89411
89412         * m4/jm-mktime.m4: Make this a wrapper around the official
89413         AM_FUNC_MKTIME rather than my private copy, now that the official one
89414         is up to date.
89415         * m4/mktime.m4: Remove file.
89416
89417         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
89418         * m4/uptime.m4: Likewise.
89419         * m4/uintmax_t.m4: Likewise.
89420
89421 1999-01-28  Jim Meyering  <meyering@ascend.com>
89422
89423         * m4/jm-macros.m4: Use jm_AFS.
89424         * m4/afs.m4: New file (from fileutils' configure.in).
89425
89426         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
89427         * m4/chown.m4: Likewise.
89428         * m4/d-ino.m4: Likewise.
89429         * m4/d-type.m4: Likewise.
89430         * m4/fnmatch.m4: Likewise.
89431         * m4/getgroups.m4: Likewise.
89432         * m4/gettext.m4: Likewise.
89433         * m4/jm-mktime.m4: Likewise.
89434         * m4/jm-winsz2.m4: Likewise.
89435         * m4/lcmessage.m4: Likewise.
89436         * m4/ls-mntd-fs.m4: Likewise.
89437         * m4/malloc.m4: Likewise.
89438         * m4/memcmp.m4: Likewise.
89439         * m4/putenv.m4: Likewise.
89440         * m4/realloc.m4: Likewise.
89441         * m4/st_mtim.m4: Likewise.
89442         * m4/strftime.m4: Likewise.
89443
89444 1999-01-16  Jim Meyering  <meyering@ascend.com>
89445
89446         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
89447         (ARGMATCH_DIE_DECL): Define.
89448
89449 1999-01-12  Jim Meyering  <meyering@ascend.com>
89450
89451         * m4/Makefile.am.in: Rewrite to avoid using fmt.
89452         Reported by Lars Hecking.
89453
89454 1999-01-10  Jim Meyering  <meyering@ascend.com>
89455
89456         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
89457         gross kludge.
89458         * m4/inttypes_h.m4: Likewise.
89459         * m4/lstat.m4: Likewise.
89460         * m4/malloc.m4: Likewise.
89461         * m4/readdir.m4: Likewise.
89462         * m4/realloc.m4: Likewise.
89463         * m4/st_dm_mode.m4: Likewise.
89464         * m4/stat.m4: Likewise.
89465         * m4/utimbuf.m4: Likewise.
89466         * m4/utimes.m4: Likewise.
89467
89468         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
89469         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
89470         comments in config.h.in are meaningful.
89471
89472         * m4/jm-macros.m4: Require autoconf-2.13 here.
89473
89474         * m4/regex.m4: By default, don't use the included regex.c on systems
89475         with glibc 2.  Suggestion from Uli Drepper.
89476
89477 1999-01-02  Jim Meyering  <meyering@ascend.com>
89478
89479         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
89480
89481 1998-12-18  Jim Meyering  <meyering@ascend.com>
89482
89483         * m4/Makefile.am.in (Makefile.am): Simplify rule.
89484         Based on a suggestion from Lars Hecking.
89485
89486 1998-11-16  Paul Eggert  <eggert@twinsun.com>
89487
89488         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
89489
89490 1998-11-16  Jim Meyering  <meyering@ascend.com>
89491
89492         * m4/lfs.m4: Double-quote the `uname...` expression.
89493
89494 1998-11-14  Jim Meyering  <meyering@ascend.com>
89495
89496         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
89497         * m4/stat.m4: Likewise.
89498
89499 1998-11-03  Jim Meyering  <meyering@ascend.com>
89500
89501         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
89502         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
89503
89504 1998-10-18  Jim Meyering  <meyering@ascend.com>
89505
89506         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
89507
89508 1998-10-17  Jim Meyering  <meyering@ascend.com>
89509
89510         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
89511         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
89512         calls for those previously hard-coded headers.  Instead, take a new
89513         parameter.
89514         (jm_CHECK_DECLARATIONS): Reflect interface change.
89515         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
89516         (jm_CHECK_DECL_LOCALTIME_R): New macro.
89517
89518         * m4/mktime.m4: Test for spring-forward gap before long-running test.
89519
89520 1998-10-14  Jim Meyering  <meyering@ascend.com>
89521
89522         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
89523         instead of "TZ=America/Vancouver".  From Paul Eggert.
89524
89525 1998-10-11  Jim Meyering  <meyering@ascend.com>
89526
89527         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
89528         This adds a test for a recently added compatibility fix for mktime.c.
89529         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
89530
89531 1998-09-27  Jim Meyering  <meyering@ascend.com>
89532
89533         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
89534
89535         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
89536         ../configure.in, including a change from Gordon Matzigkeit to allow
89537         cross-compiling for the Hurd.
89538
89539         * m4/glibc.m4: New file/macro to test for the GNU C Library
89540         versions 1 and 2.  From Gordon Matzigkeit.
89541         Indent.
89542
89543 1998-09-21  Jim Meyering  <meyering@ascend.com>
89544
89545         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
89546
89547 1998-08-18  Paul Eggert  <eggert@twinsun.com>
89548
89549         Port nanosecond-resolution times to UnixWare 2.1.2 and
89550         pedantic Solaris 2.6.
89551
89552         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
89553         AC_STRUCT_ST_MTIM.
89554         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
89555         Generate name of ns member, instead of just 1 or undef.
89556         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
89557
89558 1998-08-15  Jim Meyering  <meyering@ascend.com>
89559
89560         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
89561         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
89562         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
89563         instead of jm_TYPE_SSIZE_T.
89564
89565 1998-08-12  Jim Meyering  <meyering@ascend.com>
89566
89567         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
89568
89569 1998-08-02  Jim Meyering  <meyering@ascend.com>
89570
89571         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
89572         in acconfig.h manually.
89573
89574 1998-07-31  Paul Eggert  <eggert@twinsun.com>
89575
89576         * m4/st_mtim.m4: New file.
89577
89578 1998-07-28  Jim Meyering  <meyering@ascend.com>
89579
89580         * m4/utimes.m4: Undef stat.
89581
89582 1998-07-25  Jim Meyering  <meyering@ascend.com>
89583
89584         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
89585         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
89586
89587 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
89588
89589         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
89590         uid and gid actually remain unchanged.
89591
89592 1998-07-07  Jim Meyering  <meyering@ascend.com>
89593
89594         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
89595
89596 1998-07-04  Jim Meyering  <meyering@ascend.com>
89597
89598         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
89599         to prove that this macro can be used in packages without regex.c.
89600
89601 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
89602
89603         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
89604         is to be used.
89605
89606 1998-07-03  Jim Meyering  <meyering@ascend.com>
89607
89608         * m4/gettext.m4: Add -lintl if it's found to be necessary.
89609
89610         * m4/gettext.m4: New file -- from gettext-0.10.35.
89611         * m4/lcmessage.m4: Likewise.
89612         * m4/progtest.m4: Likewise.
89613
89614         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
89615         * m4/jm-macros.m4: Require the new macro.
89616
89617 1998-06-29  Jim Meyering  <meyering@ascend.com>
89618
89619         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
89620         for the definition of NGROUPS (used in a system header included
89621         by sys/mount.h).
89622
89623 1998-06-28  Jim Meyering  <meyering@ascend.com>
89624
89625         * m4/ls-mntd-fs.m4: New file.
89626         * m4/fstypename.m4: New file.
89627
89628         * m4/jm-macros.m4: Require the new macro.
89629         * m4/jm-glibc-io.m4: New file.
89630
89631 1998-05-19  Jim Meyering  <meyering@ascend.com>
89632
89633         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
89634         * m4/lchown.m4: New file.
89635
89636         * m4/Makefile.am.in: New file.
89637         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
89638
89639 1998-05-14  Jim Meyering  <meyering@ascend.com>
89640
89641         * m4/Makefile.am (EXTRA_DIST): Add them.
89642         * m4/jm-macros.m4: New file.
89643         * m4/utimbuf.m4: New file.
89644
89645 1998-05-12  Jim Meyering  <meyering@ascend.com>
89646
89647         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
89648
89649 1998-05-11  Jim Meyering  <meyering@ascend.com>
89650
89651         * m4/isc-posix.m4: New file.
89652
89653 1998-05-10  Jim Meyering  <meyering@ascend.com>
89654
89655         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
89656
89657 1998-05-09  Jim Meyering  <meyering@ascend.com>
89658
89659         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
89660         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
89661         with automake.
89662
89663         * m4/ssize_t.m4: New file.
89664         * m4/mktime.m4: Remove file -- the new automake has this now.
89665
89666 1998-04-26  Jim Meyering  <meyering@ascend.com>
89667
89668         * m4/assert.m4: New file.
89669         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
89670
89671 1998-04-05  Jim Meyering  <meyering@ascend.com>
89672
89673         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
89674         (jm_PREREQ): Use it here.
89675
89676 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
89677
89678         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
89679         in acconfig.h.
89680
89681 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
89682
89683         * m4/prereq.m4: New file.
89684         * m4/error.m4: New file.
89685         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
89686
89687 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
89688
89689         * m4/getline.m4: Don't set am_cv_func_working_getline before the
89690         cache-check for the same variable -- that defeated the purpose of
89691         the test; the test program was never run.  This was a problem only
89692         on systems with losing getline functions -- HP-UX 10.20 is one.
89693         Reported by Bjorn Helgaas.
89694
89695 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
89696
89697         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
89698
89699 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
89700
89701         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
89702
89703         * m4/const.m4: New file.  Use an initializer in this declaration
89704         typedef int charset[2]; const charset x;
89705         Reported by Bob Glickstein.
89706
89707 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
89708
89709         * m4/chown.m4: Fix reversed types on -1 args to chown.
89710         From Kaveh Ghazi.
89711
89712 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
89713
89714         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
89715         Add lseek and memchr.
89716
89717         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
89718         T.E.Dickey <dickey@clark.net> said that some older preprocessors
89719         have a 20-character limit on names.
89720
89721 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
89722
89723         * m4/inttypes_h.m4: New file.
89724         * m4/uintmax_t.m4: New file.
89725         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
89726
89727
89728         -----
89729
89730         Local Variables:
89731         coding: utf-8
89732         End:
89733
89734         Copyright (C) 1997-2011 Free Software Foundation, Inc.
89735
89736         Copying and distribution of this file, with or without
89737         modification, are permitted provided the copyright notice
89738         and this notice are preserved.